Как разместить данные PolySet в пакете PBSmapping? - PullRequest
1 голос
/ 23 февраля 2012

Это репост из gis.stackexchange .Вопрос довольно длинный и подробный , поэтому я не буду его повторять.Простая проблема в том, что я не могу найти способ поднабора данных PolySet, используемых в пакете PBSmapping.Одним из вариантов будет преобразование в SpatialPolygons с maptools , его поднабор и преобразование обратно в PolySet, но, очевидно, это всего лишь обходной путь.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

4 голосов
/ 23 февраля 2012

Вы ищете атрибут:

df[attr(df, "PolyData")$NAME_1 == 'Bumthang',]

EDIT:

Будет ли это работать?

Аргумент col обозначает цвет и связан со значением PID.

df$Z='white'
df[attr(df, "PolyData")$NAME_1 == 'Bumthang',]$Z ="red"

plotPolys(df,col=df$Z)

enter image description here

Вы также можете поиграть с аргументом border, который дает цвет границ. Если вы поставите «белый», то единственным регионом, который будет отображаться, будет Бумтханг.

Примерно так будет работать:

df$W = 'white'
#borders of the region
df[attr(df, "PolyData")$NAME_1 == 'Bumthang',]$W ="red"
plotPolys(df,col=df$Z,border=df$W)

enter image description here

0 голосов
/ 04 марта 2012

Как насчет использования другой библиотеки для подмножества файла?Вы можете поместить данные с помощью rgdal, сохранить в файл, импортировать шейп-файл, содержащий подмножество, и построить его с помощью PBSMapping.

library(rgdal)
library(PBSmapping)

df <-  readOGR(".","df")
subset <- df[df$NAME_1=="Bumthang",]
writeOGR(subset, ".", "bumthang", driver="ESRI Shapefile")
bum = importShapefile("bumthang.shp")
plotPolys(bum, projection=TRUE)

enter image description here

Или вы можете вообще отказаться от PBSmapping.

 plot(subset, axes=TRUE)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...