DatasetVector类参考
矢量数据集类。 更多...
继承自Dataset。
公有成员 | |
(Recordset *) | - query: |
通过设置查询条件对矢量数据集进行查询,该方法默认查询空间信息与属性信息。 | |
(Recordset *) | - queryWithGeometry:BufferDistance:Type: |
用于查询数据集中落在指定空间对象的缓冲区内的记录。 | |
(Recordset *) | - queryWithGeometry:BufferDistance:Filter:Type: |
用于查询数据集中落在指定空间对象的缓冲区内,并且满足一定条件的记录。 | |
(Recordset *) | - queryWithID:Type: |
根据 ID 进行查询。 | |
(Recordset *) | - queryWithBounds:Type: |
用于查询落在已知空间范围内的记录。 | |
(Recordset *) | - queryWithBounds:Filter:Type: |
用于查询落在已知空间范围内,并且满足一定条件的记录。 | |
(Recordset *) | - queryWithFilter:Type: |
利用查询条件查询数据。该方法默认查询空间数据与属性数据。 | |
(Recordset *) | - recordset:cursorType: |
根据给定的参数来返回空的记录集或者返回包括所有记录的记录集对象。 | |
(double) | - statisticWithName:mode: |
通过字段名称指定字段,对指定的字段按照给定的方式进行统计。 | |
(double) | - statisticWithIndex:mode: |
对指定的字段按照给定的方式进行统计。 | |
(BOOL) | - append: |
用于将记录集 <Recordset> 追加到矢量数据集 <DatasetVector> 中。 | |
(BOOL) | - append:titleName: |
用于将记录集 <Recordset> 按图幅名字追加到矢量数据集 <DatasetVector> 中,要求该矢量数据集的空间索引为图库索引,追加后记录集中的所有记录将作为图库索引的一幅。 | |
(BOOL) | - fromGeoJSON: |
从GeoJSON字符串中获取几何对象,并将其存入数据集中 | |
(BOOL) | - isAvailableFieldName: |
(NSString *) | - toGeoJSON:startID:endID: |
将数据集中指定起止SmID的对象,转换成GeoJSON格式的字符串 | |
(int) | - fromGeoJSONFile: |
(int) | - toGeoJSONFile: |
(BOOL) | - buildSpatialIndex: |
建立空间索引 | |
(BOOL) | - buildSpatialIndexWithType: |
(BOOL) | - dropSpatialIndex |
清除空间索引,为没有索引的状态 | |
(BOOL) | - reBuildSpatialIndex |
根据当前索引状态重建索引 | |
(BOOL) | - updateSpatialIndex |
脏数据的空间索引更新 | |
(BOOL) | - isSpatialIndexDirty |
是否需要重建空间索引 | |
(BOOL) | - isSpatialIndexTypeSupported: |
(SpatialIndexType) | - getSpatialIndexType |
(Rectangle2D *) | - computeBounds |
(BOOL) | - buildFieldIndex:indexName: |
新建字段索引 | |
(BOOL) | - dropFieldIndex: |
删除字段索引 | |
(GeoLine *) | - convertToLine |
将点数据集中的所有点转换成线对象,仅支持点数据集 | |
(GeoLine *) | - convertToLineWithFieldName:fieldValue: |
将点数据集中的有相同字段值的点转换成线对象,仅支持点数据集 | |
(BOOL) | - deleteRecords: |
通过ID数组删除数据集中的记录 | |
(void) | - queryByFilter:geoRegion:count: |
空间查询,查询指定空间范围内符合字段条件的记录 | |
(void) | - queryByKeyword:keywords:geoRegion:count: |
属性查询,查询指定字段之中包含关键字的记录 | |
属性 | |
NSInteger | fieldCount |
获取矢量数据集中字段的数目。 | |
FieldInfos * | fieldInfos |
获取字段信息集合的对象。即数据集属性表中所有字段的信息。 | |
DatasetVector * | childDataset |
获取子数据集。 | |
id< QueryDelegate > | delegate |
查询回调 |
详细描述
矢量数据集类。
用于对矢量数据集进行描述,并对之进行相应的管理和操作。对矢量数据集的操作主要包括数据查询、修改、删除、建立索引等。
用户在对矢量数据集进行操作之前,需要先打开该数据集,即调用打开数据集的方法—— [Dataset open] 方法。
成员函数文档
- (BOOL) append: | (Recordset *) | recordset |
用于将记录集 <Recordset> 追加到矢量数据集 <DatasetVector> 中。
追加时,记录集与矢量数据集中字段名相同的字段直接追加,矢量数据集中没有而记录集中有的字段将跳过不处理。
执行完追加后 recordset 会指向最后一条记录的后面,即 isEOF 方法为 true。
- 参数:
-
recordset 要追加的记录集对象。
- 返回:
- 一个布尔值,指示记录集是否追加成功,追加成功返回true,否则返回false。
- (BOOL) append: | (Recordset *) | recordset | ||
titleName: | (NSString *) | strTitle | ||
用于将记录集 <Recordset> 按图幅名字追加到矢量数据集 <DatasetVector> 中,要求该矢量数据集的空间索引为图库索引,追加后记录集中的所有记录将作为图库索引的一幅。
追加时,记录集与矢量数据集中字段名相同的字段直接追加,矢量数据集中没有而记录集中有的字段将跳过不处理。该方法一般用于标准图幅数据入库过程。
执行完追加后 recordset 会指向最后一条记录的后面,即 isEOF 方法为 true。
- 参数:
-
recordset 要追加的记录集对象。 strTitle 新增的图幅名称标记。
- 返回:
- 一个布尔值,指示记录集是否追加成功,追加成功返回true,否则返回false。
- (BOOL) buildFieldIndex: | (NSArray *) | arrFieldNames | ||
indexName: | (NSString *) | indexName | ||
新建字段索引
- (BOOL) buildSpatialIndex: | (SpatialIndexInfo *) | spatial |
建立空间索引
- 评论:
- 此方法只能用来建立四叉树索引和R树索引,图幅索引见其他的函数,如果是IDXNone 那么默认重建四叉树索引和R树索引
- (BOOL) buildSpatialIndexWithType: | (SpatialIndexType) | spatialIndexType |
- (Rectangle2D*) computeBounds |
- (GeoLine *) convertToLine |
- (GeoLine *) convertToLineWithFieldName: | (NSString *) | fieldName | ||
fieldValue: | (NSString *) | fieldValue | ||
将点数据集中的有相同字段值的点转换成线对象,仅支持点数据集
若不是点数据集,会抛出异常。若点数据集中不存在指定的字段或没有包含该字段值的点,以及匹配结果少于两个点,则返回null
- 参数:
-
fieldName 字段名 fieldValue 字段值
- 返回:
- GeoLine 转换成功,返回转换后的线对象;否则返回null
- (BOOL) deleteRecords: | (NSArray *) | idArray |
通过ID数组删除数据集中的记录
- 参数:
-
idArray int型数组idArray
- 返回:
- YES代表删除成功,NO则失败
- (BOOL) dropFieldIndex: | (NSString *) | indexName |
删除字段索引
- (BOOL) dropSpatialIndex |
清除空间索引,为没有索引的状态
- (BOOL) fromGeoJSON: | (NSString *) | geoJSON |
从GeoJSON字符串中获取几何对象,并将其存入数据集中
仅支持点、线、面数据集,获取点、线、面对象
- 参数:
-
geoJSON GeoJSON格式的字符串
- 返回:
- 获取成功,返回true;否则,返回false
- (int) fromGeoJSONFile: | (FILE *) | file |
- (SpatialIndexType) getSpatialIndexType |
- (BOOL) isAvailableFieldName: | (NSString *) | fieldName |
- (BOOL) isSpatialIndexDirty |
是否需要重建空间索引
- 评论:
- 规定:如果没有索引返回FALSE,有索引看索引的情况
- (BOOL) isSpatialIndexTypeSupported: | (SpatialIndexType) | spatialIndexType |
- (Recordset*) query: | (QueryParameter *) | queryParamter |
通过设置查询条件对矢量数据集进行查询,该方法默认查询空间信息与属性信息。
该方法是线程安全的,线程安全级别为 level2。
- 参数:
-
queryParamter 定义的查询条件。
- 返回:
- 查询的记录集。
- (void) queryByFilter: | (NSString *) | attributeFilter | ||
geoRegion: | (Geometry *) | geoRegion | ||
count: | (NSInteger) | count | ||
空间查询,查询指定空间范围内符合字段条件的记录
- 参数:
-
attributeFilter 查询的条件,比如说 Kind=2008 geoRegion 查询的区域 count 返回的查询结果个数,默认10个,超过100按100算
- (void) queryByKeyword: | (NSString *) | fieldName | ||
keywords: | (NSString *) | keywords | ||
geoRegion: | (Geometry *) | geoRegion | ||
count: | (NSInteger) | count | ||
属性查询,查询指定字段之中包含关键字的记录
- 参数:
-
fieldName 查询的字段名,如Name, Name_PY, Name_PYSZM,即名称字段,名称拼音字段,名称拼音首字母字段 keywords 对查询字段做查询的关键字 geoRegion 可以指定范围,如果为NULL,则表示全范围查询 count 返回的查询结果个数,默认10个,超过100按100算
- (Recordset *) queryWithBounds: | (Rectangle2D *) | bounds | ||
Filter: | (NSString *) | filter | ||
Type: | (CursorType) | type | ||
用于查询落在已知空间范围内,并且满足一定条件的记录。
- 参数:
-
bounds 已知的空间范围。 filter 查询过滤条件,相当于 SQL 语句中的 Where 子句部分。 type 指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。
- 返回:
- 查询的记录集。
- (Recordset *) queryWithBounds: | (Rectangle2D *) | bounds | ||
Type: | (CursorType) | type | ||
用于查询落在已知空间范围内的记录。
- 参数:
-
bounds 已知的空间范围。 type 指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。
- 返回:
- 查询的记录集。
- (Recordset *) queryWithFilter: | (NSString *) | filter | ||
Type: | (CursorType) | type | ||
利用查询条件查询数据。该方法默认查询空间数据与属性数据。
对于 UDB 引擎,当用户传入字符串型时间字段并用此时间值构造查询条件时,需遵循以下规则:将时间值格式化到 ”to_data()” 字符串的括号中,例如,时间值 "2008-5-12 14:28:00",写为 "to_date(2008-5-12 14:28:00)",注意括号中时间值无需引号。
- 参数:
-
filter 查询条件,相当于 SQL 语句中的 Where 子句。 type 指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读属性。
- 返回:
- 查询得到的记录集。
- (Recordset *) queryWithGeometry: | (Geometry *) | geometry | ||
BufferDistance: | (double) | bufferDistance | ||
Filter: | (NSString *) | filter | ||
Type: | (CursorType) | type | ||
用于查询数据集中落在指定空间对象的缓冲区内,并且满足一定条件的记录。
- 参数:
-
geometry 用于查询的空间对象。 bufferDistance 缓冲区的半径。 filter 查询条件,通常是一个 SQL 语句。 type 指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。
- 返回:
- 查询的记录集。
- (Recordset *) queryWithGeometry: | (Geometry *) | geometry | ||
BufferDistance: | (double) | bufferDistance | ||
Type: | (CursorType) | type | ||
用于查询数据集中落在指定空间对象的缓冲区内的记录。
- 参数:
-
geometry 用于查询的空间对象。 bufferDistance 缓冲区的半径。 type 指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读属性。
- 返回:
- 查询的记录集。
- (Recordset *) queryWithID: | (NSArray *) | idArray | ||
Type: | (CursorType) | type | ||
根据 ID 进行查询。
- 参数:
-
idArray 数组。 type 指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。
- 返回:
- 查询的记录集。
- (BOOL) reBuildSpatialIndex |
根据当前索引状态重建索引
- (Recordset*) recordset: | (BOOL) | isEmptyRecordset | ||
cursorType: | (CursorType) | cursorType | ||
根据给定的参数来返回空的记录集或者返回包括所有记录的记录集对象。
- 参数:
-
isEmptyRecordset 给定的判断是否返回空的记录集参数。为 true 时返回空记录集。为 false 时返回包含所有记录的记录集合对象。 cursorType 指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。
- 返回:
- isEmptyRecordset 参数为 true 时返回空的记录集;false 时返回包含所有记录的记录集。
- (double) statisticWithIndex: | (NSInteger) | fieldIndex | ||
mode: | (StatisticMode) | mode | ||
对指定的字段按照给定的方式进行统计。
当前版本提供了6种统计方式。统计字段的最大值,最小值,平均值,总和,标准差,以及方差。
当前版本支持的统计字段类型为布尔,字节,双精度,单精度,16位整型,32位整型。
- 参数:
-
fieldIndex 要统计的字段索引值。 mode 统计方式。
- 返回:
- 统计结果。
- (double) statisticWithName: | (NSString *) | fieldName | ||
mode: | (StatisticMode) | mode | ||
通过字段名称指定字段,对指定的字段按照给定的方式进行统计。
当前版本提供了6种统计方式。统计字段的最大值,最小值,平均值,总和,标准差,以及方差。
当前版本支持的统计字段类型为布尔,字节,双精度,单精度,16位整型,32位整型。
- 参数:
-
fieldName 统计使用的字段或字段运算表达式,如 SmID/100 等。 mode 统计方式。
- 返回:
- 统计结果。
- (NSString*) toGeoJSON: | (BOOL) | hasAttributte | ||
startID: | (int) | startID | ||
endID: | (int) | endID | ||
将数据集中指定起止SmID的对象,转换成GeoJSON格式的字符串
仅支持点、线、面数据集,转换点、线、面对象.hasAtrributte为true时,结果中包含属性值;hasAtrribute为false时,只有几何对象。
- 参数:
-
hasAttributte 是否包含属性值 startID 起始SmID endID 结束SmID
- 返回:
- 返回GeoJSON格式的字符串,没有转换成功,返回null;
- (int) toGeoJSONFile: | (FILE *) | file |
- (BOOL) updateSpatialIndex |
脏数据的空间索引更新
属性文档
- (DatasetVector*) childDataset [read, assign] |
获取子数据集。
- 返回:
- 子数据集(若没有返回nil)。
- (id<QueryDelegate>) delegate [read, write, assign] |
查询回调
- (NSInteger) fieldCount [read, assign] |
获取矢量数据集中字段的数目。
该方法是线程安全的,线程安全级别为 level2。
- 返回:
- 矢量数据集中字段的数目。
- (FieldInfos*) fieldInfos [read, assign] |
获取字段信息集合的对象。即数据集属性表中所有字段的信息。
该方法是线程安全的,线程安全级别为 level2。
- 返回:
- 字段信息集合的对象。
该类的文档由以下文件生成:
版权所有©2005-2021 北京超图软件股份有限公司。保留所有权利。