Erstellen von Shapefiles in R

8

Ich versuche ein Shapefile in R zu erstellen, das ich später in Fusion Table oder eine andere GIS-Anwendung importieren werde.

Um zu beginnen, importierte ich eine leere Shapedatei, die alle Volkszählungs-Traktate in Kanada enthält. Ich habe andere Daten (in Tabellenform) an die Shapefile angehängt, basierend auf der eindeutigen ID der CTs, und ich habe meine Ergebnisse kartiert. Im Moment brauche ich nur die in Vancouver und möchte ein Shapefile exportieren, das nur die Vancouver CTs sowie meine neu angehängten Attributdaten enthält.

Hier ist mein Code (einige Teile wurden aus Datenschutzgründen weggelassen):

%Vor%

Ich habe andere Beispiele gesehen, die folgendes verwenden: writePolyShape um das Shapefile zu erstellen. Ich habe es versucht, und es hat in einem gewissen Maße funktioniert. Es erstellte die SHP-, DBF- und SHX-Dateien. Ich vermisse die .prj-Datei und bin mir nicht sicher, wie ich es erstellen soll. Gibt es bessere Methoden zum Erstellen von Shapefiles?

Jede Hilfe in dieser Angelegenheit würde sehr geschätzt werden.

    
user2142810 12.04.2013, 02:51
quelle

2 Antworten

8

Verwenden Sie rgdal und writeOGR . rgdal behält die Projektionsinformationen

etwas wie

%Vor%

Beachten Sie, dass dsn der Ordner ist, der die Datei .shp enthält, und layer der Name der Shapefile ohne die Erweiterung .shp ist. Es liest ( readOGR ) und schreibt ( writeOGR ) alle Komponentendateien ( .dbf , .shp , .prj usw.)

    
mnel 12.04.2013 03:16
quelle
4

Problem gelöst! Danke nochmal für die Hilfe!

Hier ist, was ich getan habe:

Wie Mnel geschrieben hat, wird diese Zeile das Shapefile erstellen.

%Vor%

Wenn ich diese Zeile jedoch ausgeführt habe, kam es mit diesem Fehler zurück:

%Vor%

Dies liegt daran, dass meine Attributdaten nicht numerisch waren, sondern Zeichen. Glücklicherweise sind meine Attributdaten alle Zahlen, also habe ich transform () ausgeführt, um dieses Problem zu beheben.

%Vor%

Ich habe den writeOGR () Befehl erneut versucht, aber ich habe immer noch nicht die .prj Datei bekommen, nach der ich gesucht habe. Das Problem war, dass ich die Koordinatensysteme für das Shapefile beim Importieren der Datei nicht angegeben habe. Da ich bereits weiß, was das Koordinatensystem ist, musste ich es nur beim Importieren definieren.

%Vor%

Danach habe ich alle Dinge, die ich mit dem Shapefile machen wollte, und die writeOGR-Zeile für den Export erneut ausgeführt. Und das ist es!

    
user2142810 12.04.2013 14:54
quelle

Tags und Links