GeodatabaseandArcSDE系列讲座第一部分:Geodatabase的基础知识(之一)作者:萝卜兔子文章来源:ESRI中国北京有限公司点击数:5548更新时间:2007-2-1摘要:ArcGIS9.2产品推出以后,Geodatabase部分发生了比较大的变化。本次讲座介绍的均是9.2的Geodatabase和ArcSDE的功能。在产品组成方面:9.1版本中,Geodatabase包括两种:PersonalGeodatabase和ArcSDEGeodatabase,其中前者是将空间数据存储在Access中,后者是将数据存储在Oracle,Informix,DB2,SQLServer中。而9.2版本中,新推出了FileGeodatabase,并且在ArcSDEGeodatabase部分,变成了三种类型:ArcSDEPersonalGeodatabase,ArcSDEWorkgroupGeodatabase,ArcSDEEnterpriseGeodatabase。其中前两种是9.2新推出来的产品,是将空间数据存储在SQLServerExpress中(详细介绍可见正文),而第三种就是9.1版本的ArcSDEGeodatabase,是将空间数据存储在Oracle,Informix,DB2,SQLServer。在功能方面:本讲座涉及的功能均为9.2的功能,其中9.1具备的功能包括:VersioningEditing(版本化编辑),WorkingWithaGeodataseUsingSQL(支持的数据库仅为Informix和DB2),离线编辑(与9.2的空间数据复制中的CheckIn/CheckOut相同)。值得注意的是,9.1版本对存储在ArcSDE中的空间数据只提供版本编辑功能,到了9.2才增加了NonVersion(非版本化编辑)功能,以及Registeredasvisionedwiththeoptiontomoveeditstobase(不完全版本化编辑)功能。GeodatabaseandArcSDE系列讲座第一部分:Geodatabase的基础知识(之一)Geodatabase能将空间数据存储在文件、MDB文件或者大型DBMS中。以上三种存储方式的区别在于可存储数据量的不同以及可支持的并发用户数量不同,能够实现从小数据量、单用户的文件数据库到大数据量、多用户并发编辑的企业级DBMS的不同层次的应用。Geodatabase事实上是很多GeographicDataset的集合,最基本的Dataset的类型包括FeatureClasses、RasterDataset、AttributeTables。在以上基本要素的基础上,还能定义Geodatabase的Schema、数据的完整性、规则和行为,包括SpatialReference、SpatialResolution、Topology、Network、Domain等等。在创建Geodatabase时,首先生成不同的Dataset类型,然后添加或者扩展Geodatabase基本要素的能力,例如添加拓扑、网络、子类以实现GIS行为建模、维护数据完整性以及建立空间关系。不同的数据库中,存储矢量和栅格数据几何特征的字段在是不一样的,如果DBMS能够支持SpatialtypeExtensions,则能够很容易采用这种方式存储空间几何特征。目前有三种DBMS能够支持Geodatabase的SpatialType:(1)OracleusingtheESRIspatialtypeoroptionallytheOracleSpatialtype;(2)IBMDB2usingtheSpatialExtenderGeometryObject;(3)InformixusingtheSpatialDataBladeGeometryObject。Geodatabase将地理要素以表格的形式存储,每行记录代表一个要素。在Geodatabase的数据表支持的数据类型包括:Numbers:包括ShortIntegers、LongIntegers、Single-Precisionfloatingpoints、Double-PrecisionFloatingPointNumbers;Text;Date;BLOB’S;BinaryLargeObjects用来存储和管理二进制信息,例如Symbols和CAD几何特征;GlobeIdentifiers:GlobeUniqueIdentifiers。GlobeID和GUID用来唯一标识一行记录。本篇文章来源于GIS空间站转载请以链接形式注明出处网址:第二部分:Geodatabase的基础知识(之二)作者:萝卜兔子文章来源:ESRI中国北京有限公司点击数:3979更新时间:2007-2-1摘要:对于矢量要素的存储来说,创建新的FeatureDataset或者新的FeatureClass时,需要对数据的环境进行设置,即SpatialReference,以下为主要的几种空间参考的参数:(1)XYTolerance指实现Cluster或者进行拓扑验证、缓冲区分析、多边形叠加等操作时,点与点的坐标之间的最小距离。缺省的XYTolerance是0.001meter(投影坐标系);如果是StatePlaneFeet,则缺省值是0.003281feet;如果是地理坐标系,则缺省值是0.000000008982995degrees。一旦点与点的X坐标或者Y坐标的距离小于XYTolerance,则两点应该合并为一个点。缺省状态下XYTolerance=XYResolution*10。在实际应用中,XYTolerance太大或者太小均有问题,应该根据实际情况设定合适的Tolerance。在设定Topology时,可以设定不同要素类的Rank,以确保当两个要素的点小于XYTolerance时,应该是哪个点向哪个点移动。(2)XYResolution表示存储要素坐标时的数值精度,即可以保留的小数点的位数。缺省状态下的Resloution是0.0001meter(投影坐标系);如果是StatePlaneFeet,则缺省值是0.0003281feet;如果是地理坐标系,则缺省值是0.0000000008982995degrees。对于3D数据以及LinearReferencing数据,可以分别对Z值和M值设置ZTolerance、ZResolution,以及MTolerance、MResolution可以将Geodatabase的FeatureClasses扩展为高级数据类型:FeatureDataset,、Subtypes、AttributeDomains、RelationshipClasses、Topology、NetworkDataset、GeometricNetwork、Terrain、AddressLocator、LinearReferencing、CadastralFabric、CartographicRepresentation、Versioning。对于Raster数据的存储来说,Raster数据是采用规则网格表示连续的地理事物和现象。其存储时需要注意以下部分的设置:CoordinateSystem;ReferenceCoordinateorXYLocation;CellSize;CountofRows和Columns。Raster和Image数据类型也是存储和管理在关系表格中,Raster数据通常比较大,存储的时候需要一个SideTable来存储,将Raster切为小片,或者大小通常为128*128或者256*256的Blocks,存储在Raster表中,通过Side表的每一行记录去记录栅格中的每一个Block。本篇文章来源于GIS空间站转载请以链接形式注明出处网址:第三部分:管理File和PersonalGeodatabase作者:萝卜兔子文章来源:ESRI中国北京有限公司点击数:3691更新时间:2007-2-1摘要:虽然对FileGeodatabase和PersonalGeodatabase的管理任务很少,但是还是有些管理任务是很重要的,“附件一”为两种数据库需要的管理工作。Compressing与Compacting所表示的含义与操作是不同的。对于FileGeodatabase来说,Compressing与SmartDataCompression(SDC)采用相同的技术,并且提供更多的优越之处。为了减小存储空间,可以将FileGeodatabase的矢量要素和Table压缩成Read-Only格式。Compress以后的数据在ArcMap和ArcCatalog中显示时与未压缩的数据一样,只是不能编辑。FileGeodatabase的Compress不是在物理上将数据压缩得更小,而是将数据组织得更加紧凑,例如重复的完全相同的多点会用一行记录加上点的个数来表示。ArcGIS对不同的字段采取不同的压缩方法,压缩比例由要素的类型以及属性数据的冗余程度来决定。右键单击FileGeodatabase,选择CompressFileGeodatabase实现该功能。Compress和Uncompress也可以通过Geoprocessing的工具来实现。除了可以通过CompressFileGeodatabase功能来实现文件的压缩以外,如果原始数据的Resolution很精细,而在实际应用中不需要很高的分辨率,则可以将原始数据导入到一个新的粗分辨率的数据库。不能够单独Compress和Uncompress一个FeatureDataset中的FeatureClass,如果希望对该FeatureClass压缩,则需要将该FeatureDataset中的所有的FeatureClass都压缩。对于RsaterDataset和RasterCatalog的压缩只能由FileGeodatabaseGeoprocessing工具来实现。一旦FeatureClass和Table被压缩,则不能够对数据进行编辑,并且不能够修改CoordinateSystemInformation、Subtypes、AttributeDomains、DefaultValue、FiledandtheirProperties、Representations。唯一能够修改的就是FeatureClass和Table的Alias以及AttributeIndexes。一个FeatureDataset中可以添加UncompressedFeatureClass,如果一个FeatureDataset中同时包含Compressed和Uncompressed的数据,则Uncompressed的数据也不能够被编辑或修改。“附件二”为FileGeodatabase对Compress功能的支持程度。用户能够压缩Relationship、Topology、GeometricNetworks、NetworkDatasets、Terrains中的要素类,但局限是:不能够针对已经Compressed的FeatureClass创建Topology或者GeometricNetwork,如果压缩RelationshipClass的一边的数据,则另一边的数据也不能编辑。如果Topology的FeatureClass已经Compressed,则Topology的属性也不能修改。“附件三”为高级要素对Compress功能的支持程度。Compacting是将文件记录整理、重新归类,以减少存储空间。如果经常添加或者删除数据,就必须定期对File或者PersonalGeodatabase实现Compact,这能够减少文件大小,提高访问速度。FileGeodatabase是将数据存在硬盘的文件夹中,每个Dataset是一个文件