Mehr

Ändern Sie die Genauigkeit einer Spalte in der Attributtabelle, ohne Daten zu verlieren?

Ändern Sie die Genauigkeit einer Spalte in der Attributtabelle, ohne Daten zu verlieren?


Ich habe Daten in einer Excel-Datei, die ich mit einem Shapefile in meinem Projekt verbinden möchte. Die Excel-Datei enthält Werte wie Volumen. Die Excel-Datei und das Shapefile, mit dem ich sie verbinden möchte, enthalten dieselben Eigenschaftsnamen.

Das Problem ist, wenn ich die beiden verbinde, erhalte ich zu viele Dezimalstellen in der Attributtabelle. Ich bekomme sechs, aber ich möchte nur, dass es einer ist.

Ich habe getestet, um das Format der Zellen auf eine Dezimalstelle zu ändern, und dann die Datei als * csv gespeichert. Aber irgendwie scheine ich dabei Daten zu verlieren? Es sollten 42 Zeilen sein, die Daten in der Spalte enthalten, mit der ich arbeite, aber am Ende habe ich nur 10?

Eine andere Sache ist, dass mein Grundstücksname die Buchstaben Å enthält. Ä und Ö, vielleicht verkompliziert das die Sache?

Ich habe die Frage Wie kann ich die Genauigkeit in der Attributtabelle ändern? gelesen, aber das Problem mit dem Datenverlust wird nicht erwähnt.

Meine Frage wurde mit qgis markiert, aber ich habe nicht geschrieben, welche Version ich verwende. Ich verwende QGIS 2.2.0. Würde es helfen, auf die neueste Version zu aktualisieren?


Beachten Sie, dass Sie in diesen Fällen eine neue Spalte mit der gewünschten Größe und Genauigkeit erstellen und ihre Werte mit den "alten" Spaltenwerten füllen können. Nach dem Speichern hat Ihre neue Spalte die gewünschte Genauigkeit.

Nehmen Sie dieses Beispiel. Ich habe eine Tabelle mit einer Spalte ("test") mit einer Genauigkeitsgröße von 20 und einer Genauigkeit von 15.

Ich öffne den Feldrechner (das Abakussymbol), um eine neue Spalte mit der richtigen Genauigkeit zu erstellen und ihr die gleichen Werte wie die ältere Spalte zuzuweisen.

Wenn ich meine Attributtabelle überprüfe, habe ich jetzt beide Spalten mit unterschiedlicher Genauigkeit:

Ab diesem Punkt können Sie die ältere Spalte einfach löschen. Aber Sie möchten wahrscheinlich, dass Ihre neue Spalte den ursprünglichen Namen (und möglicherweise die Spaltenposition) hat? Dafür können Sie das Tabellenmanager-Plugin verwenden. Wenn es nicht installiert ist, können Sie es unter Plugins> Plugins verwalten und installieren abrufen. Und es wird unter Vektor > Tabellenmanager verfügbar sein.

Sie sollten die alte Spalte auswählen und löschen und dann die neue Spalte auswählen und umbenennen. (Und verschieben Sie es in die relative Position der alten Spalte?)

Beachten Sie, dass Sie mit dem Tabellenmanager auch Ihre Å-, Ä- und Ö-Zeichen pflegen können.


Nachdem ich dies geschrieben habe, habe ich gerade festgestellt, dass Sie von QGIS und nicht von ArcMap sprechen, aber ich werde es trotzdem hier behalten.

Nachdem Sie Ihren Join mit der unveränderten CSV-Tabelle durchgeführt haben, klicken Sie mit der rechten Maustaste auf den Feldtitel in der Attributtabelle und wählen Sie "Eigenschaften". Wählen Sie im Dialogfeld Feldeigenschaften die Schaltfläche mit der Bezeichnung "Zahlenformat: Numerisch" wie unten gezeigt.

Nachdem Sie diese Schaltfläche ausgewählt haben, wird das Dialogfeld "Zahlenformat" angezeigt und sieht wie in der Abbildung unten aus.

Dieser Dialog funktioniert wie in der Eingabemaske und behält Ihre Daten bei, aber Sie sehen nur das gewünschte Format. In Ihrem Fall würde ich die Rundungsoption von der Standardeinstellung 6 auf 1 setzen. Hoffe, dies ist die gewünschte Antwort. Außerdem würde ich die Verwendung von Nicht-ASCII-Zeichen vermeiden.


Wenn Sie dies über eine T-SQL-Anweisung wie die folgende tun, erfolgt kein Tabellenlöschen und Sie können dies sicher in einer Produktionsumgebung tun:

