Преобразовать координаты из карты в простые координаты (X: 0 - 1019, Y: 0 - 700) - PullRequest
0 голосов
/ 09 июня 2018

У меня интересная проблема.Я пишу программу, которая читает файл JSON .В файле JSON находятся координаты с карты.Например: "точка": {"х": 13.072789, "у": 52.388527}.Далее у меня есть карта в Панель (JavaFx).Панель имеет фон - изображение (Карта Берлина):

введите описание изображения здесь

На изображении я указал точки координат.

Поэтому мне нужно нарисовать точки на моем изображении (карте).

Например: PointOne: Из JSON: {"x": 13.072789, "y": 52.388527}

      On Image: X:132.0 Y:553.0

PointTwo: От JSON: {"x": 13.57957, "y": 52.462065}

      On Image: X:585.0 Y:384.0

Изображениев Панель имеет координаты X : 0 - 1019 Y : 0-700

Так что я не понимаю, как это сделать.Я имею в виду, как найти относительность.Я пытался использовать разницу, но безуспешно.

Я надеюсь на вашу помощь, потому что понятия не имею: (

Извините, если вы меня не понимаете. Я пытаюсьобъясните мою проблему.

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Ваши координаты JSON - это значения долготы / широты в градусах.Чтобы проверить это, просто вставьте 52.388527, 13.072789 в карты Google.

Для целей картирования эти координаты должны быть спроецированы в декартовы координаты x / y.Это делается с помощью так называемой картографической проекции.В Интернете очень распространена веб- или псевдо-проекция Меркатора, но мы не можем знать, использовалась ли она для изображения вашей карты без дополнительной справочной информации.Вы можете посмотреть формулу для Mercator в Википедии.Если у вас есть значения x / y, вы можете преобразовать их в пиксели с помощью простого аффинного преобразования.

Общая тема, которую вы должны искать: https://en.wikipedia.org/wiki/Georeferencing

0 голосов
/ 09 июня 2018

Я думаю, что лучшее решение вашей проблемы - использовать Java-компонент maps для отображения координат в виде карты.

Я использовал https://rterp.github.io/GMapsFX/ этот API в некоторых личных проектах.С его помощью вы сможете отобразить панель карты Google в качестве компонента Java FX и использовать ее простым способом.

Надеюсь, это поможет

...