proj4 конвертирует мировые координаты в пользовательский локальный фрейм. - PullRequest
0 голосов
/ 18 февраля 2020

здесь - мировая координата центра северной реки, chica go 41.892571, -87.630712, и здесь я хочу, чтобы моя система координат базировалась от 41.881984 -87.629437 (к югу от севера реки в l oop, Мэдисон и штат Ст.) Мне нужно proj.def(<help_here>), чтобы при преобразовании северной координаты реки в мою новую систему координат она находилась на расстоянии х метров к северу и х метров к западу от начала координат (в Мэдисоне и штате)

proj4.defs('chicagoFrame', "+proj=merc +lat_0=41.881984 +lon_0=-87.629437 +units=m +no_defs") это то, что я пробовал до сих пор, но я получаю [-1323.1922680083949, 5117321.60498216], что далеко. это означает, что его 1,3 км к западу и 5000 км к западу от источника

правильный ответ должен быть ~ 1 км к северу и ~ 0,1 км к западу

моя цель - иметь локальные координаты, чтобы я мог сказать "a Пользователь находится на расстоянии х метров от ближайшего почтового отделения ", и из того небольшого, что я знаю, я не думаю, что вы можете просто вычесть координаты друг из друга, и даже если вам нужно преобразовать разницу в градусах в метры

1 Ответ

0 голосов
/ 18 февраля 2020

так что я реверс-инжиниринг решения, но я понятия не имею, почему оно работает, или что такое восток / север и зачем вам это нужно. я установил, но исходные и целевые координаты в том же месте 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] и теперь у меня есть проекция, которая работает, но лучше понять, как работает proj4 js

...