Как получить подмножество из шейп-файла с правильным контуром? - PullRequest
0 голосов
/ 13 октября 2019

У меня есть шейп-файл Гималайского региона Гиндукуша, который можно найти в http://rds.icimod.org/Home/DataDetail?metadataId=3924, и у меня есть длинный Непал, взятый с этого сайта (http://rds.icimod.org/Home/DataDetail?metadataId=19590&searchlist=True).

географический протяженность Непала: географический протяженность: восток: 88.19456, географический протяженность - запад: 80.0522, географический протяженность - север: 30.42472, географический протяженность - юг: 26.36836

Теперь я пытаюсь выделить Непал из шимфайла гималайского Гиндукуша. Это мойкод:

mountains<-readOGR("outline.shp") #hindukushhimalayanshapefile
sub <- crop(mountains, extent( 80.0522, 88.18456, 26.36836, 30.42472))
plot(sub)

Но подпрограмма сюжета (то есть Непала) не отображается должным образом с правильным контуром. В верхней части отображаются прямые линии. Как получить правильное подмножество Непала с помощьюправильный план. Я неправильно оцениваю степень? Помощь была бы оценена

sub plot

1 Ответ

0 голосов
/ 16 октября 2019

Невозможно установить границы страны из этого шейп-файла, поскольку он не содержит информацию о границах страны. Вам необходимо будет использовать шейп-файл, такой как этот, который содержит информацию о границах страны: http://rds.icimod.org/Home/DataDetail?metadataId=1218, или подмножество, использующее отдельный шейп-файл границы Непала вместо экстента:

require(maptools)
require(rgdal)

hkh_shp=readOGR("/Downloads/data/outline.shp")

data(wrld_simpl) ##this shapefile is quite coarse, you could substitute another one
nepal_shp=wrld_simpl[which(wrld_simpl$NAME=="Nepal"),]

##CRS are similar but not identical, so need to transform
nepal_shp=spTransform(nepal_shp,crs(hkh_shp))

plot(hkh_shp)
lines(nepal_shp,col="red")

enter image description here

##crop
hkh_sub_shp=crop(hkh_shp,nepal_shp)
plot(hkh_sub_shp) ##note, will look better with higher resolution shapefile

enter image description here

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