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

#r #coordinates #geocoding #ggmap #r-leaflet

#r #координаты #геокодирование #ggmap #r-листовка

Вопрос:

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

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

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

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

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

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

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

 Name     x       y
Point_1  556305  6306381
  

Комментарии:

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

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

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

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

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

Ответ №1:

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

поиск crs с помощью: https://epsg.io/?q=denmark

пример данных

 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 )
  

является ли более точным?

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

Комментарии:

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

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