Wenn Sie dies über die SSMS-Designtabellen-GUI tun, hängt dies davon ab, welches Skript verwendet wird, um die Änderung zu implementieren. Manchmal werden Daten in eine temporäre Tabelle eingefügt, die ursprüngliche Tabelle gelöscht, eine neue Version dieser Tabelle erstellt und wieder in die neue eingefügt. Eine einfache Möglichkeit, um herauszufinden, was es tun wird, besteht darin, auf die Schaltfläche "Skript generieren" zu klicken und sich das T-SQL anzusehen, das ausgeführt werden soll.

Das Erhöhen der Spaltenbreite einer nvarchar-Spalte erfordert kein Tabellenablegen. Auch keine ALTER TABLE-Operation. Einzelheiten zu Einschränkungen beim Ändern von Tabellen- oder Spalteneigenschaften finden Sie in der Anweisung ALTER TABLE.

Ich habe die relevantesten Teile aus der folgenden Dokumentation kopiert:

Ändern der Größe einer Spalte

Sie können die Länge, Genauigkeit oder Skalierung einer Spalte ändern, indem Sie eine neue Größe für den Spaltendatentyp in der Klausel ALTER COLUMN angeben. Wenn Daten in der Spalte vorhanden sind, darf die neue Größe nicht kleiner sein als die maximale Größe der Daten. Außerdem kann die Spalte nicht in einem Index definiert werden, es sei denn, die Spalte ist vom Datentyp varchar, nvarchar oder varbinary und der Index ist nicht das Ergebnis einer PRIMARY KEY-Einschränkung. Siehe Beispiel P.

Sperren und ALTER TABLE

Die in ALTER TABLE angegebenen Änderungen werden sofort implementiert. Wenn die Änderungen Änderungen der Zeilen in der Tabelle erfordern, aktualisiert ALTER TABLE die Zeilen. ALTER TABLE ruft eine Schemaänderungssperre für die Tabelle ab, um sicherzustellen, dass während der Änderung keine anderen Verbindungen selbst auf die Metadaten für die Tabelle verweisen, mit Ausnahme von Online-Indexoperationen, die am Ende eine sehr kurze SCH-M-Sperre erfordern. Bei einer ALTER TABLE…SWITCH-Operation wird die Sperre sowohl für die Quellen- als auch für die Zieltabellen erworben. Die an der Tabelle vorgenommenen Änderungen werden protokolliert und können vollständig wiederhergestellt werden. Änderungen, die sich auf alle Zeilen in sehr großen Tabellen auswirken, z. B. das Löschen einer Spalte oder das Hinzufügen einer NOT NULL-Spalte mit einem Standardwert, können lange dauern und viele Protokollsätze generieren. Diese ALTER TABLE-Anweisungen sollten mit der gleichen Sorgfalt ausgeführt werden wie jede INSERT-, UPDATE- oder DELETE-Anweisung, die viele Zeilen betrifft.


1 Antwort 1

Wenn Sie es auf varchar(100 - 8000) erhöhen (d. h. etwas anderes als varchar(max) ) und dies über TSQL und nicht über die SSMS-GUI tun

und die Spalten-NULL-Zulässigkeit nicht von NULL auf NOT NULL zu ändern (was die Tabelle sperren würde, während alle Zeilen validiert und möglicherweise in sie geschrieben werden) oder unter bestimmten Umständen von NOT NULL auf NULL zu ändern, dann ist dies eine schnelle Änderung nur der Metadaten. Es muss möglicherweise auf eine SCH-M-Sperre für die Tabelle warten, aber sobald sie diese erkennt, erfolgt die Änderung praktisch sofort.

Zu beachten ist, dass während des Wartens auf eine SCH-M-Sperre andere Abfragen Wille blockiert werden, anstatt die Warteschlange davor zu überspringen, daher sollten Sie in Betracht ziehen, zuerst ein SET LOCK_TIMEOUT hinzuzufügen.

Stellen Sie außerdem sicher, dass Sie in der ALTER TABLE-Anweisung explizit NOT NULL angeben, wenn dies der ursprüngliche Spaltenstatus ist, da andernfalls die Spalte geändert wird, um NULL zuzulassen.


Parameter

Die Tabelle mit den x- und y-Koordinaten, die die Positionen der zu erstellenden Punkt-Features definieren.

Die Feature-Class, die die Ausgabe-Punkt-Features enthält.

Das Feld in der Eingabetabelle, das die x-Koordinaten (oder den Längengrad) enthält.

Das Feld in der Eingabetabelle, das die y-Koordinaten (oder Breitengrad) enthält.

Das Feld in der Eingabetabelle, das die Z-Koordinaten enthält.

Das Koordinatensystem der x- und y-Koordinaten. Dies ist das Koordinatensystem der Ausgabe-Feature-Class.

