2017-01-05 26 views
1

我將如何創建一個包含使用PostGIS的一個地理點(經/緯)的表?那麼還有,格式是用來插入這個表格(使用SQL/PostgreSQL)?如何創建和含經/緯度採用PostGIS的查詢表?

難道只是下面的表創建:

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

如果是這樣,什麼是point,你會何時改用ST_Point(X,Y)

如果此列有一個索引?

注:許多問題之前回答的細節如何轉換。但我想從頭開始創建一個支持存儲經度和緯度的空表。

回答

1

是的,語法創建與地理表很簡單,只要CREATE TABLE x (geog geography(POINT,4326));

在此命令,POINT是形狀,該表將被存儲的類型。其他可能性包括:

  • LINESTRING
  • POLYGON
  • 多點
  • MULTILINESTRING
  • MULTIPOLYGON
  • GEOMETRYCOLLECTION

爲什麼在表中存儲一個地理的原因是有道理的一些情況下,它能讓你運行01的能力這將使你的結果,如果你正在計算在地球是一個球形。因此,例如,我可以有存儲地理兩點(只知道LAT-各家之長的),我可以很容易地找到米之間的距離

ST_Point(X,Y)僅僅是一個函數,它在兩個數字,然後創建X代表第一個數字,Y代表第二個數字。它不一定是一對拉長的對。逸岸這點沒有概念,它的座標參考系統,它是在

一旦你創建表,插入記錄的話,很簡單,只要: INSERT INTO X (geog) VALUES (ST_GeographyFromText('POINT(2.5559 49.0083)'));

你在這裏創建了一個地理點巴黎,爲E

49.0083N的緯度和經度的2.5559