чтение и построение файла формы esri в R

у меня возникли трудности с чтением в a .shp (esri shape file) в R. я попробовал несколько вариантов в R и попытался преобразовать файл формы в ArcMap в то, что правильно читается в файле формы, но ничего не сработало. (В ArcMap я исправил геометрию, преобразованную из single в multipolygon и т. д., что, вероятно, не было необходимо или актуально)

вероятно, это связано с тем, что мой файл формы содержит "области" (многоугольники) вместо "полигоны"...

Как я могу правильно прочитать этот тип файла формы в R для построения графика? (это выглядит как нормальная форма в ArcMap)

в ArcMap файл формы выглядит следующим образом: http://bfast.r-forge.r-project.org/arcmapshape.jpg

(показывает файл формы с полигонами внутри других полигонов)

в R это выглядит так: enter image description here

(показывает файл формы, где некоторые полигоны неправильно заполнены)

я использовал следующий код в R:

require(maptools)
require(rgdal)

newproj <- "+proj=utm +zone=55 +south +ellps=GRS80 +units=m"
shape<- readShapeSpatial(pdir, proj4string = CRS(newproj),repair=TRUE,force_ring=T,verbose=TRUE) # without any errors
plot(shape, col="gray",border="blue", axes=TRUE)

# via rgdal
folder <- c("spatial")
lyr <- c("clipped_forest_mga")
shp <- readOGR(dsn=folder,layer=lyr)
plot(shp, col="gray",border="blue", axes=TRUE)

обе команды plot () дают один и тот же результат R. Ошибок не возникает. только следующее сообщение

OGR data source with driver: ESRI Shapefile 
Source: "P:/Victoria_DSE/BFAST_spatial/vector/PLM_excl_fire03_09_GDA94LL/mgaz94z55/clipped_EG", layer: "clipped_forest_mga"
with 1 features and 4 fields
Feature type: wkbMultiPolygon with 2 dimensions

Как это можно решить?

1 ответов


января,

ваш шейп-файл, вероятно, был прочитан правильно. Более вероятно, что заговор был неправильным. Попробуйте spplot () вместо plot ():

spplot(shp, col.regions="gray", col="blue")

Если ваш шейп-файл имеет более одного столбца (что вероятно), добавьте zcol= 1 (или любой другой столбец), чтобы получить только одну панель

spplot(shp, zcol=1, col.regions="gray", col="blue")

Если вы действительно хотите использовать сюжет, вы должны установить цвет фона, потому что в противном случае он будет печатать прозрачные отверстия. Поэтому установите pbg= "белый". Попробуйте:

plot(shp, col="gray", border="blue", axes=TRUE, pbg="white")

кстати, список, на который, я думаю, ссылался Дирк, это R-sig-Geo и вы можете найти там много ответов и задать много вопросов, связанных с sig.