javascript - proj4 将世界坐标转换为自定义本地框架,也就是如何设置 proj.def()
问题描述
这是芝加哥北河中心的世界坐标,41.892571, -87.630712
这里是我希望我的坐标系基于的地方41.881984 -87.629437
(循环中的北河以南,麦迪逊和州 st)我需要一个proj.def(<help_here>)
这样,当我改造河流时北坐标到我的新坐标系,从原点向北 x 米,向西 x 米(在麦迪逊和州)
proj4.defs('chicagoFrame', "+proj=merc +lat_0=41.881984 +lon_0=-87.629437 +units=m +no_defs")
这是我迄今为止尝试过的,但我得到了 [ -1323.1922680083949, 5117321.60498216 ] 这已经很遥远了。意思是它在原点以西 1.3 公里和以西 5,000 公里
正确的答案应该是向北约 1 公里,向西约 0.1 公里
我的目标是获得本地坐标,所以我可以说“用户距离最近的邮局 x 米”,而且我知道的很少,我不认为你可以相互减去坐标,即使你这样做需要将度数转换为米
解决方案
所以我反向设计了一个解决方案,但我不知道它为什么起作用,或者什么是东/北以及你为什么需要它。我将原点和目标坐标设置为相同的位置41.881984 -87.629437
并运行
proj4.defs('chicagoFrame', "+proj=merc +lat_0=41.881984 +lon_0=-87.629437 +units=m +no_defs")
proj4('chicagoFrame', [-87.62699284257677, 41.88005153127081])
预期的输出是[0,0]
,但我得到了[0, 5114784.278651999]
,所以我调整了 y_0 值
proj4.defs('chicagoFrame', "+proj=merc +lat_0=41.881984 +lon_0=-87.629437 +y_0=-5114784.278651999 +units=m +no_defs")
哪个输出[0,0]
,现在我有一个可以工作的投影,但更好地了解 proj4js 的工作原理
推荐阅读
- python - 在 Python 类中使字典可迭代
- python - PANDAS .where str.count < n str.replace
- soap - SoapUI 更新所有项目的密钥库/证书
- r - 闪亮的仪表板更改 slectInput 的背景颜色
- react-native - 如何确定特定排毒测试在哪个平台上运行?
- android - 如何使类型转换器与包含列表的自定义类列表一起使用?
- html - 包含 2 个或更多“OR”条件的 XPath 不起作用?
- javascript - 如何设置 VS Code 为网页中嵌入的 3rd 方 javascript 库提供自动完成和提示?
- neo4j - Neo4j 比较两个数组,Cypher Query
- javascript - 函数getfloat上的“出了点问题”错误