全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
正如前面提到的,cursor类是用于产生一个与数据库表进行交互交互的对象。在AO中,cursor类是一个非实例化对象,它意味着你必须使用另一个对象来获得一个cursor类的实例。
Cursor Class
正如前面提到的,cursor类是用于产生一个与数据库表进行交互交互的对象。在AO中,cursor类是一个非实例化对象,它意味着你必须使用另一个对象来获得一个cursor类的实例。既然如此,在AO中,表类被用于产生一个cursor类的实例,表类包含了三种方法能够产生一个cursor类的实例,而返回的cursor类型取决于程序员调用的方法。Fig1显示了AO中的Table Class的OMD。ITable接口拥有三种方法能够返回特定类型的cursor。ITable接口的Search、Insert和Update方法能够用于返回cursor实例。这些方法的名字与返回的cursor类型相对应。
在这些方法其中一个被调用以后,AO返回一个ICursor的实例。Fig2显示了一个Cursor类的OMD,Search、Insert和Update都可以返回一个ICursor的实例。ICursor有一个属性Fields和许多能够操作记录子集的方法,但这些方法是否可用取决于你使用的cursor类型。例如,如果你产生了一个search cursor,当你调用InsertRow和UpdateRow方法聚会返回一个错误。
FeatureCursor Class
FeatureCursor类与Cursor类非常相似,其区别在于前者是操作地理数据集而后者是操作传统数据库表。shapefile和geodatabase的地理数据集在AO中表现为一个AO 要素类的形式。与cursor类相似,FeatureCursor类也是一个通过FeatureClass对象的方法产生的非实例化对象。与ITable接口类似,IFeatureClass接口也包含了Search、Insert和Update方法用于返回一个IFeatureCursor实例。
在其中一个方法被调用后,一个IFeatureCursor的实例将会被返回,IFeatureCursor可以的属性和方法尽管与ICursor的在名字上稍微不同,但其功能却是差别很大,例如,InsertFeature VS InsertRow。
使用属性和空间约束条件
看看FeatureClass和Table的OMD图,查找Search、Insert和Update方法。注意每一个方法都可以用于返回一个cursor,cursor包含了一个参数,这个参数是IQueryFilter的实例。注意IQueryFilter参数,IQueryFilter是一个可以在内存中产生用于限制记录子集的对象。
例如,如果正在查询一个parcel数据库,你可能需要限制返回的parcels结果,让它们的值都大于10万美元。你可以使用IQueryFilter接口来约束。除此以外,如果你使用一个FeatureClass对象,还可以使用ISpatialFilter接口来产生SpatialFilter。这样你可以返回所有在洪水区的parcel(使用空间查询),且其价值高于10万美元(使用属性查询)。记住空间查询只能用于要素类上,如果在一个数据库表上使用空间查询则会返回错误,因为没有地理对象可以用过滤器过虑。让我们看看QueryFilter和SpatialFilter类的细节。