久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Shapefile格式

     衛(wèi)啟云 2016-07-25

    shapefile數據文件組成

    前言

    呵呵,看到數據文件里面有.dbf的竟然不認識,丟人嘍丟人嘍,補補,摘自:http://zh./wiki/Shapefile

    內容

    Shapefile屬于一種矢量圖形格式,它能夠保存幾何圖形的位置及相關屬性。但這種格式沒法存儲地理數據的拓撲信息。Shapefile在九十年代初的ArcView GIS的第二個版本被首次應用。目前,許多自由的程序或商業(yè)的程序都可以讀取Shapefile。

    Shapefile是一種比較原始的矢量數據存儲方式,它僅僅能夠存儲幾何體的位置數據,而無法在一個文件之中同時存儲這些幾何體的屬性數據。因 此,Shapefile還必須附帶一個二維表用于存儲Shapefile中每個幾何體的屬性信息。Shapefile中許多幾何體能夠代表復雜的地理事 物,并為他們提供強大而精確的計算能力。

    Shapefile文件指的是一種文件存儲的方法,實際上該種文件格式是由多個文件組成的。其中,要組成一個Shapefile,有三個文件是必不可少的,它們分別是".shp", ".shx"與 ".dbf" 文件。表示同一數據的一組文件其文件名前綴應該相同。例如,存儲一個關于湖的幾何與屬性數據,就必須有l(wèi)ake.shp,lake.shx與 lake.dbf三個文件。而其中“真正”的Shapefile的后綴為shp,然而僅有這個文件數據是不完整的,必須要把其他兩個附帶上才能構成一組完 整的地理數據。除了這三個必須的文件以外,還有八個可選的文件,使用它們可以增強空間數據的表達能力。所有的文件名都必須遵循MS DOS的8.3文件名標準(文件前綴名8個字符,后綴名3個字符,如shapefil.shp),以方便與一些老的應用程序保持兼容性,盡管現在許多新的程序都能夠支持長文件名。此外,所有的文件都必須位于同一個目錄之中。

    必須的文件:

    • .shp — 圖形格式,用于保存元素的幾何實體。
    • .shx — 圖形索引格式。幾何體位置索引,記錄每一個幾何體在shp文件之中的位置,能夠加快向前或向后搜索一個幾何體的效率。
    • .dbf — 屬性數據格式,以dBase IV的數據表格式存儲每個幾何形狀的屬性數據。

    其他可選的文件:

    • .prj — 投影格式,用于保存地理坐標系統與投影信息,是一個存儲well-known text投影描述符的文本文件。
    • .sbn and .sbx — 幾何體的空間索引
    • .fbn and .fbx — 只讀的Shapefiles的幾何體的空間索引
    • .ain and .aih — 列表中活動字段的屬性索引。
    • .ixs — 可讀寫Shapefile文件的地理編碼索引
    • .mxs — 可讀寫Shapefile文件的地理編碼索引(ODB格式)
    • .atx  .dbf文件的屬性索引,其文件名格式為shapefile.columnname.atx (ArcGIS 8及之后的版本)
    • .shp.xml — 以XML格式保存元數據。
    • .cpg — 用于描述.dbf文件的代碼頁,指明其使用的字符編碼

    在每個.shp, .shx.dbf文件之中,圖形在每個文件的排序是一致的。也就是說,.shp的第一條記錄與.shx.dbf之中的第一條記錄相對應,如此類推。此外,在.shp.shx之中,有許多字段的字節(jié)序是不一樣的。因此用戶在編寫讀取這些文件格式的程序時,必須十分小心地處理不同文件的不同字節(jié)序。

    Shapefile通常以X與Y的方式來處理地理坐標,一般X對應經度,Y對應緯度,用戶必須注意X,Y的順序。

    Shapefile圖形格式 (.shp)

    Shapefile格式的主文件包含了地理參照數據。該文件由一個定長的文件頭和一個或若干個變長的記錄數據組成。每一條變長數據記錄包含一個記錄頭和一些記錄內容。詳細的數據存儲格式由Esri Shapefile技術描述.[1]提供。注意,雖然Shapefile文件的后綴名與AutoCAD的圖形字體源格式它們的文件后綴名相同的,都是.shp ,請不要把它們混淆。

    主文件頭包含17個字段,共100個字節(jié),其中包含九個4字節(jié)(32位有符號整數,int32)整數字段,緊接著是八個8字節(jié)(雙精度浮點數)有符號浮點數字段。

    字節(jié) 類型 字節(jié)序 用途
    0–3 int32 大端序 文件編號 (永遠是十六進制數0x0000270a)
    4–23 int32 大端序 五個沒有被使用的32位整數
    24–27 int32 大端序 文件長度,包括文件頭。(用16位整數表示)
    28–31 int32 小端序 版本
    32–35 int32 小端序 圖形類型(參見下面)
    36–67 double 小端序 最小外接矩形 (MBR),也就是一個包含shapefile之中所有圖形的矩形。以四個浮點數表示,分別是X坐標最小值,Y坐標最小值,X坐標最大值,Y坐標最大值。
    68–83 double 小端序 Z坐標值的范圍。以兩個浮點數表示,分別是Z坐標的最小值與Z坐標的最大值。
    84–99 double 小端序 M坐標值的范圍。以兩個浮點數表示,分別是M坐標的最小值與M坐標的最大值。

    然后這個文件包含不定數目的變長數據記錄,每個數據記錄以一個8字節(jié)記錄頭開始:

    字節(jié) 類型 字節(jié)序 用途
    0–3 int32 大端序 記錄編號 (從1開始)
    4–7 int32 大端序 記錄長度(以16位整數表示)

    在記錄頭的后面就是實際的記錄:

    字節(jié) 類型 字節(jié)序 用途
    0–3 int32 小端序 圖形類型(參見下面)
    4– - - 圖形內容

    變長記錄的內容由圖形的類型決定。Shapefile支持以下的圖形類型:

    圖形類型 字段
    0 空圖形
    1 Point(點) X, Y
    3 Polyline(折線) (最小包圍矩形)MBR,組成部分數目,點的數目,所有組成部分,所有點
    5 Polygon(多邊形) (最小包圍矩形)MBR,組成部分數目,點的數目,所有組成部分,所有點
    8 MultiPoint(多點) (最小包圍矩形)MBR,點的數目,所有點
    11 PointZ(帶Z與M坐標的點) X, Y, Z, M
    13 PolylineZ(帶Z或M坐標的折線) 必須的: (最小包圍矩形)MBR,組成部分數目,點的數目,所有組成部分,所有點,Z坐標范圍, Z坐標數組

    可選的: M坐標范圍, M坐標數組

    15 PolygonZ(帶Z或M坐標的多邊形) 必須的: (最小包圍矩形)MBR,組成部分數目,點的數目,所有組成部分,所有點,Z坐標范圍, Z坐標數組

    可選的: M坐標范圍, M坐標數組

    18 MultiPointZ(帶Z或M坐標的多點) 必須的: (最小包圍矩形)MBR,點的數目,所有點, Z坐標范圍, Z坐標數組

    可選的: M坐標范圍, M坐標數組

    21 PointM(帶M坐標的點) X, Y, M
    23 PolylineM(帶M坐標的折線) 必須的: (最小包圍矩形)MBR,組成部分數目,點的數目,所有組成部分,所有點

    可選的: M坐標范圍, M坐標數組

    25 PolygonM(帶M坐標的多邊形) 必須的: (最小包圍矩形)MBR,組成部分數目,點的數目,所有組成部分,所有點

    可選的: M坐標范圍, M坐標數組

    28 MultiPointM(帶M坐標的多點) 必須的: (最小包圍矩形)MBR,點的數目,所有點

    可選的: M坐標范圍, M坐標數組

    31 MultiPatch 必須的: (最小包圍矩形)MBR,組成部分數目,點的數目,所有組成部分,所有點,Z坐標范圍, Z坐標數組

    可選的: M坐標范圍, M坐標數組

    在普通的使用中,Shapefile通常包含點、折線與多邊形。帶有Z坐標的形狀是三維的。帶有M坐標的形狀是包含一個用戶指定的測量值,該測量值 定義在每一個點坐標之上。三維的Shapefile十分罕見。此外,實際應用中通常,Shapefile的M測量值這個功能已經被其他功能更加強大和穩(wěn)健 的數據庫取代,Shapefile一般只負責幾何數據。

    Shapefile圖形索引格式(.shx)

    Shapefile的文件索引包含與.shp文件相同的100個字節(jié)的文件頭,然后跟隨著不定數目的8字節(jié)定長記錄,每個記錄都有兩個字段:

    字節(jié) 類型 字節(jié)序 用途
    0–3 int32 大端序 記錄位移(用16位整數表示)
    4–7 int32 大端序 記錄長度(用16位整數表示)

    因為這個圖形索引每個數據項都是定長的,因此程序只要在這個圖形索引中向前或向后遍歷,讀取索引中所記錄的記錄位移與記錄長度,程序就可以很快地向前或向后遍歷整個Shapefile,在.shp文件中找到任意一個幾何體的正確位置。

    Shapefile屬性格式(.dbf)

    每個圖形的屬性數據存儲在dBase格式的數據表之中。屬性數據也可以存儲在另一種開放的數據表格式xBase格式之中。在開源Shapefile函式庫Shapefile C library[2]中就是這樣存儲。

    Shapefile投影格式(.prj)

    .prj文件中的信息包含了.shp文件中幾何數據所使用的經緯度坐標系統。盡管這個文件不是必須的,一般使用都會提供它,這樣用戶就無需猜測所給的坐標的經緯度系統。ArcGIS Desktop 9及以后的版本使用well-known text格式來生成坐標系統描述信息。以前的ArcGIS版本和某些第三方軟件通常生成如下的這種格式:

    老的投影文件格式樣例:

    Projection UTM

    Zunits NO

    Units METERS

    Spheroid CLARKE1866

    Xshift 0.0000000000

    Yshift -4000000.0000000000

    Parameters

    -108 0 0.000 /* longitude

    36 0 0.000 /* latitude

    新的WKT格式樣例:

    GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0],UNIT"Degree",0.0174532925199433

    .prj文件中包含以下信息:

    Shapefile空間索引格式(.sbn)

    這是一個二進制的空間索引文件,僅僅可以應用在ESRI的軟件之中。其文件格式沒有公開的文檔,其他廠商也沒有實現這個文件。.sbn并不是必須的,因為.shp文件之中已經包含了所有的解析空間數據所需的信息。

    限制

    Shapefile與拓撲

    Shapefile無法存儲拓撲信息。在ESRI的文件格式中,ArcInfo 的Coverage、以及Personal/File/Enterprise地理數據庫,能夠保存地理要素的拓撲信息。

    空間表達

    在shapefile文件之中,所有的折線與多邊形都 是用點來定義,點與點之間采用線性插值,也就是說點與點之間都是用線段相連。在數據采集時,點與點之間的距離決定了該文件所使用的比例。當圖形放大超過一 定比例的時候,圖形就會呈現出鋸齒。要使圖形看上去更加平滑,那么就必須使用更多的點,這樣就會消耗更大的存儲空間。在這種情況下,樣條函數可以很精確地表達不同形狀的曲線而且占據相對更少的空間,但是目前shapefile并不支持樣條曲線。

    數據存儲量

    .shp文件或.dbf文件最大的體積不能夠超過2 GB(或231位)。也就是說,一個shapefile最多只能夠存儲七千萬個點坐標。[3]文件所能夠存儲的幾何體的數目取決于單個要素所使用的頂點的數目。

    屬性數據庫格式所使用的.dbf文件基于一個比較古老的dBase標準。這種數據庫格式天生有許多限制,例如:[3]

    • 無法存儲空值。這對于數量數據來說是一個嚴重的問題,因為空值通常都用0來代替,這樣會歪曲很多統計表達的結果。
    • 對字段名或存儲值中的Unicode支持不理想。
    • 字段名最多只能夠有10個字符。
    • 最多只能夠有255個字段。
    • 只支持以下的數據類型:浮點類型(13字節(jié)存儲空間),整數(4或9字節(jié)存儲空間),日期(不能夠存儲時間,8字節(jié)存儲空間)和文本(最大254字節(jié)存儲空間)
    • 浮點數有可能包含舍入錯誤,因為它們以文本的形式保存。

    混合幾何類型

    由于在每一條幾何記錄中都有該記錄的幾何類型,所以理論上一個shapefile是可以存儲混合的幾何類型。但實際上規(guī)范中指出在同一 shapefile之中所有非空的幾何體都必須是同一類型。因此shapefile被限制為僅僅可以混合存儲空幾何體和另一單一幾何體,該幾何體的類型必 須與文件頭中定義的類型一致。例如,一個shapefile文件不可能同時包含折線與多邊形數據,所以,在實際的地理事物描述中,井(點類型)、河(折線 類型)與湖(多邊形類型)必須分開存儲在三個不同的文件之中。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产 亚洲 制服 无码 中文 | 国产激情艳情在线看视频| 天堂中文8资源在线8| 精品视频在线观看免费观看| 在线免费成人亚洲av| 宅男噜噜噜66网站高清| 私人毛片免费高清影视院| 久久婷婷五月综合97色直播| 熟妇啊轻点灬大JI巴太粗| 无码人妻蜜肉动漫中文字幕| 午夜DY888国产精品影院| 日韩精品一区二区亚洲AV| 欧美成本人视频免费播放| 88国产精品视频一区二区三区| 中文无码乱人伦中文视频在线| 亚洲AV福利天堂在线观看| 婷婷久久综合九色综合88| 天天综合亚洲色在线精品| 亚洲成人四虎在线播放| 国产亚洲精品无码不卡| 日韩V欧美V中文在线| 影音先锋人妻啪啪AV资源网站| 99在线精品国自产拍中文字幕| 国产精品美女久久久久| 好吊妞人成视频在线观看| 欧美大胆老熟妇乱子伦视频| 99九九视频高清在线| 40岁大乳的熟妇在线观看| 免费久久人人爽人人爽AV| 18禁午夜宅男成年网站| 国产精品日韩中文字幕| 人妻少妇精品无码专区动漫| 国产午精品午夜福利757视频播放| 无码AV岛国片在线播放| 国产99视频精品免视看9| 国偷自产一区二区三区在线视频| 2020无码专区人妻系列日韩| 深夜国产成人福利在线观看| AV老司机色爱区综合| 亚洲欧洲一区二区精品| 呦交小U女精品视频|