999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ShapeFile格式文件寫入方法研究

2012-09-28 01:18:50柳佳佳欒曉巖
測繪通報 2012年9期
關鍵詞:信息

柳佳佳,欒曉巖

(1.信息工程大學地理空間信息學院,河南鄭州450052;2.96669部隊,北京100000)

ShapeFile格式文件寫入方法研究

柳佳佳1,欒曉巖2

(1.信息工程大學地理空間信息學院,河南鄭州450052;2.96669部隊,北京100000)

針對寫ShapeFile文件所涉及的數據類型、賦值方法較少的現狀,詳細分析坐標文件、屬性文件及索引文件中所包含的內容,并在VC6.0中實現上述3種文件的寫入。

ShapeFile;數據結構;地理信息系統

一、引 言

地理信息系統是近20年來新興的一門集地理學、計算機技術、遙感技術和地圖學于一體的交叉學科,已廣泛應用在城市、資源、環境、交通、人口、土地、災害和規劃管理等領域。國外地理信息系統研究時間較長,已經形成了許多成熟的GIS軟件,其中以ArcGIS最為典型,它是Esri公司集40余年GIS咨詢和開發經驗而研發出的一套完整的GIS平臺產品,其具有強大的地圖制作、空間數據管理、空間分析等功能,這些功能都是在數據的基礎上進行的。而矢量數據是一種重要的數據格式,ShapeFile格式是Esri公司開發的用來描述空間數據的幾何特征和屬性特征的非拓撲實體矢量數據格式,是工業標準的矢量數據文件。目前,ArcGIS軟件在我國得到了廣泛的應用,但是不同的行業有不同的矢量數據格式,只有充分研究ShapeFile格式,才能將不同的矢量格式轉換成ArcGIS能夠接受的數據格式。ShapeFile文件主要包括坐標文件(SHP)、索引文件(SHX)和屬性文件(DBF)。3個基本文件的數據說明很多文獻中已經作了詳細的敘述,讀取方法也有詳細介紹,雖然讀寫是一個相反的過程,但是在寫入文件時,數據結構中的內容計算方法還比較模糊,本文主要針對格式中數據類型及需要計算的記錄項進行詳細的分析。

二、ShapeFile文件數據結構

1.坐標文件(SHP)結構

坐標文件是ShapeFile文件中的主文件,用于記錄空間坐標信息,是一個直接存取、變長記錄的文件。其中,每個記錄描述一個實體,它由頭文件和實體信息兩部分構成。

文件頭由100字節的說明信息組成,包括9個int型和7個double型數據。

實體信息負責記錄坐標信息,其記錄結構基本相似,每條記錄都由記錄頭和記錄內容(空間坐標對)兩部分組成。記錄頭的內容包括記錄號(Record Number)和坐標記錄長度(Content Length)兩個記錄項。需要注意的是,它們的位置都是big。對于big數據寫入的時候須注意,因為通常數據的位序都是little,需要將little型轉換成lig型才能進行寫入操作。記錄號和坐標記錄長度都是int型,并且記錄號都是從1開始;坐標記錄長度則用16位字來衡量。記錄內容包括目標的幾何類型(ShapeType)和具體的坐標記錄(X、Y),記錄內容因要素幾何類型的不同其具體的內容及格式都有所不同。地物類型可以分為點(Point)、線(PolyLine)和面(Polygon)3種類型。點狀地物在ShapeFile中存儲的是一組坐標(X、Y),坐標值為double型。線狀地物在ShapeFile中存儲的是一系列的點坐標串(X1,Y1,X2,Y2),一個線目標可能包括多個子線段,子線段之間可以是相離的,也可以相交。ShapeFile允許出現多個坐標完全相同的連續點,但是不允許出現某個退化的、長度為0的子線段。線數據結構主要包括:線目標的坐標范圍(Double[4]型),通過比較每個坐標點的大小,分別求出X、Y坐標的最大值和最小值,從而得到范圍;線目標所包含的子線段的個數(int型);線目標所包含的頂點個數(int型);每個子線段的第1個坐標點在Points的位置(int[頂點數]型);記錄所有坐標點的數組(Point[頂點數]型)。面狀地物在ShapeFile中存儲的是一系列封閉的坐標串(X1,Y1,X2,Y2,…,X1,Y1),這些封閉的坐標串至少由4個頂點構成,并且是封閉的,無自相交現象。由于多邊形經常會出現包含關系,則對于含有島的多邊形,構成它的環有內外環之分,可通過每個環的頂點的排列順序或者方向來區分這個環到底是內環還是外環:內環的頂點按照逆時針順序排列,而外環的頂點排列順序是順時針方向。如果一個多邊形只由一個環構成,那么它的頂點排列順序為順時針方向,每條多邊形記錄的數據結構與線目標的數據結構完全相同。

