取消从上一次提交以来的对图层数据的修改。
Boolean ExecSQL (Variant SQL) 在数据源执行一组SQL语句 地图管理
Boolean AddMap (GxMap Map) 把新的地图加入到数据库中
GxLayer OpenMap (String MapName) 通过地图名打开一个地图。
Boolean RemoveMap (String MapName) 把指定的地图从数据库中删除。
GxEnumeration EnumMap (String NameExpression) 查找名称匹配的地图名 图层管理
Boolean AddLayer (GxLayer Layer) 把新的图层加入到数据库
GxLayer OpenLayer (String LayerName) 通过图层名打开一个图层。
Boolean RemoveLayer (String LayerName) 把指定的图层从数据库中删除。
GxEnumeration EnumLayer (String NameExpression) 查找名称匹配的图层名
图例库管理
Boolean AddLegendLib (GxLegendLib LegendLib) 往数据库加入一个新的图例库
GxLegendLib OpenLegendLib (String LegendLibName) 根据图例库的名字打开一个图例库
Boolean RemoveLegendLib (String LegendLibName) 根据图例库的名字从数据库删除一个图例库
GxEumeration EnumLegendLib (String NameExpression) 查找名称匹配的所有图例库名
参照系管理
Boolean AddReferenceSystem (GxReferenceSystem ReferenceSystem ) 往服务器上加入一个参照系
GxReferenceSystem OpenReferenceSystem (String ReferenceName) 根据名字打开一个参照系
Boolean RemoveReferenceSystem (String ReferenceName) 删除系统中的一个参照系
GxEumeration EnumReferenceSystem (String NameExpression) 按名字匹配列举所有参照系名
显示配置管理
Boolean AddDisplaySetting (GxDisplaySetting DisplaySetting) 向服务器添加一个显示配置方案
GxDisplaySetting OpenDisplaySetting (String DisplaySettingName) 打开一个显示配置方案
Boolean RemoveDisplaySetting (String DisplaySettingName) 从服务器上删除一个显示配置
GxEnumeration EnumDisplaySetting (String NameExpression) 按名字匹配列举所有显示配置名
(二) GxLayer 图层对象
图层对象描述了图层信息(一组描述性信息,空间索引信息,实体表的用户字段定义集),它管理着图层中的多个实体。其具体功能应该包括: 2 图层描述信息的编辑 2 空间索引信息的编辑
2 实体表的用户字段定义集的编辑 2 实体的增删
2 刷新与更新图层数据 2 查询图层中的实体
根据图层与数据源的关联,可以把图层分为三类共五种状态:
2 游离状态:图层不从属于任何一个连接。按是否被编辑又可分两种子状态,Unlink 和 Unlink & Modified;
2 连接状态:图层从属于某个连接。按是否被编辑又可分两种子状态,Link 和 Link & Modified;
2 不可用状态:数据源的图层数据被破坏,导致服务器无法返回有效数据。此时需要运行数据库修复程序修复图层。
因此可以定义图层对象的接口: 定义 说明 属性 Long ID
图层ID,图层的唯一标志
GxConnection Connection 图层对象从属的连接对象
String Name
图层名,是访问数据源存储的图层的用户标识。
String Description
存储用户对图层的描述信息。
String Category 图层分类信息
String EntityTable
图层对应的实体表在数据源存储的表名。图层处于游离状态下此属性可读写,图层处于连接状态下此属性只读。
String EntitySchema
实体表的模式名, 说明该表由哪个用户所有
String ReferenceSystem 图层使用的参照系的名称。
String DisplaySetting 图层使用的显示配置的名称。
String DisplaySettingField
显示配置字段名。在显示图层的一个实体时,地图显示对象根据该属性查找实体表中相应字段的值,然后在显示配置中匹配到一个配置项,从而确定显示该实体所应采用的图例,和如何显示其标注(如字体,大小,颜色)。
String AnnotationField
标注字段名。在显示图层的一个实体时,地图显示对象根据该属性查找实体表中相应字段的值,然后以之为实体标注内容。
Double MapScale 图层的比例尺
Long GeomotryType
用于说明该图层所能包含的几何实体的类型。诸如点、线、面等。 方法 图层信息
Boolean IsConnected () 判断该图层是否处于连接状态
Boolean IsModified () 判断该图层是否被修改过。
GxRect GetExtent () 取得图层的范围
SetExtent (GxRect Extent) 设置图层的范围
GxFieldDefs GetFieldDefs ()
取得图层对应的实体表的用户字段定义集合。
SetFieldDefs (GxFieldDefs FieldDefs) 设置该图层对应的实体表的字段定义集合。
GxGeometryIndex GetGeometryIndex () 获得图层的空间索引信息。
SetGeometryIndex (GeometryIndex GxGeometryIndex) 设置图层的空间索引信息。
Boolean Refresh ()
与服务端通信,获取该图层的最新的描述信息及空间索引信息,清除过期的实体,保证图层中的信息与数据源的数据的一致性。
Boolean Update ()
在连接状态下,把当前对图层信息,图层中实体的所有修改一并提交到数据源中。在游离状态下,只提交对图层描述信息和空间索引信息的修改。提交后修改结果会生效,如重新构造空间索引。
CancleUpdate ()
取消自上次Update以来对图层描述信息,空间索引信息,和实体的修改。 实体管理
GxEntity CreateEntity ()
创建一个从属于本图层的一个新实体对象。
RemoveEntity (Long EntityID) 根据实体ID删除实体。
RemoveAllEntity () 删除图层的所有实体。
GxEntity GetEntity (Long EntityID) 根据实体号得到相应的实体对象。
GxSelection SearchEntity (Object Geometry, Long Relation, Double MinDis, String WhereCondition)
查找图层中满足空间查询条件(相等、相交、相离、包含等空间关系) 和SQL查询条件的实体。
GxSelection SearchAllEntity () 查找图层所有的实体。
(三) GxGeometryIndex 几何索引对象
在空间数据库设计中,为了提高数据存取和管理的效率,一般都要为空间数据库建立索引。集合索引对象就是用来记录一定图幅范围内的实体划分空间索引时所需要的参数。 定义 说明 属性 Long Row 空间索引行数 Long Col