2016-01-20 45 views
0

我遵循https://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS21UbuntuPGSQL93Apt指南在Ubuntu 14.04上設置PostGIS,儘管過程本身非常流暢,但結果並不如此。Postgis和Postgresql:類型錯誤「st_point」不存在

即使我可以用CREATE EXTENSION postgis;在數據庫中創建擴展名,仍然查詢ALTER TABLE "realties" ADD "coordinates" ST_Point;會拋出ERROR: type error "st_point" does not exist

服務器版本9.4.5(包postgresql-9.4-PostGIS的-2.1)

任何人都可能知道如何解決這一問題?

回答

2

PostGis只創建一個通用類型geometrygeometry類型的對象可以是點,多邊形等。

ST_Point不是一種類型,而是一種返回Point類型幾何的函數。

因此,正確的語法是:

ALTER TABLE "realties" ADD "coordinates" geometry(Point); 

如果你知道你將要使用的SRID,是很好的做法,指定SRID爲好,例如:

ALTER TABLE "realties" ADD "coordinates" geometry(Point, 4326); 

如果你不當然,你會存儲什麼樣的幾何形狀,沒有指定任何東西:

ALTER TABLE "realties" ADD "coordinates" geometry; 

PS:Postgis也提供geography類型,與geometry類似。欲瞭解更多信息:http://postgis.net/docs/using_postgis_dbmanagement.html#PostGIS_Geography

相關問題