矢量数据集类。 更多...
继承自Dataset。
所有成员的列表。
详细描述
矢量数据集类。
用于对矢量数据集进行描述,并对之进行相应的管理和操作。对矢量数据集的操作主要包括数据查询、修改、删除、建立索引等。
用户在对矢量数据集进行操作之前,需要先打开该数据集,即调用打开数据集的方法—— [Dataset open] 方法。
成员函数文档
用于将记录集 <Recordset> 追加到矢量数据集 <DatasetVector> 中。
追加时,记录集与矢量数据集中字段名相同的字段直接追加,矢量数据集中没有而记录集中有的字段将跳过不处理。
执行完追加后 recordset 会指向最后一条记录的后面,即 isEOF 方法为 true。
- 参数:
-
- 返回:
- 一个布尔值,指示记录集是否追加成功,追加成功返回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 |
|
|
|
|
|
|
将点数据集中的所有点转换成线对象,仅支持点数据集
若不是点数据集,会抛出异常。若点数据集中少于两个点,则返回null
- 返回:
- GeoLine 转换成功,返回转换后的线对象;否则返回null
- (GeoLine *) convertToLineWithFieldName: |
|
(NSString *) |
fieldName |
fieldValue: |
|
(NSString *) |
fieldValue |
|
|
|
|
|
|
将点数据集中的有相同字段值的点转换成线对象,仅支持点数据集
若不是点数据集,会抛出异常。若点数据集中不存在指定的字段或没有包含该字段值的点,以及匹配结果少于两个点,则返回null
- 参数:
-
|
fieldName |
字段名 |
|
fieldValue |
字段值 |
- 返回:
- GeoLine 转换成功,返回转换后的线对象;否则返回null
- (BOOL) deleteRecords: |
|
(NSArray *) |
idArray |
|
|
通过ID数组删除数据集中的记录
- 参数:
-
- 返回:
- YES代表删除成功,NO则失败
- (BOOL) dropFieldIndex: |
|
(NSString *) |
indexName |
|
|
- (BOOL) dropSpatialIndex |
|
|
|
|
- (BOOL) fromGeoJSON: |
|
(NSString *) |
geoJSON |
|
|
从GeoJSON字符串中获取几何对象,并将其存入数据集中
仅支持点、线、面数据集,获取点、线、面对象
- 参数:
-
- 返回:
- 获取成功,返回true;否则,返回false
- (int) fromGeoJSONFile: |
|
(FILE *) |
file |
|
|
- (BOOL) isAvailableFieldName: |
|
(NSString *) |
fieldName |
|
|
- (BOOL) isSpatialIndexDirty |
|
|
|
|
通过设置查询条件对矢量数据集进行查询,该方法默认查询空间信息与属性信息。
该方法是线程安全的,线程安全级别为 level2。
- 参数:
-
- 返回:
- 查询的记录集。
- (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算 |
用于查询落在已知空间范围内,并且满足一定条件的记录。
- 参数:
-
|
bounds |
已知的空间范围。 |
|
filter |
查询过滤条件,相当于 SQL 语句中的 Where 子句部分。 |
|
type |
指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。 |
- 返回:
- 查询的记录集。
用于查询落在已知空间范围内的记录。
- 参数:
-
|
bounds |
已知的空间范围。 |
|
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 |
指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。 |
- 返回:
- 查询的记录集。
用于查询数据集中落在指定空间对象的缓冲区内的记录。
- 参数:
-
|
geometry |
用于查询的空间对象。 |
|
bufferDistance |
缓冲区的半径。 |
|
type |
指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读属性。 |
- 返回:
- 查询的记录集。
根据 ID 进行查询。
- 参数:
-
|
idArray |
数组。 |
|
type |
指定的游标类型,以便用户控制查询出来的记录集的属性。当游标类型为动态时,记录集可以被修改,当游标类型为静态时,记录集为只读。 |
- 返回:
- 查询的记录集。
- (BOOL) reBuildSpatialIndex |
|
|
|
|
根据给定的参数来返回空的记录集或者返回包括所有记录的记录集对象。
- 参数:
-
|
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 |
|
|
|
|
属性文档
获取子数据集。
- 返回:
- 子数据集(若没有返回nil)。
- (NSInteger) fieldCount [read, assign] |
获取矢量数据集中字段的数目。
该方法是线程安全的,线程安全级别为 level2。
- 返回:
- 矢量数据集中字段的数目。
获取字段信息集合的对象。即数据集属性表中所有字段的信息。
该方法是线程安全的,线程安全级别为 level2。
- 返回:
- 字段信息集合的对象。
该类的文档由以下文件生成: