2017-01-05 1 views
1

Wie würde ich mithilfe von PostGIS eine Tabelle erstellen, die einen geografischen Punkt (lat/long) enthält? Was wäre dann das Format für das Einfügen in diese Tabelle (mit SQL/PostgreSQL)?Wie erstellt und fragt man eine Tabelle mit lat/long mit PostGIS?

Wäre es nur die folgenden für das Erstellen von Tabellen:

CREATE TABLE x (geog geography(point, 4326))

Wenn ja, was die point ist und wann würden Sie stattdessen verwenden ST_Point(X,Y)

Sollte diese Spalte einen Index haben?

Hinweis: Viele Fragen zuvor beantwortet detailliert, wie Sie konvertieren. Aber ich möchte eine leere Tabelle von Grund auf erstellen, die die Speicherung von Längen- und Breitengrad unterstützt.

Antwort

1

Ja, die Syntax für eine Tabelle mit Geographie zu schaffen, ist so einfach wie CREATE TABLE x (geog geography(POINT,4326));

In diesem Befehl POINT die Art der Form ist, dass diese Tabelle gespeichert werden. Andere Möglichkeiten sind:

  • LINESTRING
  • POLYGON
  • MEHRFACH
  • Mehrlinien
  • MULTI
  • GEOMETRYCOLLECTION

Der Grund, warum eine Geographie in einer Tabelle zu speichern macht Sinn in einigen Fälle, gibt es Ihnen die Möglichkeit, 01 zu laufen, die Ihnen Ergebnisse liefern würde, als ob Sie auf einer sphärischen Erde rechnen würden. So könnte ich zum Beispiel zwei Punkte als Geographie gespeichert haben (weiß nur lat-long von jedem), und ich könnte leicht die Entfernung zwischen ihnen in Meter

ST_Point(X,Y) ist nur eine Funktion, die in zwei Zahlen und dann erstellt ein Punkt, der X als erste Zahl und Y als zweite Zahl hat. Es muss kein Lat-langes Paar sein. Infact dieser Punkt nicht Begriff davon Referenzkoordinatensystem ist in

Sobald Sie die Tabelle erstellen, Einfügen von Datensätzen in es ist so einfach wie:. INSERT INTO X (geog) VALUES (ST_GeographyFromText('POINT(2.5559 49.0083)'));

Hier sind Sie sind ein Geografie Punkt zu schaffen für Paris, mit einem Breitengrad von 49.0083N und einem Längengrad von 2.5559 E

Verwandte Themen