Die Tabelle mit den x- und y-Koordinaten, die die Positionen der zu erstellenden Punkt-Features definieren.

Die Feature-Class, die die Ausgabe-Punkt-Features enthält.

Das Feld in der Eingabetabelle, das die x-Koordinaten (oder den Längengrad) enthält.

Das Feld in der Eingabetabelle, das die y-Koordinaten (oder Breitengrad) enthält.

Das Feld in der Eingabetabelle, das die Z-Koordinaten enthält.

Das Koordinatensystem der x- und y-Koordinaten. Dies ist das Koordinatensystem der Ausgabe-Feature-Class.

Codebeispiel

Das folgende Python-Fensterskript zeigt, wie die XYTableToPoint-Funktion verwendet wird.

Das folgende eigenständige Python-Skript veranschaulicht die Verwendung der XYTableToPoint-Funktion.


Parameter

Die Eingabetabelle oder Textdatei. Punktmerkmale sind ebenfalls gültig.

Die Ausgabe-Point-Feature-Class. Die Attributtabelle enthält alle Felder der Eingabetabelle zusammen mit den Feldern, die konvertierte Werte im Ausgabeformat enthalten.

Ein Feld aus der Eingabetabelle, das den Längengradwert enthält.

Für die Optionen DD 2 , DD numerisch , DDM 2 und DMS 2 des Parameters Eingabekoordinatenformat ist dies das Längengradfeld.

Für die Optionen DD 1 , DDM 1 und DMS 1 enthält dieses Feld sowohl Breiten- als auch Längengrade in einer einzigen Zeichenfolge.

Für die Optionen Gars , Georef , Georef 16 , UTM-Zonen , UTM-Bänder , USNG , USNG 16 , MGRS und MGRS 16 enthält dieses Feld eine alphanumerische Notation in einem einzelnen Textfeld.

Ein Feld aus der Eingabetabelle, das den Breitengradwert enthält.

Für die Optionen DD 2 , DD numerisch , DDM 2 und DMS 2 des Parameters Eingabekoordinatenformat ist dies das Breitengradfeld.

Dieser Parameter ist inaktiv, wenn eines der Einzelzeichenfolgenformate ausgewählt wird.

Gibt das Koordinatenformat der Eingabefelder an.

  • DD 1 – Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DD 2 —Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern. Dies ist die Standardeinstellung.
  • DDM 1 – Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DDM 2 – Längen- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • DMS 1 – Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DMS 2 —Längen- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • Gars – Globales Gebietsreferenzsystem. Basierend auf Breiten- und Längengrad unterteilt und unterteilt es die Welt in Zellen.
  • Georef —Weltgeographisches Referenzsystem. Ein gitterbasiertes System, das die Welt in 15-Grad-Vierecke teilt und dann in kleinere Vierecke unterteilt.
  • Georef 16 —Weltgeographisches Referenzsystem in 16-stelliger Genauigkeit.
  • UTM-Zonen – Der Buchstabe N oder S nach der UTM-Zonennummer bezeichnet nur die Nord- oder Südhalbkugel.
  • UTM-Bänder – Der Buchstabe nach der UTM-Zonennummer bezeichnet eines der 20 Breitengrade. N oder S bezeichnet keine Hemisphäre.
  • USNG – Nationales Netz der Vereinigten Staaten. Fast genauso wie MGRS, verwendet aber das North American Datum 1983 (NAD83) als Datum.
  • USNG 16 —United States National Grid in 16-stelliger höherer Genauigkeit.
  • MGRS – Militärisches Gitterreferenzsystem. Folgt den UTM-Koordinaten und teilt die Welt in 6-Grad-Längen- und 20-Breitenbänder ein, aber MGRS unterteilt die Gitterzonen dann weiter in kleinere 100.000-Meter-Gitter. Diese 100.000-Meter-Raster werden dann in 10.000-Meter-, 1.000-Meter-, 100-Meter-, 10-Meter- und 1-Meter-Raster unterteilt.
  • MGRS 16 —Military Grid Reference System in 16-stelliger Genauigkeit.
  • Shape – Nur verfügbar, wenn ein Point-Feature-Layer als Eingabe ausgewählt ist. Die Koordinaten jedes Punktes werden verwendet, um das Ausgabeformat zu definieren.

