Ich habe ein Shapefile von Polygonen und eine andere CSV-Datei, die eine Liste von Punkten als (Lat, Lng) Paare enthält.
Ich möchte für jedes (lat, lng) Paar aus der CSV-Datei überprüfen, in welches Polygon es fällt.
Das Shapefile wird projiziert und die Proj-Datei sieht folgendermaßen aus:
PROJCS["Transverse_Mercator",GEOGCS["GCS_OSGB 1936",
DATUM["D_OSGB_1936",SPHEROID["Airy_1830",6377563.396,299.3249646]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",49],PARAMETER["central_meridian",-2],PARAMETER["scale_factor",0.9996012717],PARAMETER["false_easting",400000],PARAMETER["false_northing",-100000],UNIT["Meter",1]]
Mein Plan ist wie folgt:
- Lesen Sie das Shapefile mit der
readShapePoly
Funktion im R-MapTools
Paket. - Lesen Sie die Punktkoordinaten aus der CSV-Datei in einen Datenrahmen und konvertieren Sie sie in SpatialPointsDataFrame
- Verwenden Sie die
over
Funktion, um zu bestimmen, in welches Polygon es fällt.
Dazu muss ich proj4string
in Schritt 1 das Laden des Shapefiles festlegen und die Koordinaten aus der CSV-Datei mithilfe spTransform
der over
Funktion in dasselbe Projektionssystem transformieren, bevor ich die Funktion in Schritt 3 anwende, da dies für die Punkte und Polygone erforderlich ist unter dem gleichen Projektionssystem sein.
Hast du eine Idee, wie der korrekte Wert für den oben gezeigten Inhalt der proj-Datei lauten soll?
readOGR
Funktion zu laden, erhalte ich immer den Fehler Datei kann nicht geöffnet werden
summary
Funktion für das SpatialPolygonDataFrame
Objekt habe ich den korrekten Wert für dieproj4string