आर

2011-09-09 37 views
5

में rgeos पैकेज से gIntersection का उपयोग करते समय मेटाडेटा को रखते हुए मेरे पास आर में स्पैटियल पॉइंटडेटाफ्रेम ऑब्जेक्ट के रूप में निर्देशांक का एक सेट है और मैं पॉलीगॉन का उपयोग करके इन बिंदुओं को प्राप्त करने के लिए पॉलीगॉन का उपयोग करके इन बिंदुओं को क्लिप कर रहा हूं। मैं rgeos पैकेज से gIntersection समारोह के साथ ऐसा कर रहा हूँ। मेरी समस्या यह है कि फ़ंक्शन केवल उन बिंदुओं के निर्देशांक देता है, न कि उनके साथ जुड़े मेटाडेटा। क्या निर्देशांक के बजाय, परिणाम में सभी डेटा को अंतर्निहित करने का कोई तरीका है?आर

SpatialPointsDataFrame का प्रतिनिधित्व प्रजातियों घटना अंक:

> spexample 
      coordinates SpAbbr InstitutionCode CatalogNumberText 
1 (-76.8727, 3.66282) BanRot  EBIRD_COL  OBS81997559 
2 (-76.9749, 3.71683) BanRot   AUDCLO  OBS89767945 
3 (-76.884, 3.61609) BanRot   AUDCLO  OBS89769896 
4 (-77.5167, 5.51667) BanRot   AMNH  Skin-123476 
5 (-76.0334, 4.86669) BanRot   LACM    34848 
6 (-78.4333, 1.43333) BanRot   LSUMZ    38939 
7  (-78.55, 0.95) BanRot   ANSP   182799 
8 (-79.2139, 0.471944) BanRot   AUDCLO  OBS58485973 
9 (-78.5104, 0.895349) BanRot   AUDCLO  OBS84822747 
10 (-78.3781, 1.51028) BanRot   AUDCLO  OBS67916517 
11  (-75.15, 7.07) BanRot 8110002317-09   4743-5160 

एक बहुभुज करने के लिए उन बिंदुओं कतरन: साथ byid =

> gIntersection(spexample,bufferclip) 
SpatialPoints: 
      x   y 
1 -78.55000 0.9500000 
1 -78.51036 0.8953493 
1 -78.43333 1.4333333 
1 -78.37810 1.5102800 
1 -76.97495 3.7168289 
1 -76.88397 3.6160872 
1 -76.87271 3.6628163 
1 -76.03337 4.8666900 
Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84 
+ellps=WGS84 +towgs84=0,0,0 

उत्तर

6

उपयोग gIntersects (नहीं gIntersection)

यहाँ एक उदाहरण है एक सही/गलत वेक्टर प्राप्त करने के लिए सही है जो आपके बफर में हैं। फिर अपने अंक डेटा फ्रेम सबसेट करें। काम हो गया।

+0

टिप के लिए धन्यवाद! यह एक महान काम है। – Pascal