Создание карты на основе адреса или координат xy - преобразовать в широту и долготу?

У меня, вероятно, очень простой вопрос (я новичок в R), но после некоторого поиска мне не удалось найти то, что я искал.

Мне нужно создать карту в R. Желательно с пакетами Leaflet, но я абсолютно открыт для других предложений. Мои данные вызывают проблемы. У меня есть адреса и координаты x y для всех точек, но большинству картографических пакетов нужны данные широты и долготы.

Есть ли способ довольно легко преобразовать адреса или координаты x y?

Я читал, что это должна делать функция геокодирования, но Google требует, чтобы для этого работал API, и я должен признать, что в этот момент я потерялся.

Данные содержат около 50 точек, поэтому было бы неплохо иметь метод массового преобразования в широту и долготу.

Заранее большое спасибо.

Пример координат x,y

Name     x       y
Point_1  556305  6306381

Долгота-широта может быть легко нанесена на листовку. Прочтите документацию по sf-package. Эпизоды 1–6 находятся здесь: r-spatial.github.io/sf/articles/sf1.html. Если ваши данные не являются долготой и широтой, укажите, какие координаты XY используются в ваших примерных данных.

Wimpel 08.04.2019 13:53

Вы знаете, какая система координат используется для XY-координат?

Wimpel 08.04.2019 14:06

Я не знаю. На веб-сайте, с которого извлекаются данные, не упоминается, какая система используется. Возможно, это System 34 (местный датский).

JS93 08.04.2019 14:09

Является ли Тримбак опечаткой (т. е. это Тримбак, Индия)? Нам нужно выяснить, в какой CRS находятся данные. Пожалуйста, отредактируйте свой вопрос и дайте ссылку на данные, если это возможно, или, если ваши данные загружены в R, получите CRS с помощью sf::st_crs() и опубликуйте вывод.

Phil 08.04.2019 14:11

Нам действительно нужно знать, что такое CRS, иначе, к сожалению, мы мало что можем сделать. В качестве альтернативы вы можете геокодировать исходные адреса philmikejones.me/tutorials/….

Phil 08.04.2019 14:28

Trinbak — это не опечатка (Trinbak, Дания). команда sf::st_crs() не может найти систему (выход NA). Я предполагаю, что это System 34 (местный датский). И большое спасибо за всю вашу помощь до сих пор. `sf::st_crs(Mappe1) Система отсчета координат: NA`

JS93 08.04.2019 14:29
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
945
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

что-то вроде этого?

искал crs, используя: https://epsg.io/?q=денмарк

образец данных

df <- data.frame( city = "Trinbak", lon = 556305, lat = 6306381 )

код

library(sf)
library(leaflet)

df.sf <- st_as_sf( df, coords = c("lon", "lat") ) %>%
  st_set_crs( 2198 ) %>%   #set coordinate system used
  st_transform( 4326 )     #transform coordinates to WGS84 coordinates

leaflet() %>% addTiles() %>% addMarkers( data = df.sf )

выход

Обновить

возможно

df.sf <- st_as_sf( df, 
                   coords = c("lon", "lat") ) %>%
  st_set_crs( 23032 ) %>%
  st_transform( 4326 )

точнее?

Да! Хотя, похоже, это не совсем правильная позиция. Но это может быть ошибка в моей базе данных. Спасибо большое. :)

JS93 08.04.2019 14:37

Возможно, я не использовал правильный crs в строке st_set_crs( 2198 ). Вам придется поэкспериментировать с этим!

Wimpel 08.04.2019 15:03

Другие вопросы по теме