30 天從後端開始學 GIS-Day 09

一起來用 DotSpatial 處理 Shapefile 吧! — 2 建立

建立的方法也很簡單,按照我們之前所說的,要先擁有一個包含 Geometry 資訊的 Feature 存在,我們才能針對這個區域設定他的 Attribute

但是我們要如何製造出一個 Geometry 呢? 以我的情況來說,PostgreSQL 是可以儲存空間資訊的,但我沒有辦法在不使用套件的情快下直接讀取出來,因此最方便快速的方法,就是把在 PostgreSQL 中的資料讀取成 WKT 的格式,再轉換成套件所支援的 Geometry 格式。

轉換 WKT

在 DotSpatial 中,要製造一個 Polygon 需要使用到其他 Geometry 的型別,其中最基本的就是 Coordinate,也就是 Point。

這個方法有個缺點,如果是甜甜圈類型的 Polygon,就會因為 Polygon((),()) 的關係,多了一個不能被轉換成座標的部分,如果你的資料包含這種格式要記得另外做處理。

建立 Shapefile

建立一個 Shapefile 的完整程式碼如下:

把檔案用 QGIS 開啟的結果:

--

--