GeoTools操作shapefile時Id不固定

2021-08-30 01:16:21 字數 491 閱讀 3855

系統是使用geoserver作為gis server,shapefile作為gis資料檔案來支援gis操作的。另外有乙個gis web service來封裝對gis的一些功能操作,比如crud等,這個用geotools。

對gis進行設計時,featureid是乙個很重要的概念,它標示了乙個gis元素。

剛開始對gis不太熟悉,問了一下其他做過gis的人,得到了乙個核心概念,featureid唯一標示乙個gis元素,而且不會改變。於是基於這個假設開始設計編碼。

因為剛開始一直都是簡單的在client端show出地圖來,所以也沒有什麼問題。

直到......

需要引入一些update和delete的操作,問題來了,發現featureid不是固定的,解決的辦法也比較直觀,自定義一些id屬性放到shapefile裡面。問題是這個需要改動以前的code並且重新準備資料。

反思:這個問題其實是可以避免的,應該在早期有乙個小的sample code來檢查基本的假設,這樣就可以避免了。

整理幾種Geotools操作向量檔案模糊查詢資料

根據fid查詢 filte ctory2 ff commonfactoryfinder.getfilte ctory2 setfids new hashset fids.add ff.featureid road.1 fids.add ff.featureid road.2 filter filte...

GeoTools寫入POSTGIS遇到些問題

摘要 問題就在對feature.setattribute int i,object obj 這個方法執行的時候,如果obj是乙個linestring物件是沒有問題的,就和已經完成的 一樣。上面的 本身是可以執行的,可是如果乙個feature物件有多個屬性呢?我在geotools 2.3的api中還沒...

使用GEOTools讀取dbf檔案

前面講到使用 featurestore.addfeatures 這 個方法來把資料裝入空shp檔案內,那麼反過來,要怎麼讀取shp檔案內的屬性資料呢?這主要用到 dbasefilereader這乙個類。通過這個類可以讀取所有欄位每一行的資料,然後賦值到乙個陣列內進行輸出。具體的 如下 public ...