Gibt das Koordinatenformat an, in das die Eingabenotationen konvertiert werden.

  • DD 1 – Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DD 2 —Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • DD numerisch —Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern vom Typ Double. Werte im Westen und Süden werden mit einem Minuszeichen gekennzeichnet.
  • DDM 1 – Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DDM 2 – Längen- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • DMS 1 – Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DMS 2 —Längen- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • Gars – Global Area Reference System. Basierend auf Breiten- und Längengrad unterteilt und unterteilt es die Welt in Zellen.
  • Georef —Weltgeographisches Referenzsystem. Ein gitterbasiertes System, das die Welt in 15-Grad-Vierecke teilt und dann in kleinere Vierecke unterteilt.
  • Georef 16 —Weltgeographisches Referenzsystem in 16-stelliger Genauigkeit.
  • UTM-Zonen – Der Buchstabe N oder S nach der UTM-Zonennummer bezeichnet nur die Nord- oder Südhalbkugel.
  • UTM-Bänder – Der Buchstabe nach der UTM-Zonennummer bezeichnet eines der 20 Breitengrade. N oder S bezeichnet keine Hemisphäre.
  • USNG – Nationales Netz der Vereinigten Staaten. Fast genauso wie MGRS, verwendet aber das North American Datum 1983 (NAD83) als Datum.
  • USNG 16 —United States National Grid in 16-stelliger höherer Genauigkeit.
  • MGRS – Militärisches Gitterreferenzsystem. Folgt den UTM-Koordinaten und teilt die Welt in 6-Grad-Längen- und 20-Breitenbänder ein, aber MGRS unterteilt die Gitterzonen dann weiter in kleinere 100.000-Meter-Gitter. Diese 100.000-Meter-Raster werden dann in 10.000-Meter-, 1.000-Meter-, 100-Meter-, 10-Meter- und 1-Meter-Raster unterteilt.
  • MGRS 16 — Militärisches Gitterreferenzsystem mit 16-stelliger Genauigkeit.

Dieser Parameter wird nicht mehr verwendet, da alle Felder in die Ausgabetabelle übernommen werden.

Der Raumbezug der Ausgabe-Feature-Class. Der Standardwert ist GCS_WGS_1984.

Das Werkzeug projiziert die Ausgabe auf den angegebenen Raumbezug. Wenn sich die Eingabe- und Ausgabe-Koordinatensysteme in einem anderen Datum befinden, wird eine Standardtransformation basierend auf den Koordinatensystemen der Eingabe und Ausgabe und der Ausdehnung der Daten verwendet.

Der Raumbezug der Eingabedaten. Wenn der Eingaberaumbezug nicht aus der Eingabetabelle abgerufen werden kann, wird der Standardwert GCS_WGS_1984 verwendet.

Gibt an, ob Datensätze mit ungültiger Notation ausgeschlossen werden.

  • Deaktiviert – Ungültige Datensätze werden ausgeschlossen und nur gültige Datensätze werden in der Ausgabe in Punkte umgewandelt. Dies ist die Standardeinstellung.
  • Aktiviert – Gültige Datensätze werden in der Ausgabe in Punkte umgewandelt und ungültige Datensätze werden als Nullgeometrie eingeschlossen.

Die Eingabetabelle oder Textdatei. Punktmerkmale sind ebenfalls gültig.

Die Ausgabe-Point-Feature-Class. Die Attributtabelle enthält alle Felder der Eingabetabelle zusammen mit den Feldern, die konvertierte Werte im Ausgabeformat enthalten.

Ein Feld aus der Eingabetabelle, das den Längengradwert enthält.

Für die Optionen DD_2 , DD_NUMERIC , DDM_2 und DMS_2 des Parameters input_coordinate_format ist dies das Längengradfeld.

Für die Optionen DD_1 , DDM_1 und DMS_1 enthält dieses Feld sowohl Breiten- als auch Längengradwerte in einer einzigen Zeichenfolge.

Für GARS , GEOREF , GEOREF16 , UTM_ZONES , UTM_BANDS , USNG , USNG16 , MGRS und MGRS16 enthält dieses Feld ein alphanumerisches Notationssystem in einem einzigen Textfeld.

Ein Feld aus der Eingabetabelle, das den Breitengradwert enthält.

Für die Parameter DD_2 , DD_NUMERIC , DDM_2 und DMS_2 des Parameters input_coordinate_format ist dies das Längengradfeld.

Dieser Parameter wird ignoriert, wenn eines der Einzelzeichenfolgenformate ausgewählt wird.

