#r #geolocation #maps #geospatial
#r #геолокация #Карты #геопространственный
Вопрос:
Я строю данные с геокодированием с помощью функции mapview
. Пример моего кода гласит:
locations_sf <- st_as_sf(locations, coords = c("LONGITUDE", "LATITUDE"), crs = 4326)
mapview(locations_sf,cex=locations$FR,color="black",legend = FALSE,label=locations$NAME)
Пока это работает нормально. Однако мои данные из США, и я хотел бы добавить линии состояния на карту. До сих пор я не нашел, как это сделать в mapview
. Есть предложения?
Ответ №1:
Хороший вопрос. Вероятно, наиболее важные вещи, которые следует учитывать перед началом, — это то, откуда вы получаете свои геоданные и какой тип геоданных вы хотите использовать.
Доступно множество источников набора данных, и большинство пакетов R имеют некоторые отображаемые goedata. Отличный источник геоданных — с веб-сайта:
Этот веб-сайт предоставляет большой выбор геоданных. Чтобы получить данные для США с границами штатов, выберите США из выпадающего списка страны, а затем выберите USA_1 для требуемого уровня детализации. USA_0 не показывает границы отдельных штатов, USA_1 показывает границы штатов, а USA_2 показывает границы округа и штата.
Вам нужно будет решить, какой из двух обычно используемых типов геоданных вы хотите: sp или sf. Я выбрал тип данных sf для этого примера, потому что данные sf просты в использовании. Данные, показанные в вашем примере, были преобразованы из sp в формат sf.
После загрузки файла, чтения и присвоения переменной штаты Гавайи и Аляска удаляются из данных. Это упрощает использование карты, содержащей только континентальные 48 штатов.
После этого данные отображаются с помощью mapview(), и открывается вкладка браузера с отображением карты. Здесь не использовался ни один из параметров форматирования mapview(). Код следует:
df_1 <- readRDS("C:/python/datasets/GADM_Maps/US/gadm36_USA_1_sf.rds")
head(df_1, 3)
df49 <- df_1[df_1$NAME_1 != "Alaska", ] # remove AK from data
df48 <- df49[df49$NAME_1 != "Hawaii", ] # remove HI from data
mapview(df48$geom)
Страницу браузера mapview можно просмотреть по этой ссылке:
Комментарии:
1. Спасибо за очень подробный ответ! Это очень полезно.