Ich muss viele Shapefiles zu einem großartigen Shapefile zusammenführen.
Daher möchte ich die Eigenschaften der Attributtabellen vergleichen, um festzustellen, ob es Unterschiede zwischen den Tabelleneigenschaften jeder Form gibt (Typ, Länge, Genauigkeit, Name usw.). Mit der Absicht, alle Shapefiles zu standardisieren
z.B:
Gibt es eine Möglichkeit, eine Liste der Tabelleneigenschaften auszudrucken, wie in der Registerkarte 'Felder' gezeigt, oder die Eigenschaften in eine XLS- oder DBF-Datei zu exportieren?
Oder gibt es eine automatisierte Möglichkeit zur Standardisierung? (Vielleicht ist dies ein Thema für einen neuen Thread ...)
Ich verwende QGIS 1.8 (QGIS 2.2 ist ebenfalls möglich).
Vielen Dank
Antworten:
OSGeo4W-Shell-Lösung
IMHO besteht der einfachste Weg, die Eigenschaften der Attributtabelle ( Schema ) zu extrahieren, darin, die OSGeo4W-Shell zu öffnen (weil Sie auf Win OS sind), das Verzeichnis in Ihren Datenordner zu ändern und einfach Folgendes einzugeben:
Es zeigt Ihnen die zusammenfassenden Informationen wie Projektion, Schema , Anzahl der Features und Ausmaße. Da Sie dann eine Reihe von Shapefiles haben, können Sie einen
FOR
Zyklus wie den folgenden ausführen :Dies gibt eine txt-Datei mit den Eigenschaften aller Shapefiles in einem Verzeichnis zurück (da bei der Ausgabeumleitung mit
>>
jede einzelne Ausgabe an dieproperties.txt
Datei angehängt wird ).Alternativ, wenn Sie an einer Eigenschaftendatei für jedes Shapefile interessiert sind:
Über die Standardisierung gibt es verschiedene Techniken. Ich empfehle Ihnen, die
RESIZE
Option zum Erstellen von Ebenen nach dem Zusammenführen zu verwenden, um die Größe der Felder auf ihre optimale Größe zu ändern (z. B. werden Textfelder mit übermäßiger Länge gekürzt). Zum Beispiel:Skriptlösung verarbeiten
Öffnen Sie die Toolbox "Verarbeitung" in QGIS, erstellen Sie ein neues Skript (klicken Sie auf
Scripts
->Tools
->Create new script
) und geben Sie Folgendes ein:Speichern Sie es wie Sie möchten, z
ogrinfo_so.py
. Anschließendogrinfo (summary only)
wird in der Gruppe Processing Toolbox ->Scripts
-> ein neues Skript angezeigtUser script
. Es kann unverändert oder im Batch-Modus ausgeführt werden.Der gleiche Vorgang ist möglich, um die Feldlänge wie zuvor beschrieben zu ändern:
Ein neues Skript mit dem Namen
Resize fields
wird in der Gruppe Processing Toolbox ->Scripts
-> verfügbar seinUser scripts
. Geniesse es!quelle
Shapefiles enthalten ihre Attribute in DBF-Dateien. Können Sie die DBF-Datei nicht einfach direkt in einem Programm wie libreoffice calc öffnen und von dort aus drucken? Wenn Sie nicht zu viele Dateien haben, sollte dies funktionieren.
Eine andere Möglichkeit wäre, ein Python-Skript zu schreiben, das die Attribute von Features direkt an die Konsole druckt oder sie sogar für Sie vergleicht. Sie können auf die Attribute einer Funktion wie folgt zugreifen:
Sie müssten dies für jedes Shapefile tun, das Sie vergleichen, und prüfen, ob
Weitere Informationen hier: http://www.qgis.org/en/docs/pyqgis_developer_cookbook/
quelle
Haben Sie im Anschluss an das .dbf-Thema direkt nach .dbf-Vergleichern gesucht? Ich habe nicht sofort eine kostenlose Lösung gefunden, aber so etwas wie: dbfCompare
quelle
Probieren Sie einige der verfügbaren DBF-Metadatenextraktoren aus. Die meisten von ihnen unterstützen den Befehlszeilenmodus, sodass die Extraktion mehrerer Metadaten im Batch ausgeführt werden kann.
http://geology.usgs.gov/tools/metadata/tools/doc/dbfmeta.html http://sco.wisc.edu/wisclinc/metatool/dbfmeta.htm
quelle
Öffnen Sie einfach die DBF-Datei in Libreoffice Calc oder Excel und speichern Sie sie als neue Datei. Ich habe es einmal gespeichert und das Shapefile war nicht gut.
quelle