turfjs可以提供地理坐标和应用程序坐标之间的坐标转换吗

2024-03-03

我需要从地理坐标系统到另一个坐标系统的转换。 我认为最明显的方法是给出系统的两个边界框。

因此,如果我有一个经/纬度坐标的地理 bbox,以及一个与之对应但在我自己的坐标中的非地理 bbox,我想要一个可以将地理到我和我到地理转换的 xfm 。

我需要这个基于代理的编程环境,它有自己的基于 minX、minY、maxX、maxY 的坐标系统,就像 Turf 表达 bbox 一样。例如,它还可以用于在画布中的地理坐标和像素之间进行转换。

我在 Turf 中找不到这样的坐标变换,但我可能会错过它,或者可能有一种简单的方法可以使用 Turf 基元来完成此操作。

有没有办法使用 Turf 进行这样的坐标变换?


I'd use proj4js http://proj4js.org/它处理投影转换。 您的画布可以表示为伪墨卡托 https://epsg.io/3857([x,y]) 而草皮将继续工作WGS84 https://epsg.io/4326([经度,纬度])。

const xyCoordsToLatLong = (xy_pair) => {
    return proj4(PSEUDO_MERC_DATUM, WGS84_DATUM, xy_pair);
}

const latLongCoordsToXY = (latlong_pair) => {
    return proj4(WGS84_DATUM, PSEUDO_MERC_DATUM, latlong_pair);
}

然后,bbox的画布[0,0,500,200]将表示为[0, 0, 0.004491576420597608, 0.0017966305679443192].

完整演示here https://runkit.com/jzzfs/5eaf33dbe621b3001a167107.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

turfjs可以提供地理坐标和应用程序坐标之间的坐标转换吗 的相关文章

随机推荐

  • 需要一种算法来像素化 n 维超球面

    我想将向量放入 n 维空间中 这可以通过对 n 维超球面的表面进行像素化来完成 有谁知道用 C 语言对超球面进行像素化有什么好的算法吗 我想要恒定的垃圾箱大小 我的空间仅由正整数组成 您需要您的垃圾箱完全规则吗 如果不是 则随机抛出点 并测
  • 按因子列安全合并数据框

    因子可以帮助防止 R 中的某些编程错误 您无法对使用不同级别的因子执行相等检查 并且在对无序因子执行大于 小于检查时会收到警告 a lt factor letters 1 3 b lt factor letters 1 3 levels l
  • Doctrine 2.0 select查询问题?

    我的朋友 我是 DOctrine 2 0 的新手 我已经配置了 但它不起作用 我有一张桌子 abctable 在数据库中 xyzdb id name age 1 Abc 23 2 Ijk 21 3 Mno 32 Table name abc
  • Visual Studio 装饰扩展事件未被触发

    我正在尝试为我的视觉工作室插件创建一个基本的装饰功能 我已经有一个工具窗口和一些命令设置 我正在尝试让 adronment 工作 按照此走过 https msdn microsoft com en us library ee818135 a
  • Django 1.9 import_module 的导入错误

    当尝试运行任一runserver or shell using manage py我得到一个ImportError例外 我正在使用 Django 1 9 ImportError No module named django utils im
  • Android安装-sdk manager.exe不起作用

    我从developer android com安装了适用于Windows的android SDK installer r08 windows exe 我安装到默认位置 C Program Files Android android sdk
  • Java Spring Boot 的 Docker 基础镜像(`FROM`)是什么?

    什么 Docker 基础镜像 FROM 对于 Java Spring Boot 应用程序 我刚刚开始使用 docker 我看到了FROM inside Dockerfile可以为Java定义图像 例如 FROM java 8 如果我使用 G
  • 405 不允许的方法

    我试图访问https api box com 2 0 files但我收到Expected status code in 200 299 got 405在我的回复中 来自 AFNetworking 在发送请求之前 我已从服务器获取了我的 au
  • Spring Security Oauth2 AuthenticationSuccessEvent 在每个请求时发布

    我正在使用 Spring Security Oauth2 来保护我的 Spring Boot REST 应用程序 我想在用户登录成功和失败后处理一些操作 问题是每个 当我使用用户不记名令牌发送请求时 AuthenticationSucces
  • 如何在Python中使用JSONDecoder?仅获取内部字典进行解码

    我有一个 JSONEncoder 和 JSONDecoder class SimpleTargetJSONEncoder json JSONEncoder converts a SimpleTarget to a Dict so it ca
  • 对象不支持张量流中的项目分配

    在之前的简单程序中 我无法执行简单的任务并收到以下错误 import tensorflow as tf x 1 tf constant 1 2 3 x 1 tf reshape x 1 shape 1 3 x 2 tf constant 2
  • SQLite UTF-8 编码

    我尝试运行脚本 read FILE 具有 UTF 8 字符串 我使用了 pragma 命令 PRAGMA encoding UTF 8 但我得到了错误的字符 如果我自己创建表并插入值 则一切正常 我应该怎么做才能正确运行脚本 顺便说一下 我
  • JMSi18nRoutingBundle 语言选择器

    我已经实现了以下语言切换器 ul if path app request attributes get route li a href ES a li li a href EN a li li a href IT a li else ul
  • 返回 32(或 64)位的 python 哈希函数

    我正在寻找一个返回 32 或 64 位的哈希函数 我尝试了 hashlib 中的 md5 例如 import hashlib hashlib md5 b H hexdigest gives c1d9f50f86825a1a2302ec244
  • jQuery的append()与appendChild()

    这是一些示例代码 function addTextNode var newtext document createTextNode Some text added dynamically var para document getEleme
  • 集成appodeal时出现重复输入错误

    error 错误 任务 app transformClassesWithJarMergingForDebug 执行失败 com android build api transform TransformException java util
  • 从 Class[A] 获取 TypeTag[A]

    I have createOld我需要重写并且无法更改它的方法 我想用TypeTag模式匹配提供的类型createNew 目标是找出如何调用createNew from createOld 我目前的理解是编译器没有足够的类型信息A in c
  • MFC winMain 如何最终进入可执行文件?

    In MFC wWinMain定义于appmodul cpp 据我所知 该文件内置于 mfc90ud dll 中 但是 当我运行我的应用程序时 调用堆栈显示MyApplication exe wWinMain 它是如何采取的wWinMain
  • 通过 Nestjs 从 url 下载图像

    我想从电报帐户下载用户个人资料图片 并使用 Nestjs 框架将其存储在本地存储中 Controller export class Controller constructor private readonly httpService Ht
  • turfjs可以提供地理坐标和应用程序坐标之间的坐标转换吗

    我需要从地理坐标系统到另一个坐标系统的转换 我认为最明显的方法是给出系统的两个边界框 因此 如果我有一个经 纬度坐标的地理 bbox 以及一个与之对应但在我自己的坐标中的非地理 bbox 我想要一个可以将地理到我和我到地理转换的 xfm 我