iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
Software Development

歡迎來到 GIS 的世界!30 天從後端開始學 GIS系列 第 13

一起來用 NetTopologySuite 處理 Shapefile 吧! - 0 準備

  • 分享至 

  • xImage
  •  

文章同步發表至 Medium

GDAL V.S. NetTopologySuite

前幾篇介紹了如何使用 GDAL 進行 Shapefile 檔案的讀取和建立之後,下一個要介紹的套件是 NetTopologySuite

雖然我們前面順利的解決了 GDAL 對於中文亂碼的問題,但他在使用上還有一個限制:如果沒有註冊且沒有開啟 Shapefile,就無法針對 Geometry 型別進行相關的操作,例如:判斷交集、畫一個 Buffer 等。

然而,GIS 的處理是離不開這些功能的,所以最後我決定轉而只使用 NetTopologySuite。接下來就讓我們一起看看怎麼使用吧。

我的 Nuget 找不到 NetTopologySuite.IO.Esri :scream:

如果你使用 NetTopologySuiteShapefile 這兩個關鍵字去 google ,第一個應該會看到的是 NetTopologySuite.IO.ShapeFile 這個套件,但可以在 README 的地方看到團隊沒有要繼續更新了,建議轉而使用 NetTopologySuite.IO.Esri。但經過搜尋之後,發現他還沒有被發佈到 Nuget 上,所以必須手動安裝。

安裝的方法很簡單,在 GitHub 頁面選擇下載成 zip 檔,或是 clone 下來之後,按照個人習慣將他編譯成 dll 檔案,接著在你原本的專案內新增這些 dll 檔案的參考即可。

我的話習慣用指令的方式進行:

dotnet publish -c Release

下圖為編譯後的全部內容。選取起來的三個 dll 中,最主要是第三個 NetTopologySuite.IO.Esri.Shapefile,其他兩個也會使用到,可以從這裡加入參考,或是從 Nuget 中加入也行。

新增參考

如果你是使用 Visual Stadio 可以看看官方文件是如何操作的;如果你和我一樣是使用 Rider,那麼就對著你的 project 右鍵,點選 Add,就可以看到 Add Reference 的選項。點擊之後會打開一個視窗,在視窗最下面點選 Add From … 就能自行新增參考了。

References


上一篇
一起來用 GDAL 處理 Shapefile 吧! - 3 建立
下一篇
一起來用 NetTopologySuite 處理 Shapefile 吧! - 1 讀取和建立
系列文
歡迎來到 GIS 的世界!30 天從後端開始學 GIS30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言