Я импортировал шейп-файл с использованием readOGR (из пакета 'rgdal') и получил SpatialPolygonsDataFrame. Когда я использую функцию «Rasterize» (из пакета «растр») я получаю этот http://img15.hostingpics.net/pics/427269plot.png Но я хочу растеризации только края, так что я могу получить GeoTiff, который выглядит, как этот http://img15.hostingpics.net/pics/270288Rplot.png Любая идея? (Я новичок в R!) Спасибо заранее!R - Растрировать только края SpatialPolygonsDataFrame
ответ
Вы можете сделать это с помощью raster
и sp
, используя тип объекта . Попробуйте этот пример и substitue spdf
с именем импортированного шейпа:
spdf <- readShapePoly(system.file("shapes/sids.shp", package="maptools")[1]) # Read in your datafile. You can use readOGR or readShapePoly, it doesn't really matter.
sldf <- as(spdf , "SpatialLinesDataFrame") # Create a lines object. This gives you the borders of the polygons
r <- raster(nrow = 180 , ncols = 360 , ext = extent(spdf)) # Create a template raster file which will form the mask you will rasterzie to (so if you want a more precise
r <- rasterize(sldf , r) # Depending on the resolution of your target raster and the complexity of your shapefile this may take a few seconds or a few minutes to run
Вы можете сохранить растровый файл, как вы хотите.
plot(spdf)
plot(r)
Это именно то, что я хочу сделать! благодаря! –
В общем, чтобы получить многоугольник данные, приведенные на ggplot2
:
library(ggplot2)
# Convert the SpatialPolygons object to a data.frame, which ggplot2 needs
poly_data_frame = fortify(poly_spatialpolygon)
ggplot(poly_data_frame, aes(x = x, y = y)) + geom_polygon(fill = "transparent")
ggsave("poly_plot.png")
теперь вы в конечном итоге с полигона участка в файл PNG без каких-либо цветов внутри полигонов.
Спасибо за ваш ответ. Poly_spatialpolygon - это мой SpatialPolygonsDataFrame? шейп-файл, загруженный с помощью readOGR()?) И что, если я хочу сохранить его как GeoTiff? (tif + tfw) Извините, но я очень новичок в R! Спасибо заранее –
Это решение с ggplot2 предоставляет только изображение, а не привязанный к географии. И ваше предположение о poly_spatialpolygon верное. –
Итак, что я могу сделать, если хочу геотип? –
- 1. R - Rasterize SpatialPolygonsDataFrame - измененные переменные/атрибуты
- 2. Дисплей SpatialPolygonsDataFrame на карте лифтов с R
- 3. Подмножество SpatialPolygonsDataFrame
- 4. R и Igraph края
- 5. Как я могу определить SpatialPolygonsDataFrame с помощью другого SpatialPolygonsDataFrame?
- 6. Растрировать динамически сгенерированный SVG
- 7. Растрировать пространственные полигоны в R, дающие растровые значения с значениями NA
- 8. Создание списка края в R
- 9. R Shiny: Использование большого SpatialPolygonsDataFrame в моем блестящем приложении
- 10. R Levelplot накладывая два SpatialPolygonsDataFrame на RasterLayer проекции
- 11. R - использование данных shapefiles/SpatialPolygonsDataFrame для цветных/заливочных ggplots
- 12. В R, как мне присоединиться и подмножество SpatialPolygonsDataFrame?
- 13. Использование Rcartogram на объекте SpatialPolygonsDataFrame
- 14. Цвет только одного края div?
- 15. Растрировать случайные пространственные точки не работает
- 16. R/Igraph Показать края в списке краев?
- 17. Как реально растрировать текст в ActionScript 3?
- 18. R_Extracting of координат из SpatialPolygonsDataFrame
- 19. Выровнять текст до края сетки R
- 20. Условия края в igraph в R
- 21. получить пустой SpatialPolygonsDataFrame через подмножество?
- 22. Значение координат() для объекта SpatialPolygonsDataFrame?
- 23. Сочетание SpatialPolygonsDataFrame двух соседних стран
- 24. Merge кадр данных с SpatialPolygonsDataFrame
- 25. Создание списка края с дополнительными переменными R
- 26. Импорт списка края в igraph в R
- 27. igraph пакет в r: метки края перекрываются
- 28. Ширина края стержней в графиках R
- 29. Как растрировать вид из другого потока?
- 30. Устранить поведение странно на adm0 SpatialPolygonsDataFrame
могли бы вы предоставить воспроизводимый пример? Если вы просто хотите построить многоугольник с цветами, посмотрите на 'ggplot2' или (проще)' spplot'. –
Я хочу преобразовать шейп-файл в tiff без заполнения полигонов цветами. Я хочу преобразовать только края. (Первое изображение - это мой результат с использованием графика (растеризовать (форма, растр)), второе изображение - это то, что я хочу иметь в моем tiff (что совпадает с моим шейп-файлом) –