可能重复:
R/GIS: How to subset a shapefile by a lat-long bounding box?
我有一个SpatialLinesDataFrame
类的数据帧“rivers”。 summary(rivers)
给出:
> summary(rivers)
Object of class SpatialLinesDataFrame
Coordinates:
min max
x 66.33333 161.03750
y -10.45208 55.80208
Is projected: NA
proj4string : [NA]
Data attributes:
ARCID FROM_NODE TO_NODE Sub_Bas Maj_Bas To_Bas Sub_Name
Min. : 6087 Min. : 6127 Min. : 6227 Min. : 1001 Min. : 1.00 Min. : -999 Tarim He : 1584
1st Qu.:35584 1st Qu.:37019 1st Qu.:36993 1st Qu.: 5017 1st Qu.: 5.00 1st Qu.: -888 Ch'ing-hai Hu : 1323
Median :50895 Median :53059 Median :53100 Median :13006 Median : 13.00 Median : 1050 Jo Shui / Gaxun Nur / Sogo Nur: 1301
Mean :48954 Mean :51014 Mean :51024 Mean :20846 Mean : 21.41 Mean :12745 Gobi1 : 1246
3rd Qu.:63450 3rd Qu.:66032 3rd Qu.:66049 3rd Qu.:36043 3rd Qu.: 36.00 3rd Qu.:16006 Gobi2 : 1074
Max. :75961 Max. :80067 Max. :80068 Max. :73006 Max. :29055.00 Max. :69014 Qagan Nur : 956
(Other) :42503
Maj_Name Sub_Area Maj_Area Strahler
Gobi Interior :10130 Min. : 0 Min. : 0 Min. :1.000
Amur Basin : 5706 1st Qu.: 15409 1st Qu.: 413869 1st Qu.:1.000
Tarim Interior : 4919 Median : 31063 Median :1584557 Median :1.000
Yangtze Basin : 3716 Mean : 84786 Mean :1269122 Mean :1.781
Ganges / Brahmaputra Basin: 3063 3rd Qu.: 88229 3rd Qu.:2079286 3rd Qu.:2.000
Plateau of Tibet Interior : 2104 Max. :620574 Max. :2165616 Max. :7.000
(Other) :20349
我希望通过坐标对其进行子集化,使得x介于70,80和y之间,介于20,30之间。有没有办法使用maptools
包吗?
答案 0 :(得分:0)
不,使用maptools
包无法执行此操作。您可以手动分解Spatial对象以进行裁剪,但这样会变得复杂,无法跟踪原始拓扑,并且无论如何都只使用基本R函数和sp
包。更好的方法是在rgeos
中使用适合此任务的几何特定函数。