Laut ArcCatalog stimmen Raumbezüge nicht zwischen Feature-Dataset und Feature-Class mit demselben Koordinatensystem überein.

31

Ich habe ein Feature-Dataset, das GCS_WGS_1984 als geografisches Koordinatensystem verwendet. Es enthält einige Feature-Classes.

Dieses Feature-Dataset befindet sich selbst in einer File-Geodatabase, die im Stammverzeichnis der GDB einige weitere Feature-Classes enthält. Eine davon ist eine Feature-Class namens "points", die ebenfalls das GCS_WGS_1984 als Koordinatensystem verwendet.

Ich dachte, es wäre trivial, ArcCatalog zu verwenden, um die Feature-Class aus dem Stamm der GDB in das Feature-Dataset zu ziehen, da sie das gleiche Koordinatensystem haben. Leider gibt ArcGIS einen Fehlerdialog aus, der besagt:

Failed to paste points
The spatial references do not match

Warum schlägt dies fehl? Wenn das GCS der Feature-Class und das Feature-Dataset identisch sind, sollte es nicht einfach funktionieren? Ich habe dies über die Dialogfelder überprüft und die prj-Datei sowohl für das Dataset als auch für die Klasse exportiert und mit einem Diff-Tool verglichen. Sie sind identisch.

Unterscheidet sich der Raumbezug einer Feature-Class vom Koordinatensystem / der Projektion?

Wenn Sie versuchen, die Feature-Class in das Feature-Dataset zu kopieren, indem Sie beim Ziehen die Strg-Taste gedrückt halten, stürzt ArcCatalog jedes Mal ab (Schande für ESRI).

Ich denke, ich könnte alternative Methoden zum Verschieben von Feature-Classes ausprobieren. Verwenden Sie CopyFeatures in der Datenmenge. Aus der Feature-Class in eine neue Feature-Class im Feature-Dataset projizieren?

