做gis開發的朋友可能對shp並不陌生,但是看到csdn網友不斷提問關於shp檔案的一些問題,利用閒暇我對shp檔案的一些知識加以總結,共享csdn網友。
首先了解一下shp檔案的一些簡單知識
shapefile檔案是美國環境系統研究所(esri)所研製的gis檔案系統格式檔案,是工業標準的向量資料檔案。 shapefile將空間特徵表中的非拓撲幾何物件和屬性資訊儲存在資料集中,特徵表中的幾何物件存為以座標點集表示的圖形檔案—shp檔案,shapefile檔案並不含拓撲(topological)資料結構。乙個shape檔案包括三個檔案:乙個主檔案(.shp),乙個索引檔案(.shx),和乙個dbase(*.dbf)表。主檔案是乙個直接訪問,變長度記錄的檔案,其中每個記錄描述構成乙個地理特徵(feature)的所有vertices座標值。在索引檔案中,每條記錄包含對應主檔案記錄距離主檔案頭開始的偏移量,dbase表包含shp檔案中每乙個feature的特徵屬性,表中幾何記錄和屬性資料之間的一一對應關係是基於記錄數目的id。在dbase檔案中的屬性記錄必須和主檔案中的記錄順序是相同的。圖形資料和屬性資料通過索引號建立一一對應的關係。
shapefile中座標檔案(.shp)
由固定長度的檔案頭和接著的變長度空間資料記錄組成。檔案頭由100位元組的說明資訊組成的,主要說明檔案的長度、shape型別、整個shape圖層的範圍等等,這些資訊構成了空間資料的元資料。在匯入空間資料時首先要讀入檔案頭獲取shape檔案的基本資訊,並以此資訊為基礎建立相應的元資料表。而變長度空間資料記錄是由固定長度的記錄頭和變長度記錄內容組成,其記錄結構基本類似,每條記錄都有記錄頭和記錄內容組成(空間座標對)。記錄頭的內容包括記錄號(record number)和座標記錄長度(content length)兩個記錄項,shapefile檔案中的記錄號都是從1開始的,座標記錄長度是按16位字來衡量的。記錄內容包括目標的幾何型別(shapetype)和具體的座標記錄(x,y),記錄內容因要素幾何型別的不同,其具體的內容和格式都有所不同。對於具體的記錄主要包括空shape記錄,點記錄,線記錄和多邊形記錄。
屬性檔案(.dbf)
用於記錄屬性資訊。它是乙個標準的dbf檔案,也是由標頭檔案和實體資訊兩部分構成。其中檔案頭部分的長度是不定長的,它主要對dbf檔案作了一些總體說明,其中最主要的是對這個dbf檔案的記錄項的資訊進行了詳細的描述,比如對每個記錄項的名稱,資料型別,長度等資訊都有具體的說明。屬性檔案的實體資訊部分就是一條條屬性記錄,每條記錄都是由若干個記錄項構成,因此只要依次迴圈讀取每條記錄就可以了。
索引檔案(.shx)
檔案的小知識點
import traceback import os os.path.splitext file name 0 獲取檔案的字首 os.path.splitext file name 1 獲取檔案的字尾 注意 如果檔案編碼是 utf 8 需要使用notepad 去掉檔案的bom頭 r模式 開啟檔案只用...
TestLink知識點Mantis知識點
testlink知識點 1 testlink系統提供了六種角色 a guest 只有讀的許可權,適合於檢視測試用例和測試需求,以及專案分析的使用者。b testdesigner 可以開展測試用例和測試需求的所有工作。c tester 只能執行測試用例。d senior tester 可以檢視和維護測...
檔案的基本知識點
本章設計的知識點 12 1檔案的簡介 12.1.1 緩衝檔案的定義形式如下 file 指標名 通過檔案指標可以進行檔案的讀 寫操作 12.1.2 非緩衝檔案 緩衝檔案是通過檔案指標實現對檔案的讀和寫操作的 非緩衝檔案是通過作業系統提供的功能實現檔案的讀和寫的操作。12.2 與檔案有關的庫函式 12....