Raumbetreiber in R?


12

Wie kann ich räumliche Auswahlen oder Filter in R vornehmen? Ich kann das in PostGIS machen mit (zB):

SELECT * FROM mypoint, mypoly
WHERE ST_Within(mypoint.geom, mypoly.geom);

und es ist ähnlich ein Kinderspiel in den meisten anderen GIS-Software. Also würde ich erwarten, dass etwas in R so aussieht:

mypoint[within(mypoint, mypoly),]

aber ich kann nirgendwo hinführen. Ich suche nach etwas, das die in PostGIS / GEOS / JTS / Shapely verwendete allgemeine räumliche Prädikat-Terminologie verwendet (innerhalb, enthält, schneidet, überlappt, berührt usw.; DWithin wäre ein Bonus). Existiert diese Funktionalität oder Bibliothek für R? Wenn nicht, gibt es etwas Ähnliches?

Hinweis: In R verwende ich die spKlasse für meine Objekte ( SpatialPointsDataFrameusw.).

Antworten:


11

Für Ihre spezielle Frage sollten Sie in der Lage sein , die Analyse mit point.in.polygon( docs ) oder overlay( vignette ) durchzuführen.

Eine Sprache für räumliche Prädikate ist nicht einfach zu implementieren, und alle von Ihnen erwähnten Beispiele beschränken sich irgendwann auf Ports oder Wrapper von JTS. Es gibt eine Pre-Alpha-Version von rgeos , einem kürzlich erschienenen Google SOC-Eintrag, der den Zugriff auf GEOS direkt von R aus ermöglicht.

Im Allgemeinen scheint es so, als würden sich die R-Entwickler damit auseinandersetzen, ob sie eine vollständige GIS-Implementierung in R selbst beibehalten oder sich stattdessen darauf verlassen möchten, Pakete zu vereinfachen, die eine tiefere Interaktion mit PostGIS, GRASS ( spgrass), SAGA ( rsaga) und dergleichen ermöglichen räumlich versiert.


point.in.polygonist ein guter Anfang für einfache Polygone, wenn auch etwas grob (z. B.): point.in.polygon(pnt@coords[,1], pnt@coords[,2], lake@polygons[[1]]@Polygons[[1]]@coords[,1], lake@polygons[[1]]@Polygons[[1]]@coords[,2]) Ich freue mich sehr auf das, rgeoswas Sie erwähnt haben, und habe alle binären Prädikate und vieles mehr.
Mike T

Beispiele für spgrass6 mit GRASS finden Sie unter grass.osgeo.org/wiki/R_statistics
markusN

1
rgeosist jetzt auf CRAN und sehr einfach zu installieren / verwenden / etc.
Mike T
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.