R/GIS:按坐标划分的子集空间线数据框架



可能重复:
R/GIS:如何通过横向边界框对形状文件进行子集设置?

我有一个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软件包有什么方法可以做到这一点吗?

不,使用maptools包无法做到这一点。您可以手动分解Spatial对象来进行剪裁,但跟踪原始拓扑会变得很复杂,而且无论如何都只需要使用基本的R函数和sp包。更好的方法是在rgeos中使用适用于此任务的几何体特定函数。

最新更新