2.屬性文件(DBF)結構

屬性文件用于記錄屬性信息,是一個標準的DBF文件,由頭文件和實體信息兩部分構成。文件頭部分的長度是不定長的,其主要是對DBF文件作一些總體說明。其中,最主要的是對該BDF文件記錄項的信息進行詳細的描述,包括每個記錄項的名稱、數據類型、長度等信息。屬性文件實體信息部分是一條條屬性記錄,每條記錄都是由若干個記錄項構成。因此,只要依次循環寫入每條記錄即可。

3.索引文件(SHX)結構

索引文件主要包含坐標文件的索引信息,文件中每個記錄包含對應的坐標文件記錄距離坐標文件文件頭的偏移量。通過索引文件可以很方便地在坐標文件中定位到指定目標的坐標信息。

索引文件也是由頭文件和實體信息兩部分構成,其中文件頭部分是一個長度固定為100字節的記錄段,其內容與坐標文件的文件頭基本一致;實體信息部分以記錄為基本單位,每一條記錄包括偏移量(offset)和記錄段長度(Content Length)兩個記錄項,兩個記錄項數據類型是int型,位序為big。

三、數據寫入方案

根據數據結構在VC6.0中實現了寫入3種文件,對其中的數據類型以及需要計算的內容進行了分析和實現。

1.數值位序轉換

將little型轉換成big型,實現方法如下:

2.FileLength的計算方法

文件長度值是用16位字表示的文件總長度,包括文件頭100字節,即50個16位字。由于實體信息的長度隨著要素類型的不同而不同,計算方法如下:

1)點要素 FileLength=14*記錄數+50。其中,14為實體信息的16位字數,包含8字節的記錄頭和20字節的記錄內容。

2)線要素的FileLength與點要素的區別主要在于實體信息中所包含的記錄內容不同,線要素每條記錄的contentlength=(4+32+4+4+4*子段數+16 *每條記錄中的點數)/2。那么線要素的FileLength就是每條記錄的contentlength與記錄頭的和的總和。

3)面要素的FileLength與線的相似,在計算contentlength時子段數為面的子環數。

3.屬性文件變化的記錄項及計算方法

1)文件頭中的字節數。HeaderByteNum=32*屬性子段數+32。

2)一條記錄中的字節長度。RecordBytenum= 19* 屬性中double型字段數+9* 屬性中int型子段數+char型的子段長度和。從上述計算中可以看出,double型在ShapeFile文件中對應的字符數為19,int型為9,char型可根據實際需要動態設定。

4.索引文件偏移量的計算方法

在索引文件中,每個記錄包含對應主文件記錄距離主文件頭起始位置的偏移量。

1)點要素位移量Offset=50+14* 序號。

2)面要素位移量隨著坐標文件中的對應記錄長度contentlength的變化而變化。部分實現代碼如下:

四、結束語

本文首先介紹了地理信息最基本的矢量數據內容寫入ShapeFile文件所涉及的3個基本文件的數據結構;然后介紹了實現過程中需要計算的內容的方法。按照上述方法既能完成地理信息中點、線、面要素的寫入,同時也為其他格式轉換為Shape-File格式奠定了基礎。

