欢迎来到天天文库
浏览记录
ID:50674231
大小:708.00 KB
页数:33页
时间:2020-03-13
《OGR数据模型ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、OGR12OGR数据模型核心对象驱动(Driver)数据源(DataSource)图层(Layer)要素(Feature)几何图形(Geometry)其他相关对象要素定义(FeatureDefn)字段定义(FieldDefn)空间参照系统定义(SpatialReference)…3函数命名规律OGR_DS_xxx:数据源操作OGR_L_xxx:图层操作OGR_FD_xxx:要素定义操作OGR_F_xxx:要素操作OGR_G_xxx:几何图形操作OGR_Fld_xxx:字段定义操作4注册所有格式注册所有格式OGRRegisterAll(
2、);注意:必须在编译时打开格式开关。通常在程序中调用其他OGR函数之前,必须首先调用此函数5数据集打开OGROpen释放OGR_DS_Destroy6OGRDataSourceHOGROpen(constchar*pszName,intbUpdate,OGRSFDriverH*pahDriverList)遍历所有支持的格式,直到成功打开,或者没有合适的驱动则返回NULL。成功返回数据源句柄。bUpdate:FALSE:只读方式打开,TRUE:读写方式打开。pahDriverList:是输出参数,如果成功打开,可返回打开的驱动。void
3、OGR_DS_Destroy(OGRDataSourceHhDataSource)释放打开的数据源打开和释放数据集7数据集常用操作OGR_DS_GetName获取数据源名称OGR_DS_GetLayerCount获取图层数OGR_DS_GetLayer根据索引号打开图层,返回图层句柄OGR_DS_GetLayerByName根据图层名打开图层,返回图层句柄OGR_DS_DeleteLayer根据索引号删除图层OGR_DS_CreateLayer创建新图层8图层一个数据集中可以包含多个图层图层由多个要素构成可以基于给定条件搜索要素9图层
4、基本信息操作OGR_L_GetLayerDefn获取图层定义信息OGR_L_GetSpatialRef获取图层空间参照系统信息(投影信息)OGR_L_GetFeatureCount获取要素数目OGR_L_GetExtent获取外接矩形范围OGR_L_GetFIDColumn获取FID所在字段的字段名OGR_L_GetGeometryColumn获取geometry所在字段的字段名10图层要素操作OGR_L_GetFeature根据FID获取要素OGR_L_SetFeature根据FID修改要素OGR_L_CreateFeature创建
5、新的要素OGR_L_DeleteFeature删除要素11图层要素查找OGR_L_ResetReading重置以开始读取下一个要素,调用OGR_L_GetNextFeature之前必须先调用本函数OGR_L_GetNextFeature获取下一个满足SpatialFilter条件的要素OGR_L_SetSpatialFilter设置空间搜索geometry(目前只支持Intersect),且可能不准确OGR_L_SetSpatialFilterRect设置矩形搜索范围(目前只支持Intersect),且可能不准确OGR_L_GetSp
6、atialFilter获取空间搜索的geometry12要素要素代表空间对象,包括空间信息和属性信息要素用FID标识空间信息用几何图形(geometry)标识属性信息用关系模型的字段标识要素还与空间参照系统相关联13要素基本信息操作OGR_F_CreateOGR_F_Destroy所有的Feature在使用完后,一定要使用本函数来释放内存。OGR_F_GetDefnRefOGR_F_GetFieldCountOGR_F_GetFieldDefnRefOGR_F_GetFieldIndex14获取要素字段值FID:OGR_F_GetFI
7、D空间信息:OGR_F_GetGeometryRef属性信息:OGR_F_GetFieldAsIntegerOGR_F_GetFieldAsDoubleOGR_F_GetFieldAsStringOGR_F_GetFieldAsIntegerListOGR_F_GetFieldAsDoubleListOGR_F_GetFieldAsStringListOGR_F_GetFieldAsBinaryOGR_F_GetFieldAsDateTime15设置要素字段值FID:OGR_F_SetFID空间信息:OGR_F_SetGeometry
8、OGR_F_SetGeometryDirectly属性信息OGR_F_SetFieldIntegerOGR_F_SetFieldDoubleOGR_F_SetFieldStringOGR_F_SetFieldIntege
此文档下载收益归作者所有