Gibt das Koordinatenformat der Eingabefelder an.

  • DD_1 — Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DD_2 — Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern. Dies ist die Standardeinstellung.
  • DDM_1 — Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DDM_2 — Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • DMS_1 — Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DMS_2 — Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • GARS – Globales Gebietsreferenzsystem. Basierend auf Breiten- und Längengrad unterteilt und unterteilt es die Welt in Zellen.
  • GEOREF – Weltgeographisches Referenzsystem. Ein gitterbasiertes System, das die Welt in 15-Grad-Vierecke teilt und dann in kleinere Vierecke unterteilt.
  • GEOREF16 — World Geographic Reference System in 16-stelliger Genauigkeit.
  • UTM_ZONES — Der Buchstabe N oder S nach der UTM-Zonennummer bezeichnet nur die Nord- oder Südhemisphäre.
  • UTM_BANDS — Der Buchstabe nach der UTM-Zonennummer bezeichnet eines der 20 Breitenbänder. N oder S bezeichnet keine Hemisphäre.
  • USNG – Nationales Netz der Vereinigten Staaten. Fast genauso wie MGRS, verwendet aber das North American Datum 1983 (NAD83) als Datum.
  • USNG16 — United States National Grid in 16-stelliger höherer Genauigkeit.
  • MGRS – Militärisches Netzreferenzsystem. Folgt den UTM-Koordinaten und teilt die Welt in 6-Grad-Längen- und 20-Breitenbänder ein, aber MGRS unterteilt die Gitterzonen dann weiter in kleinere 100.000-Meter-Gitter. Diese 100.000-Meter-Raster werden dann in 10.000-Meter-, 1.000-Meter-, 100-Meter-, 10-Meter- und 1-Meter-Raster unterteilt.
  • MGRS16 — Military Grid Reference System in 16-stelliger Genauigkeit.
  • SHAPE — Nur verfügbar, wenn ein Point-Feature-Layer als Eingabe ausgewählt ist. Die Koordinaten jedes Punktes werden verwendet, um das Ausgabeformat zu definieren.

DD, DDM, DMS und UTM sind ebenfalls gültige Schlüsselwörter, die durch einfaches Eintippen (im Dialog) oder Übergeben des Werts in Skripten verwendet werden können. Schlüsselwörter mit Unterstrich und einem Qualifizierer sagen jedoch mehr über die Feldwerte aus.

Gibt das Koordinatenformat an, in das die Eingabenotationen konvertiert werden.

  • DD_1 — Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DD_2 — Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • DD_NUMERIC — Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern vom Typ Double. Werte im Westen und Süden werden mit einem Minuszeichen gekennzeichnet.
  • DDM_1 — Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DDM_2 — Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • DMS_1 — Sowohl Längen- als auch Breitenwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DMS_2 — Längengrad- und Breitengradwerte befinden sich in zwei separaten Feldern.
  • GARS – Globales Gebietsreferenzsystem. Basierend auf Breiten- und Längengrad teilt es die Welt und unterteilt sie in Zellen.
  • GEOREF – Weltgeographisches Referenzsystem. Ein gitterbasiertes System, das die Welt in 15-Grad-Vierecke teilt und dann in kleinere Vierecke unterteilt.
  • GEOREF16 — World Geographic Reference System in 16-stelliger Genauigkeit.
  • UTM_ZONES — Der Buchstabe N oder S nach der UTM-Zonennummer bezeichnet nur die Nord- oder Südhalbkugel.
  • UTM_BANDS — Der Buchstabe nach der UTM-Zonennummer bezeichnet eines der 20 Breitenbänder. N oder S bezeichnet keine Hemisphäre.
  • USNG – Nationales Netz der Vereinigten Staaten. Fast genauso wie MGRS, verwendet aber das North American Datum 1983 (NAD83) als Datum.
  • USNG16 — United States National Grid in 16-stelliger höherer Genauigkeit.
  • MGRS – Militärisches Netzreferenzsystem. Folgt den UTM-Koordinaten und teilt die Welt in 6-Grad-Längen- und 20-Breitenbänder ein, aber MGRS unterteilt die Gitterzonen dann weiter in kleinere 100.000-Meter-Gitter. Diese 100.000-Meter-Raster werden dann in 10.000-Meter-, 1.000-Meter-, 100-Meter-, 10-Meter- und 1-Meter-Raster unterteilt.
  • MGRS16 — Military Grid Reference System in 16-stelliger Genauigkeit.

DD, DDM, DMS und UTM sind ebenfalls gültige Schlüsselwörter, die durch einfaches Eintippen (im Dialog) oder Übergeben des Werts in Skripten verwendet werden können. Schlüsselwörter mit Unterstrich und einem Qualifizierer sagen jedoch mehr über die Feldwerte aus.

Dieser Parameter wird ignoriert, da alle Felder in die Ausgabetabelle übernommen werden.

Der Raumbezug der Ausgabe-Feature-Class. Der Standardwert ist GCS_WGS_1984.

Das Werkzeug projiziert die Ausgabe auf den angegebenen Raumbezug. Wenn sich die Eingabe- und Ausgabe-Koordinatensysteme in einem anderen Datum befinden, wird eine Standardtransformation basierend auf den Koordinatensystemen der Eingabe und Ausgabe und der Ausdehnung der Daten verwendet.

