這篇文章打算通過講講ArcGIS和PostGIS的關係,來深化一下空間類型的概念。
在機器上安裝PostgreSQL數據庫,創建用戶sde,數據庫test,架構名sde。然後在ArcMap中連接,發現是可以連上的。
然後新建一個要素類會提示如下錯誤。
錯誤原因也很清晰,就是這個數據庫中沒有空間類型,而創建要素類是指定了空間字段的,所以無法創建。
這時可以安裝PostGIS插件,然後執行create extension postgis;
這樣該庫就有了一個空間類型postgis,就可以成功創建要素類了,不過我們發現這個要素類沒法編輯,
這是因爲ArcMap識別到該庫沒有創建Geodatabase模型,所以無法開啓編輯。
這個時候就需要執行 create enterprise geodatabase工具來創建Geodatabase模型,
完成創建後,該庫就有了兩種空間類型,一種是ArcGIS的st_geometry,一種是PostGIS的geometry。
而ArcGIS是可以兼容PostGIS類型的,
所以創建要素類執行到以下步驟的時候,可以選擇使用哪種類型,default就是st_geometry,pg_geometry是postgis。
這個選擇決定了該要素類的空間字段是什麼類型,可以對比如下的區別。
當我們複製粘貼數據到SDE的時候,也可以重新選擇空間類型,
所以到了這裏,就可以理解,空間類型,就是決定空間字段的類型。
那麼類似幾何網絡這樣的高級模型,涉及到空間字段的時候,也可以自己選擇類型,但整個模型的成功運行,還是需要依賴Geodatabase模型中的對象。