Shape檔案的解析

2021-09-08 17:43:28 字數 1585 閱讀 7841

shapefile屬於一種向量圖形格式,它能夠儲存幾何圖形的位置及相關屬性。我的理解就是:shape檔案首先它不僅僅只是乙個檔案,它可以是乙個資料夾.裡面包含很多檔案,其中有三個檔案是必不可少的,分別是".shp", ".shx"與 ".dbf" 檔案.

必須的檔案:

.shp — 圖形格式,用於儲存元素的幾何實體。

.shx — 圖形索引格式。幾何體位置索引,記錄每乙個幾何體在shp檔案之中的位置,能夠加快向前或向後搜尋乙個幾何體的效率。

.dbf — 屬性資料格式,以dbase iv的資料**式儲存每個幾何形狀的屬性資料。

其他可選的檔案:

.ixs — 可讀寫shapefile檔案的地理編碼索引

.mxs — 可讀寫shapefile檔案的地理編碼索引(odb格式)

.atx — .dbf檔案的屬性索引,其檔名格式為shapefile.columnname.atx (arcgis 8及之後的版本)

.shp.xml — 以xml格式儲存元資料。

.cpg — 用於描述.dbf檔案的**頁,指明其使用的字元編碼

.prj — 投影格式,用於儲存地理座標系統與投影資訊,是乙個儲存well-known text投影描述符的文字檔案

這些都是用來了解,真正解析shp的時候,就是解析.shp檔案,解析shape檔案的不同,就是因為shape檔案中包含空間字段,就是點,線,面之類的座標,如果解析成json串的話,是沒有問題的,但是沒有解析入庫的話,就要注意空間欄位的型別.下面提供核心**.

//看傳入的資料型別,有可能傳入的是file 有可能是multifile,也有可能是物件,但是有需要獲取path,小白的理解

//解析json的就不多說 我這裡介紹解析直接入庫的,解析直接入庫時,需要先行解析獲取shape裡面的字段值,然後寫乙個實體類 ,把獲取到的字段值作為屬性寫入實體類

//這下面是我用文字寫的乙個偽**

//實體類

public class model

string shppath = "d:\\cn_4";

// 判斷該路徑下時候存在shape檔案

file shpdirfile = new file(shppath);

file listfiles = shpdirfile.listfiles();

for (file file : listfiles) ", json.tojsonstring(column));

string typename = shpdatastore.gettypenames()[0];

******featuresource featuresource = null;

featuresource = shpdatastore.getfeaturesource(typename);

******featurecollection collection = featuresource.getfeatures();

******featureiterator iterator = collection.features();

while (iterator.hasnext())

lists.add(shapeinfo);

Android xml 深入解析shape

先簡單介紹一下shape的基本屬性 solid 實心,就是填充的意思 android color指定填充的顏色 gradient 漸變 android startcolor和 android centercolor,android endcolor分別為起始和中間 結束顏色,ndroid angle...

Shape檔案介紹

shapefile檔案是美國環境系統研究所 esri 所研製的gis檔案系統格式檔案,是工業標準的向量資料檔案。shapefile將空間特徵表中的非拓撲幾何物件和屬性資訊儲存在資料集中,特徵表中的幾何物件存為以座標點集表示的圖形檔案 shp檔案,shapefile檔案並不含拓撲 topologica...

有關shape檔案的說明

shapefile 是儲存地理資訊的簡單檔案格式,但是工作中,常會接到使用者的很多問題,這裡把常見的彙總下。一 shape 檔案到底可以多大?shapefile 的每個檔案都不能超過 2 gb。也就是說,儲存資料的 dbf 與.shp 分別不能超過 2gb。但是,所有檔案的總大小可以超過 2 gb。...