Der Raumbezug der Eingabedaten. Wenn der Eingaberaumbezug nicht aus der Eingabetabelle abgerufen werden kann, wird der Standardwert GCS_WGS_1984 verwendet.

Gibt an, ob Datensätze mit ungültiger Notation ausgeschlossen werden sollen.

  • EXCLUDE_INVALID — Ungültige Datensätze werden ausgeschlossen und nur gültige Datensätze werden in der Ausgabe in Punkte umgewandelt. Dies ist die Standardeinstellung.
  • INCLUDE_INVALID — Gültige Datensätze werden in der Ausgabe in Punkte umgewandelt und ungültige Datensätze werden als Nullgeometrie eingeschlossen.

Codebeispiel

Das folgende eigenständige Skript veranschaulicht die Verwendung der ConvertCoordinateNotation-Funktion mit einem Eingabeformatfeld.

Das folgende eigenständige Skript veranschaulicht die Verwendung der ConvertCoordinateNotation-Funktion mit zwei Eingabeformatfeldern.

Das folgende eigenständige Skript demonstriert die Verwendung der ConvertCoordinateNotation-Funktion mit den Formaten UTM_ZONES und UTM_BANDS.

Das folgende eigenständige Skript veranschaulicht, wie die ConvertCoordinateNotation-Funktion verwendet wird, um die Dezimalgradwerte des Ausgabetexts in Gleitkommawerte zu konvertieren. Beachten Sie, dass anstelle von S und W ein Minuszeichen verwendet wird.


Feature-Class-Speicher

Jede Feature-Class wird in einer einzigen Tabelle verwaltet. Eine Formspalte in jeder Zeile wird verwendet, um die Geometrie oder Form jedes Features aufzunehmen.

In der Feature-Class-Tabelle gilt Folgendes:

  • Jede Feature-Class ist eine Tabelle.
  • Einzelne Merkmale werden als Reihen gehalten.
  • Feature-Attribute werden in Spalten aufgezeichnet.
  • Die Formspalte enthält die Geometrie jedes Features (Punkt, Linie, Polygon usw.).
  • Die Spalte ObjectID enthält die eindeutige Kennung für jedes Feature.

Wenn Sie eine Line-Feature-Class in einer Geodatabase erstellen, wird der Feature-Class automatisch ein zusätzliches Feld hinzugefügt, um die Länge der Linie aufzuzeichnen. Wenn Sie eine Polygon-Feature-Class erstellen, werden automatisch zwei zusätzliche Felder hinzugefügt, um die Länge (Umfang) und die Fläche jedes Polygon-Features aufzuzeichnen. Die Maßeinheiten für diese Werte hängen vom Raumbezug ab, der für die Feature-Class definiert ist. Die Namen dieser Felder variieren je nach verwendeter Datenbank und räumlichem Typ. Dies sind Pflichtfelder und können nicht geändert werden.


1 Antwort 1

Benutze die ALTER-TABELLE. MODIFY-Anweisung, um eine vorhandene Spaltendefinition zu ändern. Sie können Spaltendatentyp, Standardwert, Spalteneinschränkung, Spaltenausdruck (für virtuelle Spalten) und Spaltenverschlüsselung ändern.

Sie können die Länge einer vorhandenen Spalte erhöhen oder verringern, wenn alle vorhandenen Daten die neue Länge erfüllen. Sie können eine Spalte von der Byte-Semantik in die CHAR-Semantik ändern oder umgekehrt. Sie müssen den Initialisierungsparameter BLANK_TRIMMING=TRUE setzen, um die Länge einer nicht leeren CHAR-Spalte zu verringern.

Wenn Sie eine Tabelle ändern, um die Länge einer Spalte des Datentyps CHAR zu erhöhen, müssen Sie bedenken, dass dies ein zeitaufwändiger Vorgang sein und erheblichen zusätzlichen Speicher erfordern kann, insbesondere wenn die Tabelle viele Zeilen enthält. Dies liegt daran, dass der CHAR-Wert in jeder Zeile mit Leerzeichen aufgefüllt werden muss, um die neue Spaltenlänge zu erfüllen.

Die Oracle SQL-Sprachreferenz enthält viel mehr Details, einschließlich der folgenden:

Sie können den Datentyp jeder Spalte ändern, wenn alle Zeilen der Spalte Nullen enthalten. Wenn Sie jedoch den Datentyp einer Spalte in einer Containertabelle einer materialisierten Ansicht ändern, macht Oracle Database die entsprechende materialisierte Ansicht ungültig.

