Извлечение пар координат для строки

#r #ggplot2 #geospatial #polygon #spatial

#r #ggplot2 #геопространственные #многоугольник #пространственное

Вопрос:

У меня есть куча областей, определенных следующими данными

 MULTIPOLYGON (((-82.38155821054295 29.777919007756058, -82.37586672057267 29.777692426264537,...))
  

Мне интересно, есть ли какой-либо простой способ преобразовать эти строки в формат, который можно использовать либо с помощью пакета {sf}, либо если есть рецепт, который может преобразовать пару внутри строки в соответствующие столбцы lat / lon.

Заранее спасибо.

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

1. можете ли вы поделиться фактическими данными? было dput() бы достаточно принять данные multipolygon в качестве аргумента..

2. Конечно, полный набор данных общедоступен здесь: data.cityofgainesville.org/Geospatial-Maps -/…

3. Вот одна строка dput() выходных данных: pastebin.com/5xJkKwgx

Ответ №1:

Ваши данные уже находятся в формате (WKT), который может быть прочитан sf .

 df <- read.csv("https://data.cityofgainesville.org/api/views/w6hi-8tsw/rows.csv?accessType=DOWNLOAD")

sf::st_as_sfc(df$the_geom)
#> Geometry set for 24 features 
#> geometry type:  MULTIPOLYGON
#> dimension:      XY
#> bbox:           xmin: -82.42229 ymin: 29.5929 xmax: -82.22238 ymax: 29.77834
#> CRS:            NA
#> First 5 geometries:
#> MULTIPOLYGON (((-82.38156 29.77792, -82.37587 2...
#> MULTIPOLYGON (((-82.34404 29.7036, -82.34362 29...
#> MULTIPOLYGON (((-82.40023 29.67428, -82.40003 2...
#> MULTIPOLYGON (((-82.33932 29.64188, -82.33933 2...
#> MULTIPOLYGON (((-82.33221 29.61823, -82.33225 2...