Aktualisiert die Neuprojektion von ShapeFile nur den Inhalt der * .prj-Datei?

15

Wenn ich wünsche von den Vorsprung einiger Shape - Dateien ändern .. sagen wir mal NAD83 (4269)zu WGS84 (4326)... und durch eine 3rd - Party - App .... bedeutet das die .prjDatei nur dann aktualisiert wird .. und nicht den Inhalt in der .shpDatei oder einer anderen zugehörige Dateien?

Pure.Krome
quelle
1
Bitte geben Sie an, welche Drittanbieter-App Sie verwenden. Einige Apps ändern möglicherweise nur die PRJ-Datei, andere führen möglicherweise eine vollständige Koordinatentransformation durch. Mit anderen Worten, die richtige Antwort lautet derzeit sowohl Ja als auch Nein. :)
matt wilkie

Antworten:

10

Im speziellen Fall von NAD83 <-> WGS84 und wenn Sie mit Daten mittlerer Genauigkeit arbeiten, z. B. GPS für Endverbraucher, ist es nicht schlimm, wenn nur die PRJ-Datei geändert wird, da die beiden gleichbedeutend mit dieser Ebene sind.

Wenn Sie mit geodätischen Daten arbeiten, die auf den Bruchteil eines Zentimeters oder mehr genau sind, sollte die App eine echte Datumstransformation durchführen und nicht nur die prj-Datei ändern. Vergessen Sie auch nicht, dass es verschiedene NAD83-Definitionen gibt (NAD83_HARN, NAD83CSRS usw.), die nur für Nordamerika gelten und noch keine einheitliche Abdeckung bieten. Siehe Welche geografische Transformation soll für den Yukon verwendet werden? Für eine lange Diskussion der Unterschiede dieses letzten Punktes und der Auswahl, einschließlich dieser illustrativen Grafik, die in den meisten Dokumentationen zu NAD83-Transformationen fehlt:

Abbildung der NAD83-Transformationsabdeckungsbereiche

Der Text in der Grafik verweist auf die Namen der verschiedenen in ArcGIS verfügbaren NAD83-Transformationen. Das Ermitteln der entsprechenden Begriffe in anderen Programmen, z. B. PROJ4 und FME, ist eine Aufgabe, die dem Leser überlassen bleibt.

Matt Wilkie
quelle
1
Gute Antwort, obwohl ich denke, es ist eine andere Frage zu beantworten, ob man es schaffen kann (mit mittlerer Genauigkeit), von und zu den spezifischen Daten in der Frage neu zu projizieren, indem man nur die prj-Datei ändert. Die Antwort auf die Frage, die Sie beantworten, lautet "Ja", während die Antwort auf die ursprüngliche Frage, die von allen anderen Antworten beantwortet wird, "Nein" lautet, was einige Leute verwirren kann, wenn nur die .prj-Datei neu projiziert wird .
Karim Bahgat
9

Ich bin mir ziemlich sicher, dass das Geoverarbeitungswerkzeug für die Projektion die Koordinaten jedes Scheitelpunkts in Ihren Features transformiert.

George Silva
quelle
1
Wenn Sie testen möchten, können Sie die .prj-Datei in etwas anderes umbenennen und Ihr Shapefile laden. Die Punkte haben die X- und Y-Koordinaten, die sie unter Ihrer Projektion hätten, werden jedoch nicht projiziert, wenn Sie die Kartenprojektion ändern.
Om_henners
7

Projection schreibt ein komplett neues Shapefile in den Ausgabekoordinatenraum - die neue .prj-Datei zeigt an, in welchem ​​Referenzsystem sich die neuen Koordinaten befinden. Wenn Sie also ein WGS84-Shapefile mit folgenden Daten erstellt haben:

latitute, longitude, value
32, -120, off santa rosa island

Nach der Projektion auf UTM enthält das Shapefile Informationen wie:

x (easting), y (northing), value
216577, 3544370, off santa rosa island

Nur durch die Verwendung der prjDatei würden Sie wissen, dass sich die Koordinaten xund yauf UTM-Koordinaten beziehen. In Ihrem speziellen Fall sind die Ausgabekoordinaten aufgrund der Ähnlichkeit von WGS84 und NAD83 sehr ähnlich. Stellen Sie sicher, dass die von Ihnen verwendete Software weiß, wie Datumstransformationen durchgeführt werden, um diesen Vorgang auszuführen (eine andere Art der Transformation als die Projektion).

scw
quelle
3

Die Antwort auf Ihre Frage lautet Nein. In der PRF-Datei wird lediglich definiert, in welcher Projektion (einschließlich der Parameter) die Daten gespeichert sind. Diese Daten können dann wiederum von einigen GIS-Programmen verwendet werden. . Aus diesem Grund können Sie die PRJ-Datei löschen, ohne dass dies Auswirkungen auf Ihre Daten hat. Tatsächlich werden Sie sie erst bemerken, wenn Sie versucht haben, ein MXD- oder ein anderes GIS-Dokument mit einem anderen definierten Projekt hinzuzufügen. Um Shapefile zu projizieren oder neu zu projizieren, muss die .shp-Datei bearbeitet werden, die die geografischen Daten enthält.

Hier sind Links zum Wikipedia-Eintrag für Shapfile http://en.wikipedia.org/wiki/Shapefile

Und eine PDF-Version des Whitepapers "ESRI Shapefile Technical Description" (Technische Beschreibung für ESRI Shapefile)

Chris M
quelle
2

Ich halte dies für eine gute Frage und wollte nur eine explizitere Antwort hinzufügen, die direkt auf die ursprüngliche Formulierung der Frage abzielt.

Nein, die Neuprojektion eines Shapefiles ändert nicht nur die prj-Datei, sondern auch die prj-Datei und den Inhalt des Haupt-Shapefiles (die .shp-Datei). Der Grund dafür ist , dass , wie @csw demonstriert, beim erneuten Projizieren eines Shapefiles die tatsächlichen Koordinatennummern in der SHP-Hauptdatei geändert werden müssen, sowohl für Datums- als auch für Projektionsänderungen. Zumindest sollte es technisch und sachgemäß so sein, und ich würde mir vorstellen, dass die meisten GIS- oder Projektionssoftware diese Dinge sehr ernst nehmen.

Deutlicher gesagt, eine Software mit einer Shape - Datei geografische daturm zu projizieren oder System projizierten Koordinaten sollten die folgenden Dateien ändern:

  • .shp: ja
  • .prj: ja
  • andere: nicht sicher (vielleicht die .idx-Datei mit dem räumlichen Index?)

Theoretisch gesehen ist das Schreiben der PRJ-Datei zwar nicht unbedingt erforderlich, der praktische Unterschied besteht jedoch darin, dass weder eine Person noch eine Software leicht erkennen können, auf welcher Projektion die Koordinaten basieren und welche Grenzen möglich sind benutze das Shapefile für. Das Gegenteil kann auch zutreffen, wie die akzeptierte Antwort darauf hinweist, dass man praktisch davonkommen könnte, nur die prj-Datei und nicht die .shp-Datei zu ändern, wenn einige Bezugspunkte (im Gegensatz zu Projektionsänderungen) bc-Bezugspunkte manchmal geändert werden unterscheiden sich nur geringfügig voneinander, aber dies wäre nur riskant und unnötig, wenn es viele verfügbare Werkzeuge gibt, um es richtig zu projizieren, und außerdem wird es mit ziemlicher Sicherheit nicht funktionieren, wenn projizierte Koordinatensysteme geändert werden, die dazu neigen, sich stärker voneinander zu unterscheiden.

Karim Bahgat
quelle