Sie können jederzeit die Größe einer Zeichen- oder Rohspalte oder die Genauigkeit einer numerischen Spalte erhöhen, unabhängig davon, ob alle Zeilen Nullen enthalten oder nicht. Sie können die Größe eines Datentyps einer Spalte reduzieren, solange die Änderung keine Änderung der Daten erfordert. Die Datenbank durchsucht vorhandene Daten und gibt einen Fehler zurück, wenn Daten vorhanden sind, die die neue Längenbegrenzung überschreiten.

Sie können eine DATUM-Spalte in TIMESTAMP oder TIMESTAMP WITH LOCAL TIME ZONE ändern. Sie können jeden TIMESTAMP WITH LOCAL TIME ZONE in eine DATE-Spalte ändern.

Wenn die Tabelle leer ist, können Sie das führende Feld oder den Sekundenbruchteil einer Datetime- oder Intervallspalte vergrößern oder verkleinern. Wenn die Tabelle nicht leer ist, können Sie nur das führende Feld oder den Sekundenbruchteil einer Datums- oder Intervallspalte erhöhen.

Bei CHAR- und VARCHAR2-Spalten können Sie die Längensemantik ändern, indem Sie CHAR (um die Zeichensemantik für eine ursprünglich in Byte angegebene Spalte anzugeben) oder BYTE (um die Byte-Semantik für eine ursprünglich in Zeichen angegebene Spalte anzugeben) angeben. Um die Längensemantik vorhandener Spalten zu erfahren, fragen Sie die Spalte CHAR_USED der Datenwörterbuchsicht ALL_, USER_ oder DBA_TAB_COLUMNS ab.

In der obigen Dokumentation finden Sie zusätzliche Informationen und Einschränkungen. Hier ist eine Demonstration des Versuchs, die Genauigkeit einer Number-Spalte und die Länge eines Varchar2 zu reduzieren. Sie können andere Änderungen ausprobieren, damit Sie wissen, was passieren wird.


Berechnen von Fläche, Länge und anderen geometrischen Eigenschaften

Mit dem Werkzeug Geometrie berechnen können Sie auf die Geometrie der Features in einem Layer zugreifen. Das Werkzeug kann abhängig von der Geometrie des Eingabe-Layers Koordinatenwerte, Längen und Flächen berechnen. Sie können die Fläche, Länge oder den Umfang von Features nur berechnen, wenn das verwendete Koordinatensystem projiziert wird. Beachten Sie, dass unterschiedliche Projektionen unterschiedliche räumliche Eigenschaften und Verzerrungen aufweisen. Wenn das Koordinatensystem der Datenquelle und des Datenrahmens nicht identisch sind, erhalten Sie möglicherweise ein anderes Ergebnis, wenn Sie die Geometrie mit dem Koordinatensystem des Datenrahmens berechnen, als wenn Sie mit dem Koordinatensystem der Datenquelle berechnen. Es wird empfohlen, bei der Flächenberechnung eine flächentreue Projektion zu verwenden.

Wenn Sie Xmin, Xmax, Ymin oder Ymax berechnen möchten, können Sie dies mithilfe von Python mit dem Feldrechner tun, siehe Beispiele für Feld berechnen.

Sie können das Dialogfeld Geometrie berechnen verwenden, um die Fläche, Länge oder den Umfang von Shapefile-Features zu aktualisieren, da diese Eigenschaften nicht automatisch aktualisiert werden, wenn Sie Features in Shapefiles bearbeiten.

Sie können Z-Koordinatenwerte oder 3D-Messungen nur berechnen, wenn das Feature z-bewusst ist. Z-Koordinatenwerte und 3D-Messungen können unabhängig vom gewählten Koordinatensystem berechnet werden. Die für z- und 3D-Berechnungen aufgeführten Einheiten sind planar (Meilen, Meter usw.), solange für den Layer ein vertikales Koordinatensystem definiert wurde. Wenn für die Daten kein vertikales Koordinatensystem definiert ist, werden die Einheiten als unbekannt aufgeführt. Weitere Informationen zu Z-Werten und Feature-Geometrietypen finden Sie unter Feature-Class-Grundlagen.

Sie können Berechnungen durchführen, ohne sich in einer Bearbeitungssitzung zu befinden. In diesem Fall gibt es jedoch keine Möglichkeit, die Ergebnisse rückgängig zu machen.

Sie können geometrische Berechnungen nur für Attributtabellen durchführen.

Optional können Sie STRG+UMSCHALT+G drücken, um das Dialogfeld Geometrie berechnen zu öffnen.

Je nach verwendetem Layertyp sind unterschiedliche Eigenschaften verfügbar.