[1] 肖強,趙國成.ShapeFile與軍用交換格式數據轉換的研究與實現[J].海洋測繪,2010,30(5):59-61.

[2] http:∥blog.163.com/adslxk@126/blog/static/1006106 7120105250560946.

[3] 陳文玲.空間數據轉換研究與探討[D].合肥:合肥工業大學,2009.

[4] 馬英杰.基于3GS的核勘查數據采集及處理系統研究[D].成都:成都理工大學,2010.

[5] 鄭翠玲.空間數據的格式轉換研究與實現[J].現代計算機:下半月版,2010(9):171-174.

[6] 郝燕玲,唐文靜,趙玉新,等.Shapefile格式電子海圖數據集成存儲研究[J].微計算機信息,2008,24(21):26-28.

[7] 涂圣文.CAD、GIS及VR集成技術在工程領域的應用研究[D].武漢:華中科技大學,2005.

Research of the Method to Write a ShapeFile-format File

LIU Jiajia,LUAN Xiaoyan

0494-0911(2012)09-0090-03

P208

B

2012-08-13

國家863計劃(2009AA12Z228)

柳佳佳( 1981—) ,女,遼寧丹東人,博士生,主要研究方向為空間認知。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 欧美激情综合一区二区| 欧美国产在线看| 波多野结衣一二三| 综合网久久| 免费人欧美成又黄又爽的视频| 日韩A∨精品日韩精品无码| 欧美午夜理伦三级在线观看| 蜜臀av性久久久久蜜臀aⅴ麻豆| AV无码无在线观看免费| 欧美中文一区| 亚洲成A人V欧美综合| 中文字幕在线永久在线视频2020| 99久久免费精品特色大片| 九九香蕉视频| 日本免费新一区视频| 亚洲男女在线| 亚洲国产成人综合精品2020| 欧美色香蕉| 亚洲一区二区三区中文字幕5566| 亚洲欧美日韩中文字幕在线一区| 婷婷成人综合| 一级毛片在线直接观看| 夜夜拍夜夜爽| 亚洲成a人片| 久久一级电影| 国产精品成| 久久毛片免费基地| 五月婷婷欧美| 国产欧美性爱网| 国产激情在线视频| 久久人体视频| 九九九久久国产精品| 色综合久久无码网| 性激烈欧美三级在线播放| 久久这里只有精品8| 国产呦视频免费视频在线观看| 亚洲精品在线91| 国产综合色在线视频播放线视| 久久精品丝袜| 九九久久精品国产av片囯产区| 激情亚洲天堂| 日本午夜视频在线观看| 久久久黄色片| 国产v欧美v日韩v综合精品| 波多野结衣久久精品| 亚洲成人一区二区三区| 国内熟女少妇一线天| 亚洲综合香蕉| 国产情精品嫩草影院88av| 中文字幕日韩欧美| 国产超碰一区二区三区| 欧美激情视频一区| 国产高清不卡视频| 国产全黄a一级毛片| 国产精品成人AⅤ在线一二三四| 国产在线观看高清不卡| 国产黄网站在线观看| 成人在线综合| 色AV色 综合网站| 国产高清毛片| 亚洲a级在线观看| 久草视频中文| 国产精品不卡永久免费| 亚洲水蜜桃久久综合网站| 国产第一福利影院| 成人精品午夜福利在线播放| 中文字幕在线一区二区在线| 国产精品网拍在线| 国产aⅴ无码专区亚洲av综合网| 亚洲国产精品日韩av专区| 蜜臀AVWWW国产天堂| 三级国产在线观看| 久久99精品久久久久久不卡| 国产成人无码AV在线播放动漫| 欧洲成人免费视频| 久热99这里只有精品视频6| 韩日免费小视频| 色网站免费在线观看| 国产jizzjizz视频| 亚洲码在线中文在线观看| 国内老司机精品视频在线播出| 欧美一级高清视频在线播放|