Einfügen von Features in eine Tabelle mit einer "ST_Geometry"-Spalte

Verwenden Sie die INSERT-SQL-Anweisung und "ST_Geometry"-Funktionen, um Datensätze in eine Tabelle mit einer "ST_Geometry"-Spalte einzufügen.

Daten, die in eine "ST_Geometry"-Spalte eingefügt werden sollen, können in einem der folgenden Geometrieformate angegeben werden:

Diese Formate erfordern die Verwendung von Konvertierungsfunktionen für die Ein- und Ausgabe, damit räumliche Daten in eine Datenbank eingefügt und daraus abgerufen werden können. Es werden Funktionen bereitgestellt, mit denen Daten aus diesen externen Formaten in die Datentypen konvertiert werden können, die in einer Oracle-, PostgreSQL oder SQLite-Datenbank gespeichert sind. Für PostgreSQL werden auch Funktionen zum Konvertieren des Shapefile-Formats von Esri bereitgestellt.

Im folgenden Beispiel werden einige Datensätze in einer Oracle-, PostgreSQL- und SQLite-Datenbank in Datenbanktabellen ("sensitive_areas" und "hazardous_sites") eingefügt. Mit der Funktion "ST_Geometry" wird das Well-Known Text-Format eines Polygons in den Datentyp "ST_Polygon" konvertiert, bevor es in die Spalte "ZONE" der Tabelle "sensitive_areas" in Oracle eingefügt wird. Mit der Funktion "ST_Polygon" wird das Well-Known Text-Format eines Polygons in den Datentyp "ST_Polygon" konvertiert, bevor es in die Spalte "ZONE" der Tabelle "sensitive_areas" in PostgreSQL und SQLite eingefügt wird. Entsprechend wird mit der Funktion "ST_Geometry" das Well-Known Text-Format eines Punktes in den Typ "ST_Point" konvertiert, bevor es in die Spalte "LOCATION" der Tabelle "hazardous_sites" in Oracle eingefügt wird, und die Funktion "ST_Point" wird verwendet, um das Well-Known Text-Format eines Punktes in den Typ "ST_Point" zu konvertieren, bevor es in die Spalte "LOCATION" der Tabelle "hazardous_sites" in PostgreSQL und SQLite eingefügt wird. Mit den Funktionen "ST_PolyFromWKB()" und "ST_PointFromWKB()" können Sie Daten auch im Well-Known Binary-Format eingeben.

Schritte:
  1. Melden Sie sich bei einem SQL-Editor und anschließend bei der Datenbank mit den Tabellen, in die Sie Daten einfügen möchten, als Benutzer mit Berechtigungen zum Einfügen von Daten in die Tabellen an.
  2. Verwenden Sie die INSERT-SQL-Anweisung, um den Tabellen "sensitive_areas" und "hazardous_sites" einen Datensatz hinzuzufügen.
    • Oracle
      INSERT INTO SENSITIVE_AREAS (area_id, name, area_size, type, zone) VALUES (
       1,
       'Summerhill Elementary School',
       67920.64,
       'school',
       sde.st_geometry('polygon ((52 28,58 28,58 23,52 23,52 28))', 4326)
      );
      
      INSERT INTO HAZARDOUS_SITES (row_id, site_id, name, location) VALUES (
       1,
       102,
       'W. H. Kleenare Chemical Repository',
       sde.st_geometry('point (52 24)', 4326)
      );
      
    • PostgreSQL
      INSERT INTO sensitive_areas (area_id, name, area_size, type, zone) VALUES (
       1,
       'Summerhill Elementary School',
       67920.64,
       'school',
       ST_Polygon('polygon ((52 28, 58 28, 58 23, 52 23, 52 28))', 4326)
      );
      
      INSERT INTO hazardous_sites (row_id, site_id, name, location) VALUES (
       1,
       102,
       'W. H. Kleenare Chemical Repository',
       ST_Point('point (52 24)', 4326
      );
      
    • SQLite
      INSERT INTO sensitive_areas (name, area_size, type, zone) VALUES (
       'Summerhill Elementary School',
       67920.64,
       'school',
       ST_Polygon('polygon ((52 28, 58 28, 58 23, 52 23, 52 28))', 4326)
      );
      
      INSERT INTO hazardous_sites (site_id, name, location) VALUES (
       102,
       'W. H. Kleenare Chemical Repository',
       ST_Point('point (52 24)', 4326
      );
      

Verwandte Themen

5/10/2014