Wenn Sie in ein Textfeld rechnen, können Sie der Berechnung eine Einheitenabkürzung hinzufügen. 47,5673 m² ist beispielsweise ein Beispiel für die Ausgabe der Fläche, die in ein Textfeld mit der Abkürzung der Einheit berechnet wird.

Vorsicht:

Sie können eine Feldberechnung nicht rückgängig machen, wenn sie außerhalb einer Bearbeitungssitzung ausgeführt wird.

Um zu vermeiden, dass beim Versuch, Werte außerhalb einer Bearbeitungssitzung zu berechnen, eine Warnmeldung angezeigt wird, können Sie das Kontrollkästchen Mich nicht erneut benachrichtigen in der Meldung aktivieren. Sie können die Warnmeldung über die Registerkarte Tabellen im Dialogfeld ArcMap-Optionen wieder aktivieren.

Das Dialogfeld Geometrie berechnen berücksichtigt die Anzahl der Dezimalstellen (standardmäßig drei), die auf der Registerkarte Allgemein des Dialogfelds Bearbeitungsoptionen angegeben ist. Um diese Einstellung zu ändern, klicken Sie in der Editor-Symbolleiste auf das Menü Editor und dann auf Optionen . Diese Einstellung wird im Kartendokument gespeichert.


Betrachten Sie die Ebene in der 3D-Szene

Sie können 2D-Ebenen in 3D-Szenen anzeigen. Die Höhenoberfläche der Szene positioniert die 2D-Features korrekt in einer 3D-Landschaft.

  1. Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Layer Lodgings, und klicken Sie auf Kopieren .
  2. Klicken Sie auf die Registerkarte Ansicht der lokalen Egmont-3D-Szene, um die Szene zu aktivieren.
  3. Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Szenennamen Egmont 3D , und klicken Sie auf Einfügen .
  4. Klicken Sie auf der Registerkarte Karte in der Gruppe Navigieren auf Erkunden .
  5. Verwenden Sie die Maustasten und das Rad, um die Szene zu zoomen, zu schwenken, zu neigen und zu drehen. Alternativ verwenden Sie den Bildschirmnavigatorin der Szene.

Die Features werden an der richtigen Position auf der 3D-Oberfläche angezeigt, aber die Symbole liegen flach – wie Papierstücke, die am Berg kleben.

Der Layer verwendet jetzt 3D-Zeichnungseigenschaften und die Symbole stehen auf der Oberfläche. Dieser Effekt wird Billboarding genannt. Es ist eine Verbesserung, aber ein Symbol, das für die 3D-Ansicht entwickelt wurde, sieht besser aus.

Sie können auf weitere Symbole zugreifen, indem Sie Stile hinzufügen.

Die skalenbasierte Größenanpassung ist in Szenen nicht verfügbar. Für diese Szene funktioniert eine 5- oder 6-Punkte-Symbolgröße in den meisten Maßstäben gut, kann jedoch in einigen Maßstäben zu klein oder zu groß sein.

Sie können ein tabellarisches Dataset, z. B. eine Microsoft Excel-Datei oder eine CSV-Datei, in ArcGIS Pro in räumliche Daten konvertieren, sofern die Tabelle Straßenadressen oder räumliche Koordinaten enthält. Auf diese Weise können Sie eine Vielzahl von Daten visualisieren und räumlich analysieren – von Kundenlisten bis hin zu Tabellen, die von Websites gescrapt sind – die zwar räumlicher Natur sind, aber noch nicht räumlich aktiviert sind.


Syntax

Die Eingabe-Punkt-Features, die die Positionen definieren, aus denen Sie die Raster-Zellenwerte extrahieren möchten.

Das Raster-Dataset, dessen Werte extrahiert werden.

Es kann ein Raster vom Typ Integer oder Gleitkomma sein.

Das Ausgabe-Point-Feature-Dataset, das die extrahierten Raster-Werte enthält.

Gibt an, ob Interpolation verwendet wird oder nicht.

  • NONE — Es wird keine Interpolation angewendet, der Wert der Zellmitte wird verwendet. Dies ist die Standardeinstellung.
  • INTERPOLATE — Der Wert der Zelle wird aus den benachbarten Zellen mit gültigen Werten unter Verwendung einer bilinearen Interpolation berechnet. NoData-Werte werden bei der Interpolation ignoriert, es sei denn, alle angrenzenden Zellen sind NoData.

Bestimmt, ob die Raster-Attribute in das Ausgabe-Point-Feature-Dataset geschrieben werden.

  • VALUE_ONLY — Nur der Wert des Eingabe-Rasters wird zu den Punktattributen hinzugefügt. Dies ist die Standardeinstellung.
  • ALLE — Alle Felder aus dem Eingabe-Raster (außer Anzahl) werden zu den Punktattributen hinzugefügt.