У меня есть точки трека урагана, которые я преобразовал в линии в QGIS:
https://i.imgur.com/PUOTpsi.png
https://i.imgur.com/5cbCdX2.png
Я сохранил оба файла в виде шейп-файлов и загрузил их вR используя пакет sf
. Точки будут построены с использованием стандартной функции plot()
, но линии не будут.
Я столкнулся с ошибкой:
plot(hurricane_paths)
Error in CPL_geos_is_empty(st_geometry(x)) :
Evaluation error: IllegalArgumentException: point array must contain 0 or >1 elements.
У меня такая же ошибка, когда я использую plot(st_geometry(hurricane_paths))
R определенно загружается в геометрии, хотя:
> hurricane_paths
Simple feature collection with 1410 features and 5 fields
geometry type: LINESTRING
dimension: XY
bbox: xmin: -179.9 ymin: -4.9 xmax: 8 ymax: 70.7
epsg (SRID): 4269
proj4string: +proj=longlat +datum=NAD83 +no_defs
First 10 features:
N.A begin end Year N.A_1 geometry
1 1976143N24271 <NA> <NA> 1976 SUBTROP:UNNAMED LINESTRING (-89 24, -89.6 2...
2 1976155N11265 <NA> <NA> 1976 ANNETTE LINESTRING (-95 11.4, -95.2...
3 1976159N27281 <NA> <NA> 1976 UNNAMED LINESTRING (-79 26.8, -78.5...
И st_geometry(hurricane_paths)
возвращает
Geometry set for 1410 features
geometry type: LINESTRING
dimension: XY
bbox: xmin: -179.9 ymin: -4.9 xmax: 8 ymax: 70.7
epsg (SRID): 4269
proj4string: +proj=longlat +datum=NAD83 +no_defs
First 5 geometries:
LINESTRING (-89 24, -89.6 24.8, -90 25.4, -90.5...
LINESTRING (-95 11.4, -95.2 11.7, -95.3 12.1, -...
LINESTRING (-79 26.8, -78.5 28, -78.1 29.2, -77...
LINESTRING (-81 26.5, -78.5 28.2, -76.2 30, -73...
LINESTRING (-103 16, -104.1 15.8, -105.1 15.8, ...
Я уже проверил NA в моем столбце геометрии:
> which(is.na(hurricane_paths$geometry)==T)
integer(0)
plot_sf()
не возвращает никакого сообщения об ошибке, но возвращает пустой экран на панели графиков, так что это тоже не нужно.
Но ggplot2 великолепен и возвращаетграфика, без проблем:
> ggplot() +
+ geom_sf(data = hurricane_paths)
Mapview тоже в порядке: > mapview::mapview(hurricane_paths)
Но основная функция plot()
остается упрямой. В чем может быть проблема?