DB3713T 341-2024 地理實(shí)體數(shù)據(jù)交換格式_第1頁
DB3713T 341-2024 地理實(shí)體數(shù)據(jù)交換格式_第2頁
DB3713T 341-2024 地理實(shí)體數(shù)據(jù)交換格式_第3頁
DB3713T 341-2024 地理實(shí)體數(shù)據(jù)交換格式_第4頁
DB3713T 341-2024 地理實(shí)體數(shù)據(jù)交換格式_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

ICS07.040CCSA75

3713臨 沂 市 地 方 標(biāo) 準(zhǔn)DB3713/T341—2024地理實(shí)體數(shù)據(jù)交換格式文稿版次選擇Geo-entitydataexchangeformat文稿版次選擇2024-09-25發(fā)布 2024-10-25實(shí)施臨沂市市場監(jiān)督管理局 發(fā)布DB3713/T341—2024DB3713/T341—2024PAGE\*ROMANPAGE\*ROMANII目 次前言 II1范引文件 1語定義 11地實(shí)數(shù)模型 1地實(shí)屬性 2圖集合 2地實(shí)關(guān)系 3元據(jù) 3換則 3總結(jié)構(gòu) 3數(shù)存儲(chǔ) 4儲(chǔ)則 10基類型 10SpatiaLite簡對象 10三模對象 10坐系象 11附錄A(料) 地實(shí)體性息 13附錄B(料) 對存儲(chǔ)構(gòu) 15參考獻(xiàn) 25前 言本文按照GB/T1.1—2020《標(biāo)化作導(dǎo)則 第部分標(biāo)準(zhǔn)文的結(jié)和起規(guī)則的起草。請注意本文件的某些內(nèi)容可能涉及專利。本文件的發(fā)布機(jī)構(gòu)不承擔(dān)識(shí)別專利的責(zé)任。本文件由臨沂市自然資源和規(guī)劃局提出、歸口并組織實(shí)施。DB3713/T341—2024DB3713/T341—2024PAGEPAGE10地理實(shí)體數(shù)據(jù)交換格式范圍本文件規(guī)定了地理實(shí)體數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、交換規(guī)則等內(nèi)容。本文件適用于地理實(shí)體數(shù)據(jù)的交換。(GB/T23705 /GB/T30320 下列術(shù)語和定義適用于本文件。3.1圖元geometryelement表示空間內(nèi)單一、連通和共同屬性元素的幾何對象。注:一般為點(diǎn)、線、面、體。[來源:GB/T37118—2018,3.2]3.2地理實(shí)體geo-entity292—2023,3.1]總則圖1地理實(shí)體數(shù)據(jù)模型示意圖地理實(shí)體屬性包括基本屬性、專有屬性和擴(kuò)展屬性。地理實(shí)體屬性信息見附錄A。三表1 圖元本性表序號(hào)屬性名稱中文名稱數(shù)據(jù)類型、字段要求屬性值域或示例約束條件1ENTITYID地理實(shí)體空間身份編碼Varchar(128)—M2PRIMITIVEID圖元標(biāo)識(shí)碼Varchar(40)—M3PRIMITIVECODE圖元編碼Varchar(15)—M4PRIMITIVENAME圖元名稱Varchar(100)—M5STARTTIME生成時(shí)間Date—O6ENDTIME消亡時(shí)間Date—C7UPDATETYPE更新類型Int(4)01新增/02修改/03刪除O8UPDATETIME更新時(shí)間Date—C9REMARK備注Varchar(255)—O注:約束條件取值:M(必選、O(可選、C(條件必選。2。表2 地理體系表序號(hào)屬性項(xiàng)名稱屬性項(xiàng)中文描述類型約束/條件說明1SOURCE_ID源地理實(shí)體編碼Char(128)M—2SOURCE_TABLE源地理實(shí)體表名Char(32)M—3RELATYPE關(guān)系類型Char(32)M—4TARGET_ID目標(biāo)地理實(shí)體編碼Char(128)M—5TARGET_TABLE目標(biāo)地理實(shí)體表名Char(32)M—6REMARK說明Char(254)O其他備注說明信息注:約束條件取值:M(必選、O(可選、C(條件必選。元數(shù)據(jù)-4基礎(chǔ)地理實(shí)體數(shù)據(jù)元數(shù)據(jù)》有關(guān)規(guī)定執(zhí)行。UDBX(,UniversalSpatialDatabaseExtension)圖2地理實(shí)體數(shù)據(jù)交換格式及實(shí)現(xiàn)方式(UDBX)SpatiaLite和屬性信息的空間對象。數(shù)據(jù)集類型如表3所示; 二維SpatiaLite“GeoGeometry。表3 數(shù)據(jù)類說明數(shù)據(jù)集類型枚舉值描述Geometry類型Tabular0屬性數(shù)據(jù)集,不存儲(chǔ)幾何對象—Point1二維點(diǎn)數(shù)據(jù)集GAIAPointPointZ101三維點(diǎn)數(shù)據(jù)集GAIAPointZLine3二維線數(shù)據(jù)集GAIAMultiLineStringLineZ103三維線數(shù)據(jù)集GAIAMultiLineStringZRegion5二維面數(shù)據(jù)集GAIAPolygon/GAIAMultiPolygonRegionZ105三維面數(shù)據(jù)集GAIAMultiPolygonZNetwork4二維網(wǎng)絡(luò)數(shù)據(jù)集—Network3D205三維網(wǎng)絡(luò)數(shù)據(jù)集—Model203三維模型數(shù)據(jù)集GeoModel3D表4 Geometry類說明Geometry類型枚舉值描述GAIAPoint1二維點(diǎn)對象GAIAPolygon3二維面對象GAIAMultiLineString5二維線,可帶子對象GAIAMultiPolygon6二維面,可帶子對象GAIAPointZ1001三維點(diǎn)對象GAIAMultiLineStringZ1005三維線,可帶子對象GAIAMultiPolygonZ1006三維面,可帶子對象GeoModel3D1218三維模型對象系統(tǒng)表SpatiaLiteSpatiaLiteSpatiaLiteSpatiaLitespatial_ref_sysspatial_ref_sys_aux56;geometry_columns。表5spatial_ref_sys表的字段信息字段名字段類型是否允許空值描述sridINTEGERN主鍵;坐標(biāo)系的唯一標(biāo)識(shí)auth_nameTEXTN定義該坐標(biāo)系的作者/官方名稱auth_sridINTEGERN該坐標(biāo)系的內(nèi)部標(biāo)識(shí)ref_sys_nameTEXTN坐標(biāo)系名字proj4textTEXTN用proj.4文本格式表示的坐標(biāo)系srtextTEXTN用wkt表示的坐標(biāo)系表6spatial_ref_sys_aux表的字段信息字段名字段類型是否允許空值描述sridINTEGERN主鍵;外鍵,與spatial_ref_sys(srid)關(guān)聯(lián)坐標(biāo)系的唯一標(biāo)識(shí)is_geographicINTEGERY是否是地理坐標(biāo)系has_flipped_axesINTEGERY坐標(biāo)軸是否翻轉(zhuǎn)spheroidTEXTY參考橢球體prime_meridianTEXTY中央子午線datumTEXTY大地基準(zhǔn)面projectionTEXTY投影方式unitTEXTY坐標(biāo)系單位axis_1_nameTEXTY主軸名稱axis_1_orientationTEXTY主軸朝向axis_2_nameTEXTY副軸名稱axis_2_orientationTEXTY副軸朝向表7geometry_columns表的字段信息字段名字段類型是否允許空值描述f_table_nameTEXTN數(shù)據(jù)表的名稱f_geometry_columnTEXTN數(shù)據(jù)表中g(shù)eometry列名;聯(lián)合主鍵(f_table_name,f_geometry_column)geometry_typeINTEGERNgeometry類型,見表4coord_dimensionTEXTNgeometry坐標(biāo)的維度sridTEXTN坐標(biāo)系標(biāo)識(shí),與spatial_ref_sys表的srid字段關(guān)聯(lián)spatial_index_enabledINTEGERN是否建立了空間索引;取值:0表示無索引;1表示R*樹索引DataSourceInfoDataSourceInfo8;Register9;FieldInfo11。表8DataSourceInfo表的字段信息字段名字段類型是否允許空值描述FlagINTEGERN數(shù)據(jù)源ID標(biāo)識(shí),主鍵VersionINTEGERY版本號(hào)DsDescriptionTEXTY數(shù)據(jù)源描述信息ProjectInfoBLOBY數(shù)據(jù)源的坐標(biāo)系信息,見6.4LastUpdateTimeDATEN數(shù)據(jù)源的最后更新時(shí)間DataFormatINTEGERN數(shù)據(jù)存儲(chǔ)格式。當(dāng)前值為0,表示按UTF8編碼存儲(chǔ)表9Register表的字段信息字段名字段類型是否允許空值描述DatasetIDINTEGERN主鍵;數(shù)據(jù)集IDDatasetNameTEXTY數(shù)據(jù)集名字TableNameTEXTY數(shù)據(jù)表名字OptionINTEGERY數(shù)據(jù)集的選項(xiàng)信息,記錄是否帶金字塔、是否壓縮等,內(nèi)部使用EncTypeINTEGERY預(yù)留字段ParentDTIDINTEGERN父數(shù)據(jù)集ID,可以為空DatasetTypeINTEGERY數(shù)據(jù)集類型ObjectCountINTEGERN對象個(gè)數(shù),即數(shù)據(jù)表的記錄個(gè)數(shù)LeftREALY數(shù)據(jù)集的地理范圍:左RightREALY數(shù)據(jù)集的地理范圍:右TopREALY數(shù)據(jù)集的地理范圍:下BottomREALY數(shù)據(jù)集的地理范圍:上IDColNameTEXTY數(shù)據(jù)表對象ID列名GeoColNameTEXTY數(shù)據(jù)表幾何對象列名MinZREALY數(shù)據(jù)集最小高度,三維數(shù)據(jù)集適用MaxZREALY數(shù)據(jù)集最大高度,三維數(shù)據(jù)集適用SRIDINTEGERY坐標(biāo)系ID,與spatial_ref_sys表的srid關(guān)聯(lián);如果該字段值為空,則取ProjectInfo的值IndexTypeINTEGERY空間索引類型;取值范圍{0,2},0表示無索引;2表示R樹索引ToleranceFuzzyREALY結(jié)點(diǎn)捕捉容限值。拓?fù)涮幚?編輯時(shí)使用ToleranceDAngleREALY角度容限值。拓?fù)涮幚?編輯時(shí)使用ToleranceNodeSnapREALY長懸線容限值。拓?fù)涮幚?編輯時(shí)使用表9Register表的字段信息(續(xù))字段名字段類型是否允許空值描述ToleranceallPolygonREALY最小多邊形容限值。拓?fù)涮幚?編輯時(shí)使用ToleranceGrainREALY粒度容限。拓?fù)涮幚?編輯時(shí)使用MaxGeometrySizeINTEGERN幾何對象二進(jìn)制流最大字節(jié)數(shù)OptimizeCountINTEGERN預(yù)留字段OptimizeRatioREALY預(yù)留字段DescriptionTEXTY數(shù)據(jù)集描述信息ExtInfoTEXTY數(shù)據(jù)集用戶自定義擴(kuò)展信息CreateTimeDATETIMEY數(shù)據(jù)集創(chuàng)建時(shí)間LastUpdateTimeDATETIMEY數(shù)據(jù)集最后更新時(shí)間ProjectInfoBLOBY數(shù)據(jù)集坐標(biāo)系,見6.4。如果指定了該值,則以數(shù)據(jù)集的坐標(biāo)系為準(zhǔn),忽略數(shù)據(jù)源的坐標(biāo)系表10FieldInfo表的字段信息字段名字段類型是否允許空值描述IDINTEGERN主鍵DatasetIDINTEGERY所屬數(shù)據(jù)集的ID;對應(yīng)Register的DatasetID字段FieldNameTEXTY字段名FieldCaptionTEXTY字段別名FieldTypeINTEGERY對應(yīng)自定義的字段類型(Boolean/Byte/Int/Float/Double/Text/NText/Char/Date/Time/TimeStamp/Binary/LongBinary)FieldFormatTEXTY字段值的格式化字符串FieldSignINTEGERY自定義的字段標(biāo)識(shí),見表11FieldDomainTEXTY廢棄字段FieldUpdatableINTEGERY字段值是否可修改FieldbRequiredINTEGERY是否必填字段FieldDefaultValueTEXTY字段默認(rèn)值FieldSizeINTEGERY字段長度表11自定義的字段標(biāo)識(shí)枚舉值描述0普通字段1網(wǎng)絡(luò)數(shù)據(jù)集的節(jié)點(diǎn)ID,默認(rèn)是NodeID字段2網(wǎng)絡(luò)數(shù)據(jù)集的邊的起點(diǎn)字段,默認(rèn)是FNode字段3網(wǎng)絡(luò)數(shù)據(jù)集的邊的終點(diǎn)字段,默認(rèn)是TNode字段4網(wǎng)絡(luò)數(shù)據(jù)集邊的ID字段11對象ID字段12幾何對象字段50用戶自定義字段標(biāo)識(shí)起始值數(shù)據(jù)表/三維線數(shù)據(jù)集、二維/三維面數(shù)據(jù)集、二維/三維網(wǎng)絡(luò)數(shù)據(jù)集、三維模屬性數(shù)據(jù)集對應(yīng)的系統(tǒng)字段見表12。表12屬性數(shù)據(jù)集系統(tǒng)字段字段名字段類型是否允許空值描述IDINTEGERN主鍵;對象的唯一標(biāo)識(shí)UserIDINTEGERY用戶自定義ID值二維二維點(diǎn)數(shù)據(jù)集和三維點(diǎn)數(shù)據(jù)集系統(tǒng)字段相同,見表13。其中,Geometry字段存儲(chǔ)點(diǎn)對象的類型由geometry_columns的geometry_type字段決定,見表7。表13點(diǎn)數(shù)據(jù)集系統(tǒng)字段字段名字段類型是否允許空值描述IDINTEGERN主鍵;對象的唯一標(biāo)識(shí)UserIDINTEGERY用戶自定義ID值GeometryPOINTN存儲(chǔ)GAIAPoint或GAIAPointZ對象,存儲(chǔ)結(jié)構(gòu)見附錄B中B.3.1和B.3.2二維147。表14線數(shù)據(jù)集系統(tǒng)字段字段名字段類型是否允許空值描述IDINTEGERN主鍵;對象的唯一標(biāo)識(shí)UserIDINTEGERY用戶自定義ID值LengthREALN線對象的長度;單位為mTopoErrorINTEGERN拓?fù)淙菹?;線數(shù)據(jù)集拓?fù)涮幚頃r(shí)使用GeometryMULTILINESTRINGN存儲(chǔ)GAIAMultiLineString或GAIAMultiLineStringZ對象,存儲(chǔ)結(jié)構(gòu)見附錄B中B.3.3和B.3.4二維15geometry_columns的geometry_type。表15線數(shù)據(jù)集系統(tǒng)字段字段名字段類型是否允許空值描述IDINTEGERN主鍵;對象的唯一標(biāo)識(shí)UserIDINTEGERY用戶自定義ID值A(chǔ)reaREALN面對象的面積;單位為m2PerimeterREALN面對象的周長;單位為mGeometryMULTIPOLYGONN存儲(chǔ)GAIAMultiPolygon或GAIAMultiPolygonZ對象二維1617。16字段名字段類型是否允許空值描述IDINTEGERN主鍵;線對象的唯一標(biāo)識(shí)UserIDINTEGERY用戶自定義ID值EdgeIDINTEGERN邊IDFNodeINTEGERY起點(diǎn)結(jié)點(diǎn)IDTNodeINTEGERY終點(diǎn)結(jié)點(diǎn)IDResistanceAREALY正方向阻力ResistanceBREALY負(fù)方向阻力TopoErrorINTEGERN拓?fù)淙菹?;線數(shù)據(jù)集拓?fù)涮幚頃r(shí)使用LengthREALN線對象的長度;單位為mGeometryMULTILINESTRINGNGAIAMultiLineString或GAIAMultiLineStringZ對象,存儲(chǔ)結(jié)構(gòu)見附錄B中B.3.3和B.3.417字段名字段類型是否允許空值描述IDINTEGERN主鍵;點(diǎn)對象的唯一標(biāo)識(shí)UserIDINTEGERY用戶自定義ID值NodeIDINTEGERY結(jié)點(diǎn)IDGeometryPOINTNGAIAPoint或GAIAPointZ對象,存儲(chǔ)結(jié)構(gòu)見附錄B中B.3.1和B.3.2GeoModel3D64位HashCodeHashCode1819。表18三維模型數(shù)據(jù)集主表的系統(tǒng)字段字段名字段類型是否允許空值描述IDINTEGERN主鍵;模型對象的唯一標(biāo)識(shí)UserIDINTEGERY用戶自定義ID值GeometryBLOBYGeoModel3D的二進(jìn)制流數(shù)據(jù)IndexKeyPOLYGONY模型對象的范圍,空間索引維護(hù)時(shí)使用表19三維模型數(shù)據(jù)集子表的系統(tǒng)字段字段名字段類型是否允許空值描述IDINTEGERN主鍵;模型對象的唯一標(biāo)識(shí)HashCodeINTEGERY唯一約束;GeometryBLOBY實(shí)體對象的二進(jìn)制流數(shù)據(jù)地理實(shí)體數(shù)據(jù)采用UDBX的對象存儲(chǔ)結(jié)構(gòu)描述了UDBX中各種對象的二進(jìn)制存儲(chǔ)結(jié)構(gòu),字節(jié)序?yàn)镾patiaLiteInt32Uint32Int64Uint64FloatDouble和Wchar。SpatiaLiteSpatiaLite的簡單對象類型即二維/三維的點(diǎn)、線、面類型。GAIAInfo是SpatiaLite各類簡單對象存儲(chǔ)的頭部信息,存儲(chǔ)結(jié)構(gòu)如下:GAIAInfo{//幾何對象的基本信息staticbytebyteOrdering=1;//字節(jié)序:小端存儲(chǔ)int32srid;//坐標(biāo)系IDRectmbr;//對象的坐標(biāo)范圍staticbytegaiaMBR=0x7c;//MBR結(jié)束標(biāo)識(shí)}(GeoModel3D)(ModelNode)3ModelNodeLODPagedLODLODPatchPatchGeode;GeodeModelEntity)GeodeModelEntity的子類包括骨架(EntitySkeleton、材質(zhì)(EntityMaterial3D)(EnttyTxtue64HashCode。圖3GeoModel3D對象組織結(jié)構(gòu)分,坐標(biāo)系對象的存儲(chǔ)結(jié)構(gòu)中的Unit的單位值以及PRJCOORDSYSTYPE、DATUMTYPE、SPHEROIDTYPE、PROJECTIONTYPEPRIMEMERIDIANTYPEGEOCOORDSYSTYPEGB/T30320存儲(chǔ)結(jié)構(gòu)如下:ProjectInfo{INT32PRJCOORDSYSTYPE;//投影坐標(biāo)系類型INT32GEOCOORDSYSTYPE;//地理坐標(biāo)系類型INT32PROJECTIONTYPE;//投影方式類型INT32DATUMTYPE;//DATUM類型INT32SPHEROIDTYPE;//橢球體類型INT32PRIMEMERIDIANTYPE;//中央子午線類型INT32RESERVED;//預(yù)留INT32UNIT;//坐標(biāo)系單位DOUBLEFALSEEASTING;//水平偏移量DOUBLEFALSENORTHING;//垂直偏移量DOUBLECENTRALMERIDIAN;//中央經(jīng)線DOUBLECENTRALPARALLEL;//原點(diǎn)緯線DOUBLESTANDARDPARALLEL1;//標(biāo)準(zhǔn)緯線1DOUBLESTANDARDPARALLEL2;//標(biāo)準(zhǔn)緯線2DOUBLESCALEFACTOR;//比例因子DOUBLEAZIMUTH;//方位角DOUBLEFIRSTPOINTLONGITUDE;//第一點(diǎn)經(jīng)線DOUBLESECONDPOINTLONGITUDE;//第二點(diǎn)經(jīng)線DOUBLEAXIS;//橢球長半軸DOUBLEFLATTEN;//橢球扁率DOUBLEPRIMEMERIDIAN;//中央子午線值DOUBLE[]RESERVED[2];//預(yù)留STRINGPRJCOORDSYSNAME;//投影坐標(biāo)系名稱STRINGGEOCOORDSYSNAME;//地理坐標(biāo)系名稱STRINGSPHEROIDNAME;//橢球體名稱STRINGDATUMNAME;//DATUM名稱UINT32EPSGCODE;//EPSG編號(hào)DOUBLERECTIFIEDANGLE;//糾正角}附 錄 A()(A.3A.4A.5。表A.1地理實(shí)體基本屬性表序號(hào)屬性名稱中文名稱數(shù)據(jù)類型/長度屬性值域或示例約束條件備注1ENTIID地理實(shí)體編碼Char(128)—M—2CLASNAME地理實(shí)體分類名稱Char(128)—M—3LOCATIONID位置碼Char(44)—M—4ADDRESS地名地址Char(128)—Oyyyy/mm/dd5STARTTIME生成時(shí)間Date—Myyyy/mm/dd6ENDTIME消亡時(shí)間Date—Oyyyy/mm/dd7UPDATETIME更新時(shí)間Date—O—8DATASOURCE數(shù)據(jù)來源Char(255)—O—9POSIGRADE平面精度等級Char(8)一級/二級/三級M—10ELEVGRADE高程精度等級Char(8)一級/二級/三級O—11GRANUGRADE粒度等級Char(16)城市級/地形級M—12REMARK備注Char(255)—O—注:約束條件取值:M(必選、O(可選、C(條件必選GB/T23705表A.2建(構(gòu))筑物及場地設(shè)施專有屬性項(xiàng)表序號(hào)屬性名稱中文名稱數(shù)據(jù)類型長度約束條件1CLASID地理實(shí)體分類碼Text8M2NAME名稱Text64O3TYPE類型Text32C4LAYER地上房屋層數(shù)LongInteger—C(城市級普通房屋、藝術(shù)建筑必填)5LAYERL地下房屋層數(shù)LongInteger—O6STYPE房屋結(jié)構(gòu)類型Text32C(城市級普通房屋、藝術(shù)建筑必填)7USE用途Text32C(城市級普通房屋、藝術(shù)建筑必填)8HEIGHT高度(m)Double—O9PERIOD駐扎月份Text32O10BELEV底部高程值(m),保留2位小數(shù)Double—O11TELEV頂部高程值(m),保留2位小數(shù)Double—O注:約束條件取值:M(必選、O(可選、C(條件必選。表A.3院落專有屬性項(xiàng)表序號(hào)屬性名稱中文名稱數(shù)據(jù)類型長度約束條件1CLASID地理實(shí)體分類碼Text8M2NAME名稱Text64C3TYPE類型Text32C4ADMNGD所在地(市/縣)Text255C5BLDTM建成日期Text16O6ZDBH宗地編號(hào)Text64C7GRADE等級Text8O8SN編號(hào)Text64O注:約束條件取值:M(必選、O(可選、C(條件必選。表A.4地名地址專有屬性項(xiàng)表序號(hào)屬性名稱中文名稱數(shù)據(jù)類型長度約束條件1CLASID地理實(shí)體分類碼Text8M2TYPE類型(細(xì)分類類型)Text32C3NAME名稱Text64M4POI_ID興趣點(diǎn)標(biāo)識(shí)號(hào)Text255C5TELEPHONE電話號(hào)碼Text32O6INBUILDING坐落建筑物名稱Text255O7ROAD所處道路名稱Text255O8DOORCODE門牌號(hào)Text255C注:約束條件取值:M(必選、O(可選、C(條件必選。表A.5交通專有屬性項(xiàng)表序號(hào)屬性名稱中文名稱數(shù)據(jù)類型長度約束條件1CLASID地理實(shí)體分類碼Text8M2RN路線編號(hào)Text8C3NAME名稱Text64C4PRNAME路段名稱Text255O5SHRN共享路段編號(hào)Text64O6SHNAME共享路段名稱Text255O7STATE狀態(tài)Text8C8RTEG技術(shù)等級Text8C9MATRL鋪設(shè)材料Text32C10RLEVEL層級ShortInteger—O11LANE車道數(shù)LongInteger—C12SDTF鐵路:單/復(fù)線;公路:單/雙向Text8C13WIDTH寬度LongInteger—C14ELEVT是否高架Text8C15SNAME簡稱Text32O16TYPE類型Text32C注:約束條件取值:M(必選、O(可選、C(條件必選。附 錄 B()StringStringUnicodeUTF8,String{int32length;//字節(jié)數(shù)bytestr[length];//數(shù)據(jù)內(nèi)容}Pointx、Point{//doubley;}PointZx、、PointZ{//doubley;doublez;}Rect矩形,用左上角點(diǎn)和右下角點(diǎn)表示:Rect{//矩形PointpntLB;//左下角點(diǎn)PointpntRT;//右上角點(diǎn)}BoundingBox包圍盒,用最大、最小向量表示BoundingBox{PointZboxMax;//包圍盒最大向量PointZboxMin;//包圍盒最小向量}Ring環(huán)形,由點(diǎn)組成首尾相連的環(huán)狀。Ring{//由點(diǎn)組成的環(huán)形int32numPoints;//點(diǎn)個(gè)數(shù)Point[]pnts[numPoints];//點(diǎn)坐標(biāo)}RingZ環(huán)形,由三維點(diǎn)組成首尾相連的環(huán)狀。RingZ{//由點(diǎn)組成的環(huán)形int32numPoints;//點(diǎn)個(gè)數(shù)PointZ[]pnts[numPoints];//點(diǎn)坐標(biāo)}Vector3D三維向量,存儲(chǔ)結(jié)構(gòu)同PointZ,見附錄B.1.3。Color顏色,由rgba四個(gè)分量組成的uint32值。Color{bytea;//alpha值byteb;//blue值byteg;//green值byter;//red值}GeoModel3DGeoModel3D{staticint32type=1218;//Vector3DvecPosition;//}ModelNodeModelNode{int32numLODs;//LOD層數(shù)PagedLODpagedLODs[numLODs];//LOD層數(shù)據(jù)int32numPatches;//精細(xì)層Patch個(gè)數(shù)Patchpatches[numPatches];//精細(xì)層Patch數(shù)據(jù)}PagedLOD{RangeModerangeMode;//切換范圍模式,存儲(chǔ)為int16int32lodNum;//LOD層號(hào)int32numPatches;//本層的Patche個(gè)數(shù)Patchpatches[numPatches];//Patch數(shù)據(jù)}EnumRangeMode{//LOD切換模式DISTANCE_FROM_EYE_POINT=0,//根據(jù)到相機(jī)的距離切換PIXEL_SIZE_ON_SCREEN=1//根據(jù)屏幕像素大小切換}Patch{floatlodDdistance;//切換距離int32index;//當(dāng)前數(shù)據(jù)層Patch的索引號(hào)int32parentIndex;//父節(jié)點(diǎn)索引號(hào),-1時(shí)代表沒有父節(jié)點(diǎn)int32numChildren;//子節(jié)點(diǎn)個(gè)數(shù)int32childrenIndexes[numChildren];//子節(jié)點(diǎn)索引號(hào)int32geodeCount;//Geode個(gè)數(shù)Geodegeodes[geodeCount];//各Geode數(shù)據(jù)}Geode{Matrix4dlocalMatrix;//矩陣信息int32numSkeletons;//骨架個(gè)數(shù)StringskeletonNames[numSkeletons]//骨架名字int32numMaterials;//材質(zhì)個(gè)數(shù)StringmaterialNames[numMaterials]//材質(zhì)名字int32numTextures;//紋理個(gè)數(shù)StringtextureNames[numTextures]//紋理名字}Matrix4d{//4*4矩陣,行主序doublevalues[16];}EntitySkeletonEntitySkeleton{Stringname;//骨架名StringmaterialName;//關(guān)聯(lián)的材質(zhì)名BoundingBoxbbox;//包圍盒Matrix4dlocalMatrix;//模型矩陣VertexDataPackagedataPack;//頂點(diǎn)數(shù)據(jù)int32numIndexpacks;//索引包個(gè)數(shù)IndexPackageindexPacks[numIndexpacks];//索引包數(shù)組}VertexDataPackage{//頂點(diǎn)屬性,與VertexOptions中的枚舉值按位|運(yùn)算得出int32vertexOptions;uint16numDim;//頂點(diǎn)坐標(biāo)維度uint32numVertexes;//頂點(diǎn)個(gè)數(shù)uint16vertexStride;//頂點(diǎn)坐標(biāo)在數(shù)組中的偏移量doublefloatvariantvertexData[numVertexes*numDim];uint32numNormals;//uint32colorData[colorCount];//頂點(diǎn)顏色,4字節(jié)存儲(chǔ)R/G/B/Aint32numTextures;//紋理通道個(gè)數(shù)TextureCoordtextureCoords[numTextures];//紋理坐標(biāo)數(shù)據(jù)}EnumVertexOptions{//頂點(diǎn)數(shù)據(jù)的屬性VO_NORMALS=1,//包含法線VO_TEXTURE_COORDS=2,//包含紋理坐標(biāo)VO_DIFFUSE_COLOURS=4,//包含頂點(diǎn)顏色VO_SPECULAR_COLOURS=8,//包含頂點(diǎn)secondColorVO_BLEND_WEIGHTS=16,//使用權(quán)重值計(jì)算VO_USE_SINGLE_COLOR=32,//僅采用一種顏色繪制VO_USE_POINT_OOTHING=64,//啟動(dòng)點(diǎn)反走樣VO_MATERIAL=128,//使用材質(zhì)VO_TEXTURE_COLOR=256,//使用紋理顏色VO_VERTEX_DOUBLE=512,//頂點(diǎn)坐標(biāo)為高精度doubleVO_TEXTURE_COORD_Z_IS_MATRIX=1024,//表示頂點(diǎn)屬性的Z值是一個(gè)矩陣};TextureCoord{S//紋理坐標(biāo)uint16dimension;//紋理坐標(biāo)維度uint32numCoords;//紋理坐標(biāo)個(gè)數(shù)uint16stride;//偏移值floatcoordData[numCoords*dimension];//坐標(biāo)值}IndexPackage{uint32numIndexes;//索引個(gè)數(shù)IndexTypetype;//索引數(shù)據(jù)類型,存儲(chǔ)為int32boolisUseIndex;//是否使用索引OperationTypeoperationType;//頂點(diǎn)的組織方式,存儲(chǔ)為int32//索引數(shù)據(jù),當(dāng)type為IT_32BIT或者IT_32BIT_2時(shí),variant為uint32;否則為uint16variantindexData[indexesCount];int32numPass;//使用的Pass個(gè)數(shù)StringpassNames[numPass];//使用的Pass的名稱數(shù)組}EnumIndexType{IT_16BIT=0,//索引值采用uint16表示IT_32BIT=1,//索引值采用uint32表示IT_16BIT_2=2,//帶屬性索引,索引值采用uint16表示IT_32BIT_2=3,//帶屬性索引,索引值采用uint32表示}EnumOperationType{//頂點(diǎn)的組織方式OT_POINT_LIST=1,//單個(gè)點(diǎn)OT_LINE_LIST=2,//兩點(diǎn)線OT_LINE_STRIP=3,//線串OT_TRIANGLE_LIST=4,//三角形OT_TRIANGLE_STRIP=5,//條帶三角形OT_TRIANGLE_FAN=6,//扇面三角形構(gòu)成OT_QUAD_STRIP=8,//條帶四邊形OT_QUAD_LIST=9,//四邊形串,不共享邊OT_POLYGON=10,//多邊形}EntityMaterial3DEntityMaterial3D{doubleversion;//版本號(hào)Stringname;//材質(zhì)名StringgroupName;//材質(zhì)所在組名EffectTypeeffectType;//特效材質(zhì)類型,存儲(chǔ)為int32int32numTechnique;//Technique個(gè)數(shù)Techniquetechniques[numTechnique];//Technique數(shù)據(jù)}EnumEffectType{//特效材質(zhì)枚舉NONE=0,//無特效WATER=1,//水面特效}Technique{Stringname;//Technique名字StringschemeName;//Technique所屬的scheme名字StringlodIndex;//Technique所使用的LOD層索引StringmShadowCasterMaterialName;//陰影投射的材質(zhì)名字StringmShadowReceiverMaterialName;//陰影接收的材質(zhì)名字int32numPass;//pass個(gè)數(shù)Passpasses[numPass];//綁定的所有pass}Pass{Stringname;//pass名字PolygonModepolygonMode;//繪制模式,存儲(chǔ)為int32CullingModecullMode;//裁剪模式,存儲(chǔ)為int32boollightEnabled;//設(shè)置光照是否開啟uint32reserved;//未使用boolreserved;//未使用floatpointSize;//點(diǎn)尺寸大小floatpointMinSize;//點(diǎn)最小尺寸floatpointMaxSize;//點(diǎn)最大尺寸int16reserved;//未使用doublereserved[3];//未使用oothHintModepntoothHintMode;//線平滑方式,存儲(chǔ)為int32oothHintModelineoothHintMode;//點(diǎn)平滑方式,存儲(chǔ)為int32uint32ambient;//環(huán)境光uint32diffuse;//散射光uint32specular;//反射光uint32selfIllumination;//自發(fā)光uint32materialColor;//材質(zhì)顏色floatshininess;//發(fā)光,影響發(fā)射光點(diǎn)的大小uint32tracking;//頂點(diǎn)顏色跟蹤boolreceiveShadow;//是否接收陰影boolcolorWrite;//顏色是否能夠?qū)懭雈loatalphaReject;//Alpha測試參考值int32boolreserved;//boolreserved;//booldepthCheck;//是否進(jìn)行深度測試booldepthWrite;//渲染時(shí)是否進(jìn)行深度寫入CompareFunctiondepthBufferFunc;//深度測試方法,存儲(chǔ)為int32floatconstantPolygonOffset;//多邊形偏移量常量部分floatslopeScalePolygonOffset;//多邊形偏移量深度坡度因子部分floatreserved;//未使用boolblendAlpha;//是否進(jìn)行Alpha混合StringvertexProgram;//頂點(diǎn)著色器的名字StringfragmentProgram;//片元著色器的名字StringgeometryProgram;//幾何著色器的名字StringshadowCasterVertexProgram;//陰影投射頂點(diǎn)著色器的名字StringshadowReceiverVertexProgram;//陰影接收頂點(diǎn)著色器的名字StringshadowReceiverFragmentProgram;//陰影接收片元著色器的名字int32numTextureUnitState;//紋理單元個(gè)數(shù)TextureUnitStatetextureUnitStates[numTextureUnitState];//關(guān)聯(lián)的紋理單元int32textureZType[numTextureUnitState];//各紋理Z通道}EnumPolygonMode{//渲染引擎用的多邊形顯示模式PM_POINTS=1,//僅顯示點(diǎn)PM_WIREFRAME=2,//僅顯示線框PM_SOLID=3//顯示實(shí)體}EnumCullingMode{//渲染引擎用的的裁剪模式CULL_NONE=1,//不進(jìn)行裁剪CULL_CLOCKWISE=2,//順時(shí)針方向被裁剪CULL_ANTICLOCKWISE=3//逆時(shí)針方向被裁減}EnumoothHintMode{//圖像繪制的反走樣模式SHM_NONE=0,//不使用抗鋸齒SHM_DONT_CARE=1,//由OpenGL決定達(dá)到點(diǎn)/線的平滑效果SHM_FASTEST=2,//運(yùn)行速度最快SHM_NICEST=3//顯示效果最好}EnumCompareFunction{//各類測試的比較方式CMPF_ALWAYS_FAIL=0,//從不通過測試CMPF_ALWAYS_PASS=1,//總是通過測試CMPF_LESS=2,//只有參考值<緩沖區(qū)標(biāo)記值時(shí)才通過CMPF_LESS_EQUAL=3,//只有參考值<=緩沖區(qū)標(biāo)記值時(shí)才通過CMPF_EQUAL=4,//只有參考值=緩沖區(qū)標(biāo)記值時(shí)才通過CMPF_NOT_EQUAL=5,//只有參考值!=緩沖區(qū)標(biāo)記值時(shí)才通過CMPF_GREATER_EQUAL=6,//只有參考值>=緩沖區(qū)標(biāo)記值時(shí)才通過CMPF_GREATER=7//只有參考值>緩沖區(qū)標(biāo)記值時(shí)才通過}TextureUnitState{Stringname;//紋理單元狀態(tài)名字StringtextureNameAlias;//紋理別名StringtextureName;//紋理單元使用的紋理名稱StringcubicTextureName;//立方體紋理名uint32reserved;//未使用TextureAddressingModemodeU;//紋理坐標(biāo)尋址模式U方向,存儲(chǔ)為int32TextureAddressingModemodeV;//紋理坐標(biāo)尋址模式V方向,存儲(chǔ)為int32TextureAddressingModemodeW;//紋理坐標(biāo)尋址模式W方向,存儲(chǔ)為int32FilterOptionsminFilter;//縮小時(shí)的濾波類型,存儲(chǔ)為int32FilterOptionsmaxFilter;//放大時(shí)的濾波類型,字節(jié)int32FilterOptionsmipFilter;//mipmap時(shí)濾波類型,字節(jié)int32doubleUScale;//紋理U的縮放doubleVScale;//V}EnumTextureAddressingMode{//紋理尋址模式TAM_WRAP,//重復(fù)貼圖TAM_MIRROR,//對稱翻轉(zhuǎn)TAM_CLAMP,//邊緣像素填充所有大于1的紋理坐標(biāo),邊緣拉長TAM_BORDER,//不在[0,1]范圍內(nèi)的紋理坐標(biāo)使用用戶指定的邊緣顏色}EnumFilterOptions{//紋理或者mipmap的濾波模式FO_NONE=0,//無過濾FO_POINT=1,//臨近采樣FO_LINEAR=2,//線性采樣FO_TRILINEAR=3,//三線性采樣FO_ANISOTROPIC=4//類似線性采樣,考慮紋理角度,各向異向性,未使用}EntityTextureEntityTexture{Stringname;//紋理名字boolmipmap;//是否帶mipmapint32level;//mipmap層級TextureDatatextureData;//紋理數(shù)據(jù)}TextureData{staticuint32compressType=14;//紋理壓縮類型,存儲(chǔ)為uint32uint32width;//紋理寬度uint32height;//紋理高度PixelFormatformat;//紋理像素格式,存儲(chǔ)為int32uint32size;//數(shù)據(jù)流字節(jié)長度int32zipSize;//zip壓縮后大小uchardata[zipSize]//zip壓縮后數(shù)據(jù)}EnumPixelFormat{//紋理像素格式PF_BYTE_RGB=11,//3字節(jié)像素,每個(gè)顏色占一個(gè)字節(jié)PF_BYTE_BGR=10,//3字節(jié)像素,每個(gè)顏色占一個(gè)字節(jié)PF_BYTE_BGRA=12,//4字節(jié)像素,每個(gè)顏色和alpha各占一個(gè)字節(jié)PF_BYTE_RGBA=13,//4字節(jié)像素,每個(gè)顏色和alpha各占一個(gè)字節(jié)}SpatiaLiteGAIAPointSpatiaLite的二維點(diǎn)對象:GAIAPoint{staticbytegaiaStart=0x00;//二進(jìn)制流開始標(biāo)記GAIAInfoinfo;//幾何對象的基本信息staticint32geoType=1;//Geometry類型標(biāo)識(shí)PointgeoPnt;//點(diǎn)對象的坐標(biāo)值staticbytegaiaEnd=0xFE;//二進(jìn)制流結(jié)束標(biāo)記}GAIAPointZSpatiaLite的三維點(diǎn)對象:GAIAPointZ{staticbytegaiaStart=0x00;//二進(jìn)制流開始標(biāo)記GAIAInfoinfo;//幾何對象的基本信息staticint32geoType=1001;//Geometry類型標(biāo)識(shí)PointZgeoPntZ;//點(diǎn)對象的坐標(biāo)值staticbytegaiaEnd=0xFE;//二進(jìn)制流結(jié)束標(biāo)記}GAIAMultiLineStringSpatiaLite的二維多線對象:GAIAMultiLineString{staticbytegaiaStart=0x00;//二進(jìn)制流開始標(biāo)記GAIAGeoInfoinfo;//幾何對象的基本信息staticint32geoType=5;//Geometry類型標(biāo)識(shí)int32numLineStrings;//子對象個(gè)數(shù)LineStringEntity[]lineStrings[numLineStrings];//LineString的幾何數(shù)據(jù)staticbytegaiaEnd=0xFE;//二進(jìn)制流結(jié)束標(biāo)記}LineStringEntit

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論