mindless.panda
quelle
Kannst du die Datei gdb irgendwo posten? Vielleicht alle oder einige der Features löschen, wenn es groß ist. Klingt so, als ob es sogar mit leeren Feature-Classes reproduziert werden könnte.
Kirk Kuykendall
4
Ich wünschte, ich hätte Zeit, um jeden kleinen Fehler, den ich mit ArcGIS gemacht habe, zu beheben. Oft muss ich nur damit leben und die am wenigsten angenehme Lösung finden. Ich habe Datenverwaltung -> Feature kopieren verwendet, um in eine neue Feature-Class (temporär benannt) zu kopieren, die alte Feature-Class zu löschen und die neue Feature-Class so umzubenennen, dass sie mit der alten übereinstimmt. Für die Verwendung von ArcGIS sollte kein Abschluss in Softwaretests erforderlich sein. = (
mindless.panda
2
"sollte keinen Abschluss in Softwaretests erfordern" , chat.stackexchange.com/transcript/message/1116371
matt wilkie
Es ist nur der Name, sie können übereinstimmen, aber wenn sie einen anderen Namen haben, wird diese Nachricht ausgeblendet. Ignorieren Sie sie.
Wenn Sie nicht wissen, nur GIS

Antworten:

21

Das gleiche Koordinatensystem ist nicht immer ein identisches Koordinatensystem. Ich habe Situationen erlebt, in denen einige Operationen und Geoverarbeitungswerkzeuge der Ansicht sind, dass Feature-Classes kein gemeinsames Koordinatensystem haben, da sich der beschreibende Name der Projektion unterscheidet ("Yukon Albers" gegenüber "Albers - benutzerdefiniert"), obwohl die Parameter identisch sind oder weil von unterschiedlichen Dezimalstellen (falsche Nordung 500000.00 vs 500000.0000).

Normalerweise stelle ich sicher, dass Feature-Dataset-Koordinatensysteme (und F.class-Koordinatensysteme) mit unserer Standard-PRJ-Datei erstellt werden, die oben platziert wird C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems(wodurch die CS mit weniger Klicks verfügbar wird), und / oder kopiere die CS aus einer Master-Feature-Class-Vorlage immer griffbereit aufbewahrt.

Zum Teil habe ich als Antwort auf dieses Problem auch ein leeres Feature-Dataset ( D:\s.gdb\_template), durch das ich alle unsere Daten als ersten Schritt filtere, bevor ich überhaupt etwas anderes mit ihnen mache. Bei einem gemeinsamen Koordinatensystem wird dadurch auch sichergestellt, dass die Genauigkeit und der räumliche Bereich usw. identisch sind.

Update: Siehe Andys Antwort zur Verwendung von Python (nur 2 Zeilen) zum Kopieren des räumlichen Bezugssystems des Feature-Datasets aus einer Vorlagen-Feature-Class. Dies hat in ArcCatalog 10.3 funktioniert, als die interaktive Methode zum Definieren des SR durch Auswählen einer zu importierenden Feature-Class nicht funktioniert hat.

Matt Wilkie
quelle
Wären diese geringfügigen Änderungen des hübschen Drucknamens oder der Dezimalstellen, die Sie erwähnen, nicht in der PRJ-Datei enthalten, die mit der Option Speichern unter exportiert wurde? Wenn ja, warum zeigen unterschiedliche PRJ-Dateien nichts? Ich hatte mich gefragt, ob geringfügige Unterschiede in der x, y-Auflösung ebenfalls den Konflikt verursachen könnten.
mindless.panda
1
Möglicherweise stimmt die mit "Speichern unter" erstellte PRJ-Datei nicht genau mit der intern gespeicherten überein. Ich verwende einen Feature-Datensatz "Filter", um eine gemeinsame räumliche Auflösung usw. zu gewährleisten
matt wilkie
3
Ich werde dem noch eine weitere Facette hinzufügen: Manchmal werden Datensätze aus anderen Quellen so generiert, dass sie M- und Z-Werte enthalten, wenn sie nicht über M oder Z verfügen. Ich habe festgestellt, dass einige ESRI-Tools das leere Z-Koordinatensystem als nicht erkennen Übereinstimmung, obwohl die X / Y-Koordinatensysteme tatsächlich genau übereinstimmen.
DPierce
16

Dies ist eher eine Erklärung als eine Antwort.

Wir (Esri) führen ziemlich strenge Tests der Namen und Werte von Koordinatenreferenzsystemen durch. Der Test 'ist gleich' gibt beim Vergleich von 500000.00 und 500000.000000 keinen Fehler zurück. Er kann jedoch fehlschlagen, wenn einer wirklich 500000.0 und der andere 500000.00000005 ist. Wir arbeiten daran, Aliase für Namen hinzuzufügen, damit "gleich" mehr vergeht.

Wie mindless.panda und matt wilkie erwähnt haben, können die Unterschiede in den anderen Werten eines Raumbezugs liegen. Ein Raumbezug enthält das Koordinatenbezugssystem und die Speicher- / Verarbeitungswerte. Zur Speicherung: xy, z und Auflösung und Ausdehnung messen. Zur Verarbeitung: xy, z und Maßtoleranzwerte. Jeder Unterschied in diesen kann einen ungleichen Fehler verursachen.

mkennedy
quelle
6
Ihre Antwort wird sehr geschätzt. Ich würde wirklich gerne sehen, dass die Fehlerbehandlung, insbesondere was dem Benutzer gemeldet wird, in ArcGIS verbessert wird. Es sind informativere Fehler erforderlich, mit der Option, auf Wunsch noch detailliertere Informationen zu erhalten. Nochmals vielen Dank an ESRI, dass Sie sich die Zeit genommen haben, um zu antworten.
mindless.panda
2
Ich unterstütze den Vorschlag, mehr Informationen über die Fehler zu liefern. In den letzten zwei Wochen habe ich Error code: 999999: Error executing function. Description: This is a generic error for which the cause of the error does not have an appropriate error ID. aufgrund einer Reihe von Problemen denselben Fehler ( ) erhalten. Dies ist eine ärgerliche Nachricht, da ich nichts tun kann, außer zu versuchen, das, was ich ein zweites Mal getan habe, auszuführen, um festzustellen, ob der Fehler wiederholt wird, oder aufzugeben und eine andere Methode (oder Software, die zunehmend der Fall ist) zu verwenden.
28.
9

Folgendes habe ich getan, um das Problem zu beheben (Verwenden von arcpy in ArcGIS 10.0):

Dies setzt Folgendes voraus:

  • FGDB - C: \ gisdata \ Test.gdb
  • Feature Class - C: \ gisdata \ Test.gdb \ bldg

Sie können Ihre Pfade und Objektnamen im Code ändern und in das Python-Fenster in ArcCatalog einfügen.

sr = arcpy.Describe(r'C:\gisdata\Test.gdb\bldg').spatialReference
arcpy.CreateFeatureDataset_management(r'C:\gisdata\Test.gdb', 'MyFeatureDataset', sr)

Nachdem das Feature-Dataset erstellt wurde, können Sie die Feature-Classes in ziehen und ablegen.

Andy Arismendi
quelle
1
Vielen Dank! Dies funktionierte heute für mich in einer Situation, in der die Verwendung des interaktiven Tools zum Definieren des neuen Feature-Dataset-Koordinatensystems durch Auswahl einer vorhandenen Feature-Class nicht funktioniert hat (v10.3).
Matt Wilkie
7

Dieses Problem hat mich umgebracht! Nachdem ich eine Reihe von Feature-Classes aus einer CAD-Datei gespeichert hatte, habe ich mehrmals versucht, ihre Koordinatensysteme zu definieren und sie dann in Feature-Datasets zu organisieren. Ich habe versucht, sowohl alle erforderlichen f.classes und f.datasets aus der offiziellen WGS_1984_UTM_42N-Projektion von ESRI zu definieren als auch die Projektion für den Datensatz festzulegen und dann diese Projektion für die f.classes mit dem Define Projection Tool zu importieren. Entweder würde keine f.classes einfügen, oder 1 würde und die anderen würden nicht.

Vielen Dank an @Matt Wilkie für diesen Beitrag . Das Tool " Feature Class to Feature Class" scheint das Problem gelöst zu haben. Die f.classes werden erfolgreich in den gewünschten Datensatz importiert, auch wenn ich das Koordinatensystem für die betreffende f.class noch nicht definiert habe.

Darüber hinaus stellte ich fest, dass das Skript " Feature Class to Geodatabase (multiple)" hervorragend zum Verschieben von f.classes in ein f.dataset im Bulk-Format geeignet ist, mit der Ausnahme, dass dies von einer Geodatabase in eine andere (nicht in ein f.dataset in derselben Geodatabase) erfolgen muss. . Dies scheint darauf zurückzuführen zu sein, dass das Skript die f.classes beim Kopieren nicht automatisch umbenennt (oder den Operator nach einem neuen Namen fragt, wie in Feature-Class zu Feature-Class). Wie jedoch von anderen (derselbe Thread, der oben verlinkt ist) erwähnt wurde, handelt es sich bei dem angegebenen Fehler um einen generischen 999999.

Matt Cohen-Preis
quelle
4

Ich hatte dieses Problem, als ich einfach eine Feature-Class in ein Feature-Dataset in einer GeoDatabase verschieben wollte. Ich habe mein Feature-Dataset erstellt und sichergestellt, dass es das gleiche Koordinatensystem hat. Immer und immer wieder erhielt ich "Fehler beim Einfügen von xyz Die räumlichen Verweise stimmen nicht überein." Die schnellste Lösung bestand darin, den identischen räumlichen Verweis aus der Feature-Class, die ich importieren wollte, in mein neu erstelltes Dataset zu importieren. Im zweiten Schritt des Assistenten "Create New Feature Dataset".

Ich weiß nicht, warum sich die räumlichen Bezüge unterscheiden.

Alan Boatman
quelle
Hi, @Alan! Vielen Dank für Ihre Erfahrungen und willkommen auf unserer Website.
Whuber
1
Hallo Alan, der Assistent zum Erstellen neuer Feature-Datasets / Klassen zieht nicht immer alle Speicher- / Verarbeitungswerte ab, wenn "Koordinatensystem importieren" verwendet wird. Wir arbeiten daran, das Problem zu beheben. Ich denke, das ist es, worauf Sie stoßen.
Mkennedy
1
Ich sehe dieses Problem - selbst wenn ich das Feature-Dataset erstelle und den Importmechanismus verwende und die Feature-Class auswähle, kann ich die Feature-Class nicht ohne den oben genannten Fehler in das neu erstellte Feature-Dataset ziehen / kopieren.
mindless.panda
3

Ich denke, dass eine der Meldungen an ESRI darin besteht, spezifischere Debug-Informationen für Parameterunterschiede bereitzustellen, wenn dieser Fehler auftritt. Auch ich bin auf diesen Fehler gestoßen, obwohl ich sorgfältig nach räumlichen Bezugssystemen und Projektionen gesucht habe, wie ich glaube, dass es die meisten GIS-Benutzer tun.

Ich habe die Vorgehensweise zum Verwenden der ArcToolbox-Kopierfunktionen gefunden, um Fehlermeldungen zu beheben, die auftreten, wenn die Import- oder Kopiermechanismen verwendet werden. Hier sind wir auf die Toolbox-Prozedur zum Kopieren von Features angewiesen, um die Referenz- oder Projektionsunterschiede korrekt aufzulösen, bevor die Feature-Class in das Feature-Dataset eingefügt wird.

Ich habe sogar versucht, das Feature-Dataset mit einem Projektionssystem zu erstellen, das zum Zeitpunkt der Dataset-Erstellung definiert wurde, und dann Feature-Classes mit dem ArcToolbox-Projektionstool mit derselben Projektion in das Feature-Dataset projiziert. Beim Versuch, das Feature zu importieren, wurde der hier beschriebene Fehler dennoch angezeigt oder kopieren Sie die Feature-Class in das Dataset.

Diese Koordinatensystemprobleme werden maskiert, wenn Sie Daten in ArcMap verwenden. Da ArcMap eine direkte Projektion durchführt, können einer ArcMap-Karte mehrere Feature-Classes mit jeweils unterschiedlichen Projektionen hinzugefügt werden, ohne dass der Benutzer dies bemerkt. ArcMap warnt vor unterschiedlichen Koordinatenreferenzsystemen.

Derek S Wilson
quelle
1

OKAY. Ich habe eine Lösung gefunden! Klicken Sie mit der rechten Maustaste auf das Features-Dataset in GDB und klicken Sie auf Importieren. Wählen Sie die gewünschten Funktionen aus und klicken Sie auf OK.

Sergei Valetov
quelle
0

Versuchen Sie, das Tool Features kopieren unter Datenverwaltungstools / Features zu verwenden. Ansonsten bekam ich immer einen Fehler, egal was ich tat.

Rayner
quelle
-1

Haben Sie versucht, es in ArcMap zu öffnen, die Layer als GCS_WGS_1984 festzulegen und dann alle Layer in eine File-Geodatabase zu exportieren?

Wenn Sie eine oder mehrere Ebenen in unterschiedlicher Projektion haben, können Sie diese exportieren, aber den Datenrahmen in GCS_WGS_1984 ändern.

Ich bin mir nicht sicher, ob dies in ArcGIS 10 der Fall ist. Ich habe sie noch nicht, verwende jedoch 9.3.1.

PROBERT
quelle
1
Könnten Sie bitte die Punkte 1 und 2 klarstellen? Diese scheinen nicht genau zu sein.
Aaron