空间数据转换模块GDC10 技术手册

上传人:人*** 文档编号:571495221 上传时间:2024-08-11 格式:PDF 页数:60 大小:533.38KB
返回 下载 相关 举报
空间数据转换模块GDC10 技术手册_第1页
第1页 / 共60页
空间数据转换模块GDC10 技术手册_第2页
第2页 / 共60页
空间数据转换模块GDC10 技术手册_第3页
第3页 / 共60页
空间数据转换模块GDC10 技术手册_第4页
第4页 / 共60页
空间数据转换模块GDC10 技术手册_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《空间数据转换模块GDC10 技术手册》由会员分享,可在线阅读,更多相关《空间数据转换模块GDC10 技术手册(60页珍藏版)》请在金锄头文库上搜索。

1、 空间数据转换模块空间数据转换模块 GDC1.0 技术手册技术手册 2006 武汉武大吉奥信息工程技术有限公司 责任与担保 武汉武大吉奥信息工程技术有限公司对所有软件产品的销售合同或契约中已经说明的担保责任将不再阐述,简言之,本手册或手册中的内容将被认为是担保责任的更新。 对于本手册和本软件的更新或改变的有关信息,恕不提供,武汉武大吉奥信息工程技术有限公司不对此承担义务。 本手册中讨论的软件产品受有关协议保护,对于使用或者拷贝也必须根据有关许可协议的条款。 对于在武汉武大吉奥信息工程技术有限公司其分销商没有声明支持的软硬件上使用本手册所讨论的产品,武汉武大吉奥信息工程技术有限公司及其分销商将不

2、承担责任。 商标 吉奥之星、GeoStar是武汉武大吉奥信息工程技术有限公司的注册商标。GeoImager、GeoTIN、GeoGrid、 GeoImageDB、GeoSurf是武汉武大吉奥信息工程技术有限公司的商标。其它商标或者产品名称为相关厂商所有。 版权声明 版权所有 2004-2006 武汉武大吉奥信息工程技术有限公司 保留所有权利 包括软件产品、文件格式、声像资料等,或许在软件产品使用许可协议的允许范围内使用的软件产品,所有包含武汉武大吉奥信息工程技术有限公司及其合作伙伴的商业机密等,均受到有关版权和商业机密法律保护。没有书面证明不得随意提供给第三方。 武汉武大吉奥信息工程技术有限公

3、司 传真:027-87196133 Email: Web: 中国武汉 手册名称:GDC Objects 参考手册 手册最后修订时间: 2006 年 2 月 GDC 技术手册技术手册 目录目录 1 目目 录录 第一章第一章 关于本手册关于本手册. 1 1.1 预期读者. 1 1.2 更多信息. 1 1.3 如何联系我们. 1 第二章第二章 关于关于GDC OBJECTS. 3 2.1 GDC OBJECTS提供了什么功能?. 3 2.2 GDC OBJECTS概貌. 3 2.2.1 数据模型模块. 4 2.2.2 读数据模块. 5 2.2.3 写数据模块. 6 2.2.4 映射文件模块. 7 2

4、.2.5 支持组件模块. 7 2.3 读/写数据的一般流程. 7 第三章第三章 模型组件模型组件. 9 3.1 GDCOTOPOMANAGER组件. 9 3.1.1 Connect(IConnectPropertiesEx *piConnectEx). 9 3.1.2 GetConnectProperties(IConnectPropertiesEx *ppiConnect). 10 3.1.3 CreateTopoMetaTable(). 10 3.1.4 DropTopoMetaTable().11 3.1.5 CreateTopoRelation(IGDCOStringArray *pi

5、GDCOStringArray, IGDCOTopoRelation *ppiGDCOTopoRelation) .11 3.1.6 GetTopoRelation(BSTR objectTable, IGDCOTopoRelation *ppiGDCOTopoRelation). 12 3.1.7 FirstTopoRelation(out, retvalVARIANT_BOOL *bSuccess). 12 3.1.8 NextTopoRelation(outIGDCOTopoRelation * ppiGDCOTopoRelation, outVARIANT_BOOL *bSuccess

6、). 13 3.1.9 DeleteTopoRelation(inBSTR objectTable). 13 3.2 GDCOTOPORELATION组件. 13 3.2.1 Append(long nObjectID, VARIANT varSubObjectIDs). 14 3.2.2 GetCount(long *nCount). 14 3.2.3 GetGDCOTopoManager(IGDCOTopoManager *ppiTopoManager). 15 3.2.4 GetValue(long nObjectID, VARIANT *varSubObjectIDs). 15 3.2

7、.5 First(VARIANT_BOOL *bSuccess). 15 目录目录 GDC 技术手册技术手册 2 3.2.6 Next(long *nObjectID, VARIANT *varSubObjectIDs, VARIANT_BOOL *bSuccess).16 3.2.7 BuildGeometry(long nType,BSTR feaClassName,IFeatureClass * ppiFeaClass).16 3.2.8 Prepare(long nCursorType).16 3.2.9 AddNew(long nObjectID, VARIANT varSubObj

8、ectIDs).17 3.2.10 BatchUpdate().17 3.3 GDCOTOPORELATIONCURSOR组件.18 3.3.1 First(out,retvalVARIANT_BOOL *bSuccess).18 3.3.2 Next(outlong *nObjectID, outVARIANT *varSubObjectIDs, out,retvalVARIANT_BOOL *bSuccess).18 3.3.3 GetTopoRelation(out,retvalIGDCOTopoRelation * ppiTopoRelation); .18 第四章第四章 READER

9、组件组件 .21 4.1 IGDCOREADER接口方法 .21 4.1.1 SetReaderDirectives(in IGDCOStringArray *piDirectives).23 4.1.2 SetGeoDatabase(inIGeoDatabase * piGeoDatabase).24 4.1.3 Read(inBSTR datasetName, inIGDCOStringArray * piParameters).25 4.1.4 GetTableNames(out, retval IGDCOStringArray *ppiTableNames).27 4.1.5 GetT

10、opoRelationCursor (in BSTR Name,in IQueryFilter * piCondition, out,retval IGDCOTopoRelationCursor * ppiTopoRelationCursor).27 4.1.6 ChangeMetaData(in IGDCOStringArray *piMetaData).28 4.1.7 GetMetaData(out, retvalIGDCOStringArray *ppiMetaData).28 4.1.8 SetMappingFile(inBSTR mappingFileName).29 4.1.9

11、SetSourceSRS(inISpatialReference *piSourceSRS).29 4.1.10 GetSourceSRS(out,retvalISpatialReference *ppiSourceSRS).29 4.1.11 SetTargetSRS(inISpatialReference *piTargetSRS).30 4.1.12 GetTargetSRS(out,retvalISpatialReference *ppiTargetSRS).30 4.1.13 SetConstraints(inIGeometry *piGeometry, inIGDCOStringA

12、rray * piFilter).30 4.1.14 GetProperties(out, retvalIGDCOStringArray *ppiProperties).30 4.1.15 GetEnvelope(out, retval IEnvelope *ppiEnvelope).31 4.1.16 GetFeatureCursor (in BSTR Name,in IQueryFilter * piCondition, out,retval IFeatureCursor * ppiFetureCursor).31 4.1.17 GetGeoDatabase(out, retvalIGeo

13、Database *ppiGeoDatabase).31 4.1.18 GetSchema(BSTR bstrDataset,IGDCOStringArray* ppiFeatureClassNames,IGDCOVector* ppiFieldsVector).32 GDC 技术手册技术手册 目录目录 3 第五章第五章 WRITER组件组件. 33 5.1 IGDCOWRITER接口方法 . 33 5.1.1 SetWriterDirectives(in IGDCOStringArray *piDirectives). 35 5.1.2 SetGeoDatabase(inIGeoDataba

14、se * piGeoDatabase). 35 5.1.3 GetGeoDatabase(out, retvalIGeoDatabase * ppiGeoDatabase). 35 5.1.4 SetDataset(in IGDCOVector * piFeatureCursorVector, in IGDCOVector * piTopoRelationCursorVector) . 36 5.1.5 Write(inBSTR datasetName, inIGDCOStringArray * piParameters). 36 5.1.6 SetSchema(inBSTR FeatureC

15、lassName, in IFields *piFields). 38 5.1.7 GetSchema(inBSTR FeatureClassName, out, retvalIFields *ppiFields) . 38 5.1.8 GetMetaData(out, retval IGDCOStringArray *ppiMetaData). 39 5.1.9 SetMetaData(in IGDCOStringArray *piMetaData) . 39 5.1.10 GetTargetSRS(out,retvalISpatialReference *ppiTargetSRS). 39

16、 5.1.11 SetTargetSRS(inISpatialReference *piTargetSRS). 40 5.1.12 SetMappingFile(inBSTR mappingFileName). 40 第六章第六章 映射文件组件映射文件组件. 41 6.1 GDCOMAPPINGFILE组件. 41 6.1.1 MappingFileName属性. 41 6.1.2 GetReaderDirectives(out, retvalIGDCOStringArray*ppiReaderDirectives). 42 6.1.3 GetWriterDirectives(out, ret

17、valIGDCOStringArray *ppiWriterDirectives). 42 6.1.4 Generate(inIGDCOStringArray *piDirectives, inBSTR MappingFileName). 42 6.1.5 Run() . 43 第七章第七章 支持组件支持组件. 45 7.1 GDCOSTRINGARRAY组件. 45 7.1.1 Clone(out, retval IGDCOStringArray * ppiArray). 45 7.1.2 GetSize(out, retval long * nSize). 46 7.1.3 SetSize

18、(in long newSize, in long GrowBy) . 46 7.1.4 GetAt(in long nIndex, BSTR * value). 46 7.1.5 SetAtGrow(in long nIndex, BSTR value). 47 7.1.6 Add(in BSTR value). 47 7.1.7 InsertAt(in long nIndex, in IGDCOStringArray *piArray). 47 7.1.8 Append(inIGDCOStringArray* piGDCOStringArray). 48 目录目录 GDC 技术手册技术手册

19、 4 7.1.9 RemoveAt(in long nIndex) .48 7.1.10 RemoveAll().48 7.1.11 FindFirst(in BSTR strKey, out, retvalBSTR * strValue).48 7.1.12 FindFirstNoCase(in BSTR strKey, out, retvalBSTR * strValue).49 7.1.13 FindAll(in BSTR strKey, out, retvalIGDCOStringArray * ppiValueArray) .49 7.1.14 FindAllNoCase(in BS

20、TR strKey, out, retvalIGDCOStringArray * ppiValueArray).50 7.2 GDCOVECTOR组件.50 7.2.1 Clone(IGDCOVector * ppivector).51 7.2.2 GetSize(out, retval long *nSize).51 7.2.3 Add(in IUnknow* piUnknow) .51 7.2.4 GetAt(in long nIndex, out, retvalIUnknow*piUnknow) .51 7.2.5 RemoveAll().52 7.2.6 RemoveAt(in lon

21、g nIndex) .52 7.3 GDCOTRANSFORM 组件.52 7.3.1 nDimension属性.53 7.3.2 Xoffset属性 .53 7.3.3 Yoffset属性.54 7.3.4 Zoffset属性.54 7.3.5 Rotation属性 .55 7.3.6 Xscaling属性.55 7.3.7 Yscaling属性.55 7.3.8 Zscaling属性 .56 7.3.9 Affine_Point2D(double * x, double * y); .56 7.3.10 Affine_Point3D(double * x, double * y, doub

22、le * z);.56 GDC 技术手册技术手册 第一章第一章 关于本手册关于本手册 1 第一章第一章 关于本手册 关于本手册 本参考手册介绍 GDC Objects 的模型组件、读/写组件、映射文件组件、支持组件,详细说明各组件接口方法。可以作为使用 GDC Objects 进行开发的参考。 本参考手册涉及的格式包括 E00、CAD、SHP、MIF、GeoStar、GS3、VCT、GML、ArcGIS9.0。 本参考手册不提供示例程序, 应用示例请参考 GDC 开发帮助 、 GDC Objects 应用开发指南 。 1.1 预期读者预期读者 本参考手册适用于需要使用 GDC Objects

23、开发地理数据转换应用的开发人员。 1.2 更多信息更多信息 关于更多的GDC Objects的支持信息, 请参考下列文档 (这些文档可以从网站获得) : ? GDC 开发帮助 ? GDC Objects 应用开发指南 ? GDC 读写参考手册 ? GDC 映射文件 ? GeoStar5.0 技术手册 ? 组件类别开发指南 1.3 如何联系我们如何联系我们 武汉武大吉奥信息工程技术有限公司网站包含最新的产品消息,示例,错误修正等,请注意浏览中关于GDC Objects产品的消息。 第一章第一章 关于本手册关于本手册 GDC 技术手册技术手册 2 从哪里得到技术支持从哪里得到技术支持 为了获得最新

24、的GeoStar产品信息,您可以访问吉奥公司的网址或者在中国境内,请拨打电话: 027-87196134 (35/36/37/39/40/41) 或者传真至: 027-87196133 或者发送电子邮件至: 从哪里得到有关文档和软件产品的信息从哪里得到有关文档和软件产品的信息 与本软件产品有关的文档或许已更新, 请征询最近的吉奥公司的分公司或代理商,或者中关于GDC Objects产品的消息。 或拨打:027-87196134 (35/36/37/39/40/41) 或者传真至:027-87196133 或者发送电子邮件至: 从哪里得到有关培训的信息从哪里得到有关培训的信息 请拨打电话:027

25、-87196134 (35/36/37/39/40/41) 或者传真至:027-87196133 或者发送电子邮件至: GDC 技术手册技术手册 第二章第二章 关于关于 GDC Objects 3 第二章第二章 关于 关于 GDC Objects GDC Objects 提供了一组地理数据转换的组件。 软件开发者可以使用 GDC Objects 在新的或已经存在的应用中增加存取和处理空间数据的功能,并将这些功能提交给最终用户。 为了使用 GDC Objects 创建一个复杂的应用,你应该了解 GDC Objects 的基本概念、数据模型。 2.1 GDC Objects 提供了什么功能?提供了

26、什么功能? GDC Objects 主要提供了以下功能: ? 从 GDC 支持的数据格式中读取(Read)数据; ? 输出(Write)GDC 支持的格式数据; ? 进行空间数据的投影变换和坐标转换; GDC Objects 目前支持的格式包括:AuotoCAD dxf/dwg、Arcinfo E00、ArcView Shp、Mapinfo mif/mid、 GeoStar3.0 gws/prj、 VCT、 CGML、 GeoStar5.0、 ArcGIS9.0 九种数据格式。 GDC Objects构架提供了扩展数据格式的机制。 2.2 GDC Objects 概貌概貌 本节描述了 GDC

27、的基本框架和组成 GDC Objects 的主要组件。 GDC 框架如图所示: 第二章第二章 关于关于 GDC Objects GDC 技术手册技术手册 4 OCI,ADO.接口GeoDB,GeoADOGDCOTopoGDCODataReader,GDCODataWriterGDCToolsGDC ObjectsGDC Objects 在该框架中, GDCTools 基于 GDC Objects 开发。 GDC Objects 负责读取和输出不同格式的数据,获得的数据以 GDC 数据模型表示。GDC 数据模型以 GeoStar5.0 的数据模型为基础,扩展支持间接引用对象,数据存储于关系数据库

28、中。GDC Objects 通过 GeoStar5.0 的 GeoDB,GeoADO或数据库操作接口(如 Oracle Spatial OCI,ADO)与数据库交互。 GDC Objects 包括以下模块: 2.2.1 数据模型模块数据模型模块 GDC 数据模型主要采用 GeoStar5.0 的数据模型, 关于 GeoStar5.0 数据模型请参考 GeoStar 5.0技术手册 。GDC 数据模型中还包括间接引用对象模型。间接引用对象模型包括以下组件: ? GDCOTopoManager 用于创建、获得、删除引用对象。 ? GDCOTopoRelation 用于操作引用对象。 ? GDCOT

29、opoRelationCursor 用于操作根据查询条件得到的引用对象集。 GDC 技术手册技术手册 第二章第二章 关于关于 GDC Objects 5 2.2.2 读数据模块读数据模块 目前包括以下组件: ? GDCOCADReader 提供了读取 DWG、DXF 格式数据的接口,支持的 AutoCAD DWG、DXF 数据格式的版本为:R2.5,R2.6,R9,R10,R11,R13,R14,R2000。 ? GDCOE00Reader 读取 Arc/Info E00 格式数据的接口。 ? GDCOMIFReader 读取 Mapinfo MIF/MID 格式数据的接口。 ? GDCOSH

30、PReader 读取 Arc/Info SHP/DBF 格式数据的接口。 ? GDCOGWSReader 读取 GeoStar GWS 格式数据的接口。 ? GDCOVCTReader 读取中国地球空间数据交换标准格式数据的接口。 ? GDCOCGMLReader 读取中国地理标记语言格式数据的接口。 ? GDCORasterReader 读取影像栅格 BMP、TIF、IMG 格式数据的组件。 ? GDCOGeoStarReader 读取 GeoStar 4.0、5.0 格式数据的接口。 ? GDCOESRIReader 读取 ArcGIS 9.0 格式数据的组件。 读数据模块提供了扩展数据格

31、式的机制,即可以不断地增加读数据组件。只要遵循读数据组件的开发规范,用户可以编写自己的读数据组件,并注册集成到 GDC Objects 中。所有 GDC Objects的读数据组件都必须实现 IGDCOReader 接口。 第二章第二章 关于关于 GDC Objects GDC 技术手册技术手册 6 2.2.3 写数据模块写数据模块 目前包括以下组件: ? GDCOCADWriter 输出 DWG、DXF 格式数据的接口,支持的 AutoCAD DWG、DXF 数据格式的版本为:R2.5,R2.6,R9,R10,R11,R13,R14,R2000。 ? GDCOE00Writer 输出 Arc

32、/Info E00 格式数据的接口。 ? GDCOMIFWriter 输出 Mapinfo MIF/MID 格式数据的接口。 ? GDCOSHPWriter 输出 Arc/Info SHP/DBF 格式数据的接口。 ? GDCOGWSWriter 输出 GeoStar GWS 格式数据的接口。 ? GDCOVCTWriter 输出中国地球空间数据交换标准格式数据的接口。 ? GDCOCGMLWriter 输出中国地理标记语言格式数据的接口。 ? GDCOESRIWriter 输出 ArcGIS 9.0 格式数据的组件。 ? GDCOGeoStarWriter 输出 GeoStar 4.0、5.

33、0 格式数据的接口。 写数据模块提供了扩展数据格式的机制,即可以不断地增加写数据组件。只要遵循写数据组件的开发规范,用户可以编写自己的写数据组件,并注册集成到 GDC Objects 中。所有 GDC Objects的写数据组件都必须实现 IGDCOWriter 接口。 GDC 技术手册技术手册 第二章第二章 关于关于 GDC Objects 7 2.2.4 映射文件模块映射文件模块 包括以下组件: ? GDCOMappingFile 提供对映射文件的操作功能,包括生成映射文件模板功能。映射文件为 XML 文件,它定义了一系列转换规则。 2.2.5 支持组件模块支持组件模块 包括以下组件: ?

34、 GDCOStringArray 封装了字符串数组,提供访问其成员的方法。 ? GDCOVector 是一组 IUnknown 接口的容器,提供访问其成员的方法。 ? GDCOTransform 提供坐标的仿射变换功能。 ? GDCOSession 用于创建读/写组件对象操作的组件(未实现) 。 2.3 读读/写数据的一般流程写数据的一般流程 下图说明了读数据的一般流程。首先需要创建一个 GDCOXXXReader 组件对象(其中 XXX 表示格式标识) ,然后调用该组件支持的接口方法(所有读数据组件都支持 IGDCOReader 接口)设置数据库、元数据信息、读数据指示、映射文件等,再读取数

35、据,同时可以记录日志信息。得到的数据(Dataset)以 GeoStar5.0 的数据模型保存到数据库中,用户可以利用 GeoStar5.0 的相关组件操作这些数据。关于 GeoStar5.0 的更多信息请参考GeoStar5.0 技术手册 。 第二章第二章 关于关于 GDC Objects GDC 技术手册技术手册 8 MainGDCOXXXReaderNewSetGeoDatabaseChangeMetaDataSetReaderDirectiveSetMappingFileReadGetDatasetFireLog 下图说明了写数据的一般流程。首先需要创建一个 GDCOXXXWriter

36、 组件对象,然后调用该组件支持的接口方法(所有读数据组件都支持 IGDCOWriter 接口)设置数据集、元数据信息、写数据指示、映射文件等,再输出数据到指定的格式,同时可以记录日志信息。原数据集是指以 GeoStar5.0 的数据模型存于数据库中的数据集(FeatureCursor) ,可以是通过读数据组件得到的,也可以是通过其它途径(如数据生产)得到的。 MainGDCOXXXWriterNewSetDatasetSetMetaDataSetWriterDirectiveSetMappingFileWriteFireLogGDC 技术手册技术手册 第三章第三章 模型组件模型组件 9 第三章

37、第三章 模型组件 模型组件 3.1 GDCOTopoManager 组件组件 GDCOTopoManager 提供了一个包括创建、移去拓扑元表,创建、获得、删除拓扑关系对象的管理拓扑关系组件。 组件对象 GDCOTopoManager 的 UML 类图如下图所示: 3.1.1 Connect(IConnectPropertiesEx *piConnectEx) 功能:功能: 连接数据库。 参数:参数: piConnectEx 数据库的连接信息。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 第三章第三章 模型组件模型组件 GDC 技术手册

38、技术手册 10 3.1.2 GetConnectProperties(IConnectPropertiesEx *ppiConnect) 功能:功能: 得到当前的数据库连接信息。 参数:参数: ppiConnect:返回的数据库的连接信息。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.1.3 CreateTopoMetaTable() 功能:功能: 创建拓扑元表。 参数:参数: 无。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 调用该方法之前连接数据库成功。字段

39、信息如下表所示: 字段名 类型 约束 说明 ObjectTable Char(64) Primary key 引用对象对应的表名。 如: 对于引用线构成面对象的情况,该字段值为面对象对应的表名。 SubObjectTable Char(64) Not null 被引用对象对应的表名。 如: 对于引用线构成面对象的情况,该字段值为线对象对应的表名。 ObjectIDField Char(64) Not null 引用对象对应的表中关联 (标识) 字段的字段名称。SubObjectIDField Char(64) Not null 被引用对象对应的表中关联字段的字段名称。 TopoTable Ch

40、ar(64) unique 记录具体的引用关系的表名。 GDCOrder Long Not null 记录对应的拓扑关系表中 GDCOOrder 当前的最大值 GDC 技术手册技术手册 第三章第三章 模型组件模型组件 11 3.1.4 DropTopoMetaTable() 功能:功能: 删除拓扑元表。 参数:参数: 无。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.1.5 CreateTopoRelation(IGDCOStringArray *piGDCOStringArray, IGDCOTopoRelation *ppiGD

41、COTopoRelation) 功能:功能: 创建一个拓扑关系对象。 参数:参数: piGDCOStringArray:拓扑关系表的参数信息。 ppiGDCOTopoRelation:返回的拓扑关系对象。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 记录引用对象的拓扑引用关系。 拓扑关系的表名由用户指定, 和拓扑元表中的 TopoTable字段的值一致,拓扑关系表的前四个字段固定如下表所示,其他字段由用户指定。字段信息如下表所示: 字段名 类型 约束 说明 ObjectID Long Not null 引用对象的标识号。该

42、字段名可以在具体应用时指定。如:对于引用线构成面对象的情况,该字段名可以指定为 PoygonID, 表示面对象的标识。SubObjectID Long Not null 被引用对象的标识号。该字段名可以在具体应用时指定。如:对于引用线构成面对象的情况,该字段名可以指定为 ArcID,表示线对象的标识。第三章第三章 模型组件模型组件 GDC 技术手册技术手册 12 标识号 0 表示面对象组成部分间的分隔。 GDCOrder Long Primary key 被引用对象在构成引用对象时的顺序,并唯一标识被引用对象。 Direction Integer Not null 被引用对象在构成引用对象时的

43、方向。1 表示正方向,0 表示反方向。 * * 用户指定的字段,字段名称和类型由用户确定。3.1.6 GetTopoRelation(BSTR objectTable, IGDCOTopoRelation *ppiGDCOTopoRelation) 功能:功能: 查找一个拓扑关系对象。 参数:参数: objectTable:引用对象的名称,对应拓扑元表的第一个属性字段。 ppiGDCOTopoRelation:返回的拓扑关系对象。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.1.7 FirstTopoRelation(out, re

44、tvalVARIANT_BOOL *bSuccess) 功能:功能: 指向所有拓扑关系对象中的第一个元素。 参数:参数: bSuccess:返回的状态信息。 VARIANT_TRUE:指向了第一个元素成功。 VARIANT_FALSE:指向第一个元素失败。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 GDC 技术手册技术手册 第三章第三章 模型组件模型组件 13 3.1.8 NextTopoRelation(outIGDCOTopoRelation * ppiGDCOTopoRelation, outVARIANT_BOOL *bSuc

45、cess) 功能:功能: 取出当前的拓扑关系对象,并指向下一个拓扑关系对象。 参数:参数: ppiGDCOTopoRelation:返回的拓扑关系对象。 bSuccess:是否存在下一个拓扑关系对象。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.1.9 DeleteTopoRelation(inBSTR objectTable) 功能:功能: 删除指定的拓扑关系对象。 参数:参数: objectTable:引用对象的名称,对应拓扑元表的第一个属性字段。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL

46、 异常时,执行失败。 3.2 GDCOTopoRelation 组件组件 GDCOTopoRelation 提供一个包括,用于操作拓扑关系对象,加入元素的拓扑关系,删除元素的拓扑关系, 获得元素的拓扑关系, 根据拓扑关系创建出元素的 Geostar5.0 的几何模型的操作拓扑关系对象组件。 组件对象 GDCOTopoRelation 的 UML 类图如下图所示: 第三章第三章 模型组件模型组件 GDC 技术手册技术手册 14 3.2.1 Append(long nObjectID, VARIANT varSubObjectIDs) 功能:功能: 加入一个引用对象的拓扑关系。 参数:参数: nO

47、bjectID:引用对象的标识号。 varSubObjectIDs:被引用对象的标识号,其在数组中的顺序表示被引用对象的顺序,标号的正负表示被引用对象的方向。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.2.2 GetCount(long *nCount) 功能:功能: 得到引用对象的个数。 参数:参数: nCount:返回的引用对象的个数。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 GDC 技术手册技术手册 第三章第三章 模型组件模型组件 15 3.2.3 GetGDCO

48、TopoManager(IGDCOTopoManager *ppiTopoManager) 功能:功能: 得到当前拓扑关系表对应的 GDCOTopoManager 对象。 参数:参数: ppiTopoManager:返回的 GDCOTopoManager 对象。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.2.4 GetValue(long nObjectID, VARIANT *varSubObjectIDs) 功能:功能: 得到指定引用对象的拓扑关系。 参数:参数: nObjectID:引用对象的标号。 varSubObject

49、IDs:返回的被引用对象的标号。其在数组中的顺序表示被引用对象的顺序,标号的正负表示被引用对象的方向。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.2.5 First(VARIANT_BOOL *bSuccess) 功能:功能: 准备遍历引用对象的拓扑关系。 参数:参数: bSuccess:表示当前拓扑关系表中是否存在拓扑关系数据。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 第三章第三章 模型组件模型组件 GDC 技术手册技术手册 16 3.2.6 Next(long *n

50、ObjectID, VARIANT *varSubObjectIDs, VARIANT_BOOL *bSuccess) 功能:功能: 得到当前位置的引用对象的拓扑关系,并将游标指向下一个引用对象。 参数:参数: nObjectID:返回的引用对象的标号。 varSubObjectIDs:被引用对象的标号。 bSuccess:表示是否存在下一个引用对象。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.2.7 BuildGeometry(long nType,BSTR feaClassName,IFeatureClass * ppiFea

51、Class) 功能:功能: 构建引用对象的 Geostar5.0 的几何数据模型。 参数:参数: nType:引用对象的几何类型,2表示线,3表示面。 FeaClassName:用户指定的 Geostar5.0 的地物类名称。 ppiFeaClass:返回的地物类。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 创建地物类时,空间参考、比例尺、范围等信息使用默认值,地物类表结构为:OID,Geometry,引用对象标号。 3.2.8 Prepare(long nCursorType) 功能:功能: 准备加入拓扑关系对象。 G

52、DC 技术手册技术手册 第三章第三章 模型组件模型组件 17 参数:参数: nCursorType:连接的游标类型 1客户端游标,2服务器游标。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.2.9 AddNew(long nObjectID, VARIANT varSubObjectIDs) 功能:功能: 在 TOPO 关系表中加入对象 参数:参数: nObjectID:引用对象的 ID。 varSubObjectIDs:被引用对象的 ID 数组。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异

53、常时,执行失败。 说明:说明: 加入的时候没有提交数据库,在调用 BatchUpdate 方法的时候提交数据库,另在调用,必须先调用 Prepare 方法。 3.2.10 BatchUpdate() 功能:功能: 提交加入的到数据集中的拓扑关系数据。 参数:参数: 无。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明:Prepare,BatchUpdate 方法必须成对调用。 第三章第三章 模型组件模型组件 GDC 技术手册技术手册 18 3.3 GDCOTopoRelationCursor 组件组件 GDCOTopoRelat

54、ionCursor 是在 GDCOTopoRelation 对象中满足某个条件的拓扑关系记录的集合。 3.3.1 First(out,retvalVARIANT_BOOL *bSuccess) 功能:功能: 将游标指向第一个引用对象的拓扑关系记录。 参数:参数: bSuccess:移动游标是否成功。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.3.2 Next(outlong *nObjectID, outVARIANT *varSubObjectIDs, out,retvalVARIANT_BOOL *bSuccess) 功能:功

55、能: 获得当前位置的引用对象的拓扑关系,并将游标指向下一个引用对象。 参数:参数: nObjectID:返回引用对象的标号。 varSubObjectIDs:返回被引用对象的标号。 bSuccess:表示是否存在下一个引用对象。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 3.3.3 GetTopoRelation(out,retvalIGDCOTopoRelation * ppiTopoRelation); 功能:功能: 获得当前 IGDCOTopoRelationCursor 对象对应的 GDCOTopoRelation 对象。 G

56、DC 技术手册技术手册 第三章第三章 模型组件模型组件 19 参数:参数: ppiTopoRelation:返回的拓扑关系对象。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。GDC 技术手册技术手册 第四章第四章 Reader 组件组件 21 第四章第四章 Reader 组件组件 读数据组件对象以一致的方式读取支持的各种格式的数据。每个读数据组件对象都实现接口IGDCOReader。读数据组件对象如下图所示。 4.1 IGDCOReader 接口方法接口方法 列出 Reader 接口方法说明:方法名 说明 SetReaderDirecti

57、ves( in IGDCOStringArray *piDirectives) 设置一组读数据指示,它们以成对的名称值的形式给定。 SetGeoDatabase( inIGeoDatabase * piGeoDatabase) 设置数据库接口指针。数据库的连接由二次开发用户确定。这个数据库是为进行数据转换准备的临时数据第四章第四章 Reader 组件组件 GDC 技术手册技术手册 22 库,因此,在不需要该临时数据库时应该调用数据模型组件模块中相应的方法删除该临时数据库。 GetGeoDatabase( out,retvalIGeoDatabase *ppiGeoDatabase)得到数据库接

58、口指针。 Read(inBSTR datasetName , inIGDCOStringArray * piParameters) 打开数据集,将数据读到以中间模型表示的临时数据库中。参数 datasetName 指定了数据集名称,根据数据集类型不同可以是单个文件名、路径名、数据库连接串。数据库连接串内容包括用户名、密码、数据库名和服务名, 各值间以 “,” 分隔。 参数 piParameters说明了读数据时的一些规则,以成对的关键词值形式给定。 GetTableNames(out, retval IGDCOStringArray *ppiTableNames) 得到数据集中的地物类表名或拓

59、扑关系表名,或普通表名。 返回参数 ppiTableNames 以值-对的形式给出,前一项表示名称,后一项表示类型。类型有三种,分别用字符串“FeatureClassType” ,“TopoRelationType” , “GeneralType”表示。 GetFeatureCursor (in BSTR Name,in IQueryFilter * piCondition, out,retval IFeatureCursor * ppiFetureCursor) 根据地物类名和查询条件得到数据库中的地物数据。返回参数 ppiFetureCursor 的类型为 IFeatureCursor接口

60、指针,存放指定地物类表中所有满足查询条件的地物对象。 GetTopoRelationCursor (in BSTR Name ,in IQueryFilter * piCondition , out,retval IGDCOTopoRelationCursor * ppiTopoRelationCursor) 根据拓扑关系表名和查询条件得到数据库中的拓扑关系对象。返回参数 ppiTopoRelationCursor 的类型为 IGDCOTopoRelationCursor 接口指针,存放指定拓扑关系表中所有满足查询条件的拓扑关系对象。 GetEnvelope( out, retval IEnv

61、elope *ppiEnvelope) 得到数据集的范围。 GetMetaData(out,retvalIGDCOStringArray *ppiMetaData) 得到数据集本身支持的元数据信息,如空间参考系统、坐标单位、比例尺等信息。它以成对的关键词值的形式给定。 ChangeMetaData( in IGDCOStringArray *piMetaData) 改变数据集的元数据信息,如空间参考系统、坐标单位、比例尺信息。若数据集本身支持元数据信息,则调用该方法将刷新数据集本身的元数据信息。 GetSourceSRS(out,retvalISpatialReference *ppiSour

62、ceSRS) 得到数据集的源空间参考系统。 SetSourceSRS(inISpatialReference *piSourceSRS) 设置数据集的源空间参考系统。 GDC 技术手册技术手册 第四章第四章 Reader 组件组件 23 GetTargetSRS(out,retvalISpatialReference *ppiTargetSRS) 得到数据集的目标空间参考系统。 SetTargetSRS(inISpatialReference *piTargetSRS) 设置数据集的目标空间参考系统。 SetConstraints(inIGeometry *piGeometry, inIGDC

63、OStringArray * piFilter) 该方法预留,暂不实现。设置查询(包括空间查询和属性查询) 条件, 得到的数据为满足查询条件的数据。空间查询范围用参数 piGeometry 表示,空间查询的类型和属性查询条件用参数 piFilter 表示。关于IGeometry 接口的详细信息,请参见 GeoStar5.0 技术手册。下文用到 IGeometry 的地方不再说明。 GetProperties(out, retvalIGDCOStringArray *ppiProperties) 得到关于数据集的一些特性,如是否建立了空间索引。该方法预留,暂不实现。 SetMappingFile

64、(inBSTR mappingFileName) 设置映射文件。读数据时可根据该映射文件进行。 4.1.1 SetReaderDirectives(in IGDCOStringArray *piDirectives) 功能:功能: 设置读数据指示 输入参数:输入参数: piDirectives 以关键词-值对形式表示的读数据指示。关键词-值对应的关系如下表如示。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 关键词 值 必须/可选说明 TRANSFORM_PROJECTION YES/NO 可选 读数据时是否进行投影变换。值为“YES”或

65、“NO” ,缺省值为“NO”。 QUICKIMPORT YES/NO 可选 读数据时是否采用快速导入方式。值为“YES”或“NO” ,缺省值为“YES”。目 前 只 有 当 数 据 库 连 接 类 型 为Oracle Spatial 时该参数才起作用。 IMPORT_TO _FEATUREDATAROOM YES/NO 可选 读 数 据 时 是 否 导 入 数 据 到FeatureDataRoom 下 , 缺 省 值 为NO。 第四章第四章 Reader 组件组件 GDC 技术手册技术手册 24 FEATUREDATAROOM_NAME 字符串 可选 如果导入数据到 FeatureDataRo

66、om下,则要指定 FeatureDataRoom 的名称,且 FeatureDataRoom 必须存在。 SENT_PROGRESS_EVENTS YES/NO 可选 是否激活发进度事件消息,缺省值为”YES”。 TEMP_STORAGE_MODE DATABASE/ MEMORY 可选 中间数据存储模式, 分数据库模式和内存模式,数据库模式占内存较少,而内存模式时则将占用较多内存保存中间数据。 缺省值为DATABASEFEATURECLASS_CHECK YES/NO 可选 创建地类时,如果地物类已经存在,是否进行一致性检查,缺省值为YES。如果确保要创建的地物类与已经存在的地物类一致, 可

67、以不进行检查,这时可以提高速度。 DELETE_SPATIAL_INDEX YES/NO 可选 如果地物类已经存在, 是否先删除空间索引再转入数据,缺省值为NO。有两种情况: (1)如果原来存在大量数据,然后要转入少量数据,建议不删除原索引,该参数设置为NO; (2) 反之, 如果原来存在少量数据,然后要转入大量数据, 建议删除原索引,该参数设置为YES。 MODIFY_NAMES YES/NO 可选 是否修改原数据中的表名和字段名,使之符合数据库的命名规范, 缺省值为“YES”。 4.1.2 SetGeoDatabase(inIGeoDatabase * piGeoDatabase) 功能:

68、功能: 设置数据库接口指针。 输入参数:输入参数: piGeoDatabase 数据库接口指针,由调用者在连接数据库后传入。 返回值:返回值: S_OK 执行成功。 GDC 技术手册技术手册 第四章第四章 Reader 组件组件 25 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 4.1.3 Read(inBSTR datasetName, inIGDCOStringArray * piParameters) 功能:功能: 打开数据集,将数据转换成以 GDC 数据模型为基础的中间数据保存于(临时)数据库中。 输入参数:输入参数: datasetName 指定了数据集的名称(单个

69、文件名或路径名或数据库连接串。数据库连接串内容包括用户名、密码、数据库名和服务名,各值间以“,”分隔。 ) ,不能为空。 piParameters 说明了读数据时的一些参数,它以成对的关键词-值的形式给定,可以为空。不同格式支持的读数据参数如下表所示。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 调用该方法前必须先设置数据库接口指针,否则返回 S_FALSE。 格式 关键词 值范围 必须/可选 说明 SOURCE_UUID 字符串 可选 长度应小于 40 个字符, 作为数据的来源标识使用。 INCLUDE_SUBFOLDE

70、R 字符串 可选 如果数据集为文件夹,指定是否包含子文件夹,缺省值为”NO”。 INCLUDE_BND YES/NO 可选 读数据时是否把文件中的 BND 数据作为一个地物来处理,缺省值为”NO”。 INCLUDE_TIC YES/NO 可选 读数据时是否把文件中的 TIC 数据作为一个地物来处理,缺省值为”NO”。 E00 E00_INCLUDE_NODE YES/NO 可选 读数据时是否把文件中的 Node 数据作为地物来处理, 缺省值为”NO”。第四章第四章 Reader 组件组件 GDC 技术手册技术手册 26 E00_INCLUDE_LABEL YES/NO 可选 读数据时是否把文件

71、中面的 Label点数据作为地物来处理,缺省值为”NO”。 E00_INCLUDE_CNT YES/NO 可选 读数据时是否把文件中面的质心点数据作为地物来处理,缺省为 NO。BUILD_MODE WHOLE / BYFILES可选 构建几何或属性关联时的模式,WHOLE 表示以整个数据库为基础构建几何或属性关联(建议数据转换 时 使 用 空 的 临 时 数 据 库 ) ,BYFILES 表示根据转换的文件进行构建几何或属性关联。 IS_DATAROOM YES/NO 可选 数据是否存储在地物类集合中,缺省值为”NO”。 DATAROOM_NAME 字符串 可选 如果数据存储在地物类集合中,则

72、必须指定地物类集合的名称。 CAD IS_DROPINDEX YES/NO 可选 对于数据源中已经存在的地物类,是否先删除索引再转入数据,缺省值为”YES”。 MIF INCLUDE_SUBFOLDER 字符串 可选 如果数据集为文件夹,指定是否包含子文件夹,缺省值为”NO” SHP INCLUDE_SUBFOLDER 字符串 可选 如果数据集为文件夹,指定是否包含子文件夹,缺省值为”NO” GEOSTAR_DEF 字符串 可选 包含表名,指定的数据范围与指定要查询的地物与范围的关系。 GEOSTAR_BSQL 字符串 可选 指定在打开数据库表之前先执行的SQL 语句。 GeoStar GEO

73、STAR_ESQL 字符串 可选 指定在关闭数据库表之后执行的SQL 语句。 VCT INCLUDE_SUBFOLDER 字符串 可选 如果数据集为文件夹,指定是否包含子文件夹,缺省值为”NO” GML INCLUDE_SUBFOLDER 字符串 可选 如果数据集为文件夹,指定是否包含子文件夹,缺省值为”NO” DATASET_TYPE 字符串 可选 值为 shapefile、 coverage、 access、sde 之一,缺省为 access ESRI SERVER_NAME 字符串 可选 服务名 GDC 技术手册技术手册 第四章第四章 Reader 组件组件 27 INSTANCE_NA

74、ME 字符串 可选 实例名 USER_NAME 字符串 可选 用户名 PASSWD 字符串 可选 密码 DATABASE_NAME 字符串 可选 数据库名 VERSION 字符串 可选 版本 4.1.4 GetTableNames(out, retval IGDCOStringArray *ppiTableNames) 功能:功能: 得到数据集中的地物类表名或拓扑关系表名, 或普通表名。 返回参数 ppiTableNames以值-对的形式给出,前一项表示名称,后一项表示类型。类型有三种,分别用字符串“FeatureClassType”表示地物类类型,“TopoRelationType”表示拓扑

75、关系类型,“GeneralType”表示普通表类型。 输出参数:输出参数: ppiTableNames,返回表名-类型数组。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 这个方法一定是要在 Read()方法之后使用。 4.1.5 GetTopoRelationCursor (in BSTR Name,in IQueryFilter * piCondition, out,retval IGDCOTopoRelationCursor * ppiTopoRelationCursor) 功能:功能: 根据拓扑关系表名和查询条件得到

76、数据库中的拓扑关系数据 输入参数:输入参数: Name, 拓扑关系表名 piCondition, 查询条件,可以为空,表示查询所有拓扑关系数据。 输出参数:输出参数: ppiTopoRelationCursor 的类型为 IGDCOTopoRelationCursor 接口指针,存放所有满足查询条件的拓扑关系数据。 第四章第四章 Reader 组件组件 GDC 技术手册技术手册 28 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 该方法暂没有实现。 4.1.6 ChangeMetaData(in IGDCOStringArr

77、ay *piMetaData) 功能:功能: 改变元数据信息,如坐标单位、比例尺等信息。 输入参数:输入参数: 以关键词-值对的形式表示的元数据信息。 目前支持的关键词如下: XY_UNIT 值为M或D,分别表示以米为单位和以度为单位。 Z_UNIT 值为M,表示以米为单位。其它单位以后再扩展。 MAP_SCALE 值为”字符串”, 比例尺信息。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 4.1.7 GetMetaData(out, retvalIGDCOStringArray *ppiMetaData) 功能:功能: 获得元数据信息

78、,如坐标单位、比例尺等信息。 输出参数:输出参数: 以关键词-值对的形式表示元数据信息,同 3.1.6 节。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 GDC 技术手册技术手册 第四章第四章 Reader 组件组件 29 4.1.8 SetMappingFile(inBSTR mappingFileName) 功能:功能: 设置映射文件名。 输入参数:输入参数: mappingFileName,映射文件名。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 操作映射文件

79、需要 MSXML 4.0 Software Development Kit (SDK)。关于映射文件的更多信息请参考GDC 映射文件 。 4.1.9 SetSourceSRS(inISpatialReference *piSourceSRS) 功能:功能: 设置源空间参考系统。 输入参数:输入参数: piSourceSRS,源空间参考系统接口指针。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 4.1.10 GetSourceSRS(out,retvalISpatialReference *ppiSourceSRS) 功能:功能: 得到源

80、空间参考系统接口指针。 返回参数:返回参数: ppiSourceSRS,源空间参考系统接口指针。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 第四章第四章 Reader 组件组件 GDC 技术手册技术手册 30 4.1.11 SetTargetSRS(inISpatialReference *piTargetSRS) 功能:功能: 设置目标空间参考系统。 输入参数:输入参数: piSourceSRS,目标空间参考系统接口指针。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 4.1.

81、12 GetTargetSRS(out,retvalISpatialReference *ppiTargetSRS) 功能:功能: 得到目标空间参考系统接口指针。 返回参数:返回参数: ppiTargetSRS, 目标空间参考系统接口指针。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 4.1.13 SetConstraints(inIGeometry *piGeometry, inIGDCOStringArray * piFilter) 说明:说明: 该方法暂没有实现。 4.1.14 GetProperties(out, retvalI

82、GDCOStringArray *ppiProperties) 说明:说明: 该方法暂没有实现。 GDC 技术手册技术手册 第四章第四章 Reader 组件组件 31 4.1.15 GetEnvelope(out, retval IEnvelope *ppiEnvelope) 功能:功能: 得到数据集的范围。 输出参数:输出参数: 数据集的范围。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明:如果返回的范围接口指针为空,表示没有计算数据集范围,数据集范围在读数据时进行计算。因此,为了得到正确的范围,必须先调用 Read 方法读

83、取数据。 4.1.16 GetFeatureCursor (in BSTR Name,in IQueryFilter * piCondition, out,retval IFeatureCursor * ppiFetureCursor) 功能:功能: 根据地物类名和查询条件得到数据库中的地物数据。 输入参数:输入参数: Name, 地物类名。 piCondition, 查询条件,可以为空,表示查询所有的地物类表数据。 输出参数:输出参数: ppiFetureCursor 的类型为 IFeatureCursor 接口指针,存放指定地物类表中所有满足查询条件的地物对象。 返回值:返回值: S_OK

84、 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 4.1.17 GetGeoDatabase(out, retvalIGeoDatabase *ppiGeoDatabase) 功能:功能: 得到数据库接口指针。 返回参数:返回参数: ppiGeoDatabase。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 第四章第四章 Reader 组件组件 GDC 技术手册技术手册 32 4.1.18 GetSchema(BSTR bstrDataset,IGDCOStringArray* ppiFeatureClassN

85、ames,IGDCOVector* ppiFieldsVector) 功能:功能: 得到所给的数据集中所有的地物类名和对应地物类的属性结构。 返回参数:返回参数: ppiFeatureClassNames 数据集中所有的地物类名。 ppiFieldsVector 数据集中所有的地物类的属性结构。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: ppiFeatureClassNames 和 ppiFieldsVector 中对象的个数及顺序是一致的。GDC 技术手册技术手册 第五章第五章 Writer 组件组件 33 第五章第五

86、章 Writer 组件组件 写数据组件对象以一致的方式输出支持的各种格式的数据。每个写数据组件对象都实现接口IGDCOWriter。写读数据组件对象如下图所示。 5.1 IGDCOWriter 接口方法接口方法 列出 Writer 接口方法说明:方法名 说明 SetWriterDirectives( in IGDCOStringArray *piDirectives) 设置一组写数据指示,它们以成对的名称值的形式给定。 第五章第五章 Writer 组件组件 GDC 技术手册技术手册 34 SetGeoDatabase( inIGeoDatabase * piGeoDatabase) 设 置 数

87、 据 库 接 口 指 针 。 ( 只 在GDCOGeoStarWriter 组件中实现了该方法, 其它格式不实现此方法) 。 GetGeoDatabase(out, retval IGeoDatabase * ppiGeoDatabase) 得到数据库接口指针。 SetDataset( in IGDCOVector * piFeatureCursorVector , in IGDCOVector * piTopoRelationCursorVector) 设置待输出的数据集。 Write(inBSTR datasetName , inIGDCOStringArray * piParameter

88、s) 打开数据集, 写数据。 参数 datasetName 指定了数据集的名称,根据数据集类型不同可以是单个文件名、路径名、数据库连接串。数据库连接串内容包括用户名、密码、数据库名和服务名,各值间以“,”分隔。参数 piParameters 说明了写数据时的一些规则,它以成对的关键词值的形式给定。 SetSchema(inBSTR FeatureClassName , in IFields *piFields) 设置数据集中指定地物类新的属性模式。 GetSchema(inBSTR FeatureClassName , out, retvalIFields *ppiFields) 得到数据集中

89、指定地物类的属性模式。 GetMetaData(out, retval IGDCOStringArray *ppiMetaData) 得到数据集的元数据信息。 SetMetaData( in IGDCOStringArray *piMetaData) 设置数据集的元数据信息,如空间参考系统、坐标单位、比例尺等信息。如果数据集本身支持元数据信息,则调用该方法将刷新数据集本身的元数据信息。这里,空间参考系统参数预留,用于以后扩展以文本形式(下面还提供了以接口形式获得与设置坐标参考系统的方法)描述坐标参考系统的情况。 GetTargetSRS(out,retval ISpatialReference

90、 *ppiTargetSRS) 得到数据集的目标坐标参考系统。 SetTargetSRS( inISpatialReference *piTargetSRS) 设置数据集的目标坐标参考系统。 SetMappingFile( inBSTR mappingFileName) 设置映射文件。写数据时可以根据该映射文件进行。 GDC 技术手册技术手册 第五章第五章 Writer 组件组件 35 5.1.1 SetWriterDirectives(in IGDCOStringArray *piDirectives) 功能:功能: 设置写数据指示。 输入参数:输入参数: piDirectives 以关键词

91、-值对形式表示的写数据指示,关键词-值对应的关系如下表。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 关键词 值 必须/可选 说明 TRANSFORM_PROJECTION YES/NO 可选 读数据时是否进行投影变换。值为“YES”或“NO” ,缺省值为“NO”。 5.1.2 SetGeoDatabase(inIGeoDatabase * piGeoDatabase) 功能:功能: 设置数据库接口指针。 (只在 GDCOGeoStarWriter 组件中实现了该方法,其它格式不实现此方法) 。 输入参数:输入参数: piGeoData

92、base 数据库接口指针,由调用者在连接数据库后传入。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 5.1.3 GetGeoDatabase(out, retvalIGeoDatabase * ppiGeoDatabase) 功能:功能: 得到数据库接口指针(只在 GDCOGeoStar4Writer 组件中实现了该方法,其它格式不实现此方法) 。 返回参数:返回参数: ppiGeoDatabase。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 第五章第五章 Writer 组件组件 GDC 技术手册技术手册 36

93、 E_FAIL 异常时,执行失败。 5.1.4 SetDataset(in IGDCOVector * piFeatureCursorVector, in IGDCOVector * piTopoRelationCursorVector) 功能:功能: 设置待输出的数据集。 输入参数:输入参数: piFeatureCursorVector,所有直接坐标类型的地物对象的集合。这是实际要导出的数据集。 piTopoRelationCursorVector,所有引用类型的拓扑关系对象的集合。对于 mif 的数据而言,因为 mif 数据为空,所以为 NULL 。 返回值:返回值: S_OK 执行成功。

94、 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 设置的数据集保存在成员变量 m_piFeatureCursorVectorm_ piTopoRelationCu- rsorVector 中。 5.1.5 Write(inBSTR datasetName, inIGDCOStringArray * piParameters) 功能:功能: 输出数据集,将保存在(临时)数据库中的以 GDC 数据模型为基础的中间数据输出到指定格式的文件或数据库中。是对 piFeatureCursorVector 中的数据进行输出。 输入参数:输入参数: datasetName 指定了数

95、据集的名称,不能为空。Mif 格式数据由两个文件组成,这里是文件上一级的路径。 piParameters ,写文件指示,它以成对的关键词-值的形式给定.指定写文件的方式 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 调用该方法前必须先设置数据集,否则返回 S_FALSE。 格式 关键词 值 必须/可选 说明 GDC 技术手册技术手册 第五章第五章 Writer 组件组件 37 PRECISION SINGLE /DOUBLE 可选 写 数 据 时 的 精 度 。 缺 省 值为”DOUBLE” OVERWRITE YES/NO

96、 可选 如果数据文件存在,是否覆盖(重写) ,缺省值为”NO”。 E00 TOLERANCE 字符串 可选 指定输出容差的值。 SHP SHP_OVERRIDE YES/NO 可选 指定是否将存在的文件进行覆盖处理,缺省值为”NO”。 OpenType Append /Replace 可选 Append:如果文件已经存在,打开文件,追加写入数据。 Replace: 如果文件存在, 删除文件创建新文件, 写入文件头信息。如果文件不存在,创建文件,写入文件头信息。 缺省值为”Replace” FileVersion AD_ACAD25 AD_ACAD26 AD_ACAD9 AD_ACAD10 AD

97、_ACAD11 AD_ACAD13 AD_ACAD14 AD_ACAD2000 可选 文件版本 ac1002 文件版本 ac1003 文件版本 ac1004 文件版本 ac1006 文件版本 ac1009 文件版本 ac1012 文件版本 ac1014 文件版本 ac1015 缺省值为”AD_ACAD2000” CAD FileType DWG/DXF 可选 文件格式,缺省值为”DWG” MIF MIF_OPEN_MODE “Replace” ”Append” 可选 指定打开文件的方式,“Replace”表示如果文件已存在,则覆盖,“Append”表示以追加的方式写文件。 缺省值为”NULL”

98、(文件存在时处理下一文件) GeoStar QUICKIMPORT “YES”/”NO” 可选 写数据组件中,映射文件的快速导入标识在此处定义,并处理 FEATUREDATAROOM_NAME 字符串 可选 指定地物类集合名,在默认情况下,如果指定地物类集合名,所有地物类都将放在此地物类集合之下。 GEOSTAR_BSQLn SQL 语句 可选 指定在打开数据库表之前先执行第五章第五章 Writer 组件组件 GDC 技术手册技术手册 38 (n=0) 的 SQL 语句。 GEOSTAR_ESQLn SQL 语句 (n=0) 可选 指定在关闭数据库表之后执行的SQL 语句。 VCT OVERW

99、RITE YES/NO 可选 如果数据文件存在,是否覆盖(重写) ,缺省值为”NO”。 GML OVERWRITE YES/NO 可选 如果数据文件存在,是否覆盖(重写) ,缺省值为”NO”。 ESRI DATASET_TYPE 字符串 可选 值 为shapefile 、 coverage 、access、sde 之一,缺省值为” access” SERVER_NAME 字符串 可选 服务名 INSTANCE_NAME 字符串 可选 实例名 USER_NAME 字符串 可选 用户名 PASSWD 字符串 可选 密码 DATABASE_NAME 字符串 可选 数据库名 VERSION 字符串 可

100、选 版本 5.1.6 SetSchema(inBSTR FeatureClassName, in IFields *piFields) 说明:说明: 该方法暂没有实现。 5.1.7 GetSchema(inBSTR FeatureClassName, out, retvalIFields *ppiFields) 说明:说明: 该方法暂没有实现。 GDC 技术手册技术手册 第五章第五章 Writer 组件组件 39 5.1.8 GetMetaData(out, retval IGDCOStringArray *ppiMetaData) 功能:功能: 改变元数据信息,如坐标单位、比例尺等信息。 输

101、入参数:输入参数: 以关键词-值对的形式表示的元数据信息。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 在调用 ChangeMetaData 方法后,可调用此方法。 5.1.9 SetMetaData(in IGDCOStringArray *piMetaData) 功能:功能: 改变元数据信息,如坐标单位、比例尺等信息。 输入参数:输入参数: 以关键词-值对的形式表示的元数据信息。 目前支持的关键词如下: XY_UNIT 值为M或D,分别表示以米为单位和以度为单位。 Z_UNIT 值为M,表示以米为单位。其它单位以后再扩

102、展。 MAP_SCALE 值为”字符串”,由最终用户提供参数值。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 主要调用此方法设置比例尺信息。 5.1.10 GetTargetSRS(out,retvalISpatialReference *ppiTargetSRS) 功能:功能: 得到目标空间参考系统接口指针。 返回参数:返回参数: ppiTargetSRS 返回值:返回值: S_OK 执行成功。 第五章第五章 Writer 组件组件 GDC 技术手册技术手册 40 S_FALSE 执行失败。 E_FAIL 异常时,执行失

103、败。 5.1.11 SetTargetSRS(inISpatialReference *piTargetSRS) 功能:功能: 设置目标空间参考系统。 输入参数:输入参数: piSourceSRS,目标空间参考系统接口指针。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 5.1.12 SetMappingFile(inBSTR mappingFileName) 功能:功能: 设置映射文件名,打开映射文件,读取映射文件并保存映射规则到成员变量中。 输入参数:输入参数: mappingFileName,映射文件名。 返回值:返回值: S_OK

104、 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 操作映射文件需要 MSXML 4.0 Software Development Kit (SDK)。关于映射文件的更多信息请参考GDC 映射文件 。GDC 技术手册技术手册 第六章第六章 映射文件组件映射文件组件 41 第六章第六章 映射文件组件 映射文件组件 6.1 GDCOMappingFile 组件组件 组件对象 GDCOMappingFile 的 UML 类图如下图所示。 6.1.1 MappingFileName 属性属性 MappingFileName(in BSTR newVal); Map

105、pingFileName(out, retval BSTR *pVal); 读写性质:读写性质: 可读写。 功能:功能: 设置或返回映射文件名。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 第六章第六章 映射文件组件映射文件组件 GDC 技术手册技术手册 42 E_FAIL 异常时,执行失败。 6.1.2 GetReaderDirectives(out, retvalIGDCOStringArray*ppiReaderDirectives) 功能:功能: 获得映射文件中有关读数据的指示。 参数:参数: ppiReaderDirectives:以关键词 - 值的形式表示返

106、回的读数据指示。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 6.1.3 GetWriterDirectives(out, retvalIGDCOStringArray *ppiWriterDirectives) 功能:功能: 获得映射文件中有关写数据的指示。 参数:参数: ppiReaderDirectives:以关键词 - 值的形式表示返回的写数据指示。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 6.1.4 Generate(inIGDCOStringArray *piDi

107、rectives, inBSTR MappingFileName) 功能:功能: 生成一个映射文件模板。 参数:参数: piDirectives:指定生成映射文件的参数,包括 原数据格式、原数据集、目标数据格式。 MappingFileName:指定映射文件名,此处映射文件名为被写入模版内容的映射文件。 GDC 技术手册技术手册 第六章第六章 映射文件组件映射文件组件 43 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 6.1.5 Run() 功能:功能: 运行一个映射文件。根据映射文件进行数据转换,转换时需要的所有参数都包含在映射文件中

108、。 参数:参数: 无 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 说明:说明: 该方法暂没有实现。 GDC 技术手册技术手册 第七章第七章 支持组件支持组件 45 第七章第七章 支持组件 支持组件 7.1 GDCOStringArray 组件组件 GDCOStringArray 组件提供了一种结构, 可以方便数据转换中各个组件之间以及组件和客户程序之间传递字符信息数组。在我们前面的代码示例中大量用到了该组件。 GDCOStringArray 组件对象的 UML 类图如下图所示。 7.1.1 Clone(out, retval IGDCO

109、StringArray * ppiArray) 功能:功能: 复制数组。 参数:参数: ppiArray:返回复制的数组。 返回值:返回值: S_OK 执行成功。 第七章第七章 支持组件支持组件 GDC 技术手册技术手册 46 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.2 GetSize(out, retval long * nSize) 功能:功能: 得到数组元素的个数。 参数:参数: nSize:返回数组元素的个数。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.3 SetSize(in long

110、newSize, in long GrowBy) 功能:功能: 设置数组的大小 参数:参数: newSize:数组的元素的个数 GrowBy:数组增长的时候每次分配的最小大小。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.4 GetAt(in long nIndex, BSTR * value) 功能:功能: 得到 nIndex 处的字符串。 参数:参数: nIndex:元素的索引。 value:返回的字符串。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 GDC 技术手册

111、技术手册 第七章第七章 支持组件支持组件 47 7.1.5 SetAtGrow(in long nIndex, BSTR value) 功能:功能: 在 nIndex 处加入一个字符串。nIndex 的值可以比数组的上边界大。 参数:参数: nIndex:要加入的字符串在数组中的位置。 value:加入的字符串。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.6 Add(in BSTR value) 功能:功能: 在数组的最后加上一个元素。 参数:参数: value:加入的元素。 返回值:返回值: S_OK 执行成功。 S_FAL

112、SE 执行失败。 E_FAIL 异常时,执行失败。 7.1.7 InsertAt(in long nIndex, in IGDCOStringArray *piArray) 功能:功能: 从 nIndex 位开始,插入 piArray 中的数据,nIndex 的值可以比数组的上边界大。 参数:参数: nIndex:开始插入的位置。 piArray:插入的数组。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 第七章第七章 支持组件支持组件 GDC 技术手册技术手册 48 7.1.8 Append(inIGDCOStringArray* pi

113、GDCOStringArray) 功能:功能: 将 piGDCOStringArray 中的数据加到最后。 参数:参数: piGDCOStringArray:要加入的数据。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.9 RemoveAt(in long nIndex) 功能:功能: 删除 nIndex 位置的数据。 参数:参数: nIndex:要删除的数据的位置。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.10 RemoveAll() 功能:功能: 删除所有的

114、数据。 参数:参数: 无。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.11 FindFirst(in BSTR strKey, out, retvalBSTR * strValue) 功能:功能: 查找数组中第一个 i*2 + 1 位的前一个字符串是 strKey 的字符串。区分大小写(i0,m_dataArray.getsize() / 2)。 GDC 技术手册技术手册 第七章第七章 支持组件支持组件 49 参数:参数: strKey:比较的字符串。 strValue:返回给客户程序的字符串。 返回值:返回值: S_OK 执

115、行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.12 FindFirstNoCase(in BSTR strKey, out, retvalBSTR * strValue) 功能:功能: 查找数组中第一个 i*2 + 1 位的前一个字符串是 strKey 的字符串。不区分大小写(i0,m_dataArray.getsize() / 2)。 参数:参数: strKey:比较的字符串。 strValue:返回给客户程序的字符串。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.1.13 FindAll(in

116、BSTR strKey, out, retvalIGDCOStringArray * ppiValueArray) 功能:功能: 查找数组中所有 i*2 + 1 位的前一个字符串是 strKey 的字符串。区分大小写(i0,m_dataArray.getsize() / 2)。 参数:参数: strKey:比较的字符串。 ppiValueArray:返回给客户程序的字符串数组。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 第七章第七章 支持组件支持组件 GDC 技术手册技术手册 50 7.1.14 FindAllNoCase(in BS

117、TR strKey, out, retvalIGDCOStringArray * ppiValueArray) 功能:功能: 查找数组中所有 i*2 + 1 位的前一个字符串是 strKey 的字符串。不区分大小写 (i0,m_dataArray.getsize() / 2)。 参数:参数: strKey:比较的字符串。 ppiValueArray:返回给客户程序的字符串数组。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.2 GDCOVector 组件组件 GDCOVector 组件提供了一种结构,可以方便数据转换中各个组件之间以及

118、组件和客户程序之间传递 IUnknown 指针数组。 GDCOVector 组件对象的 UML 类图如下图所示。 GDC 技术手册技术手册 第七章第七章 支持组件支持组件 51 7.2.1 Clone(IGDCOVector * ppivector) 功能:功能: 复制接口指针数组。 参数:参数: ppiVector:返回给用户的接口指针数组。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.2.2 GetSize(out, retval long *nSize) 功能:功能: 得到数组元素的个数。 参数:参数: nSize:返回给用户

119、的数组的个数。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.2.3 Add(in IUnknow* piUnknow) 功能:功能: 在最后加入新的接口指针。 参数:参数: piUnknow:要加入的接口指针。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.2.4 GetAt(in long nIndex, out, retvalIUnknow*piUnknow) 功能:功能: 得到 nIndex 位置的接口指针。 参数:参数: nIndex:接口指针的位置。 piUnkn

120、ow:返回给用户的接口指针。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 第七章第七章 支持组件支持组件 GDC 技术手册技术手册 52 E_FAIL 异常时,执行失败。 7.2.5 RemoveAll() 功能:功能: 删除所有的数据。 参数:参数: 无。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.2.6 RemoveAt(in long nIndex) 功能:功能: 删除 nIndex 位置的数据。 参数:参数: nIndex:要删除的数据的位置。 返回值:返回值: S_OK 执行成功。 S_FALSE

121、 执行失败。 E_FAIL 异常时,执行失败。 7.3 GDCOTransform 组件组件 GDCOTransform 组件提供了一种结构,记录存储数据转换组件中的仿射变换的参数信息,并提供坐标的仿射变换功能。 组组件对象 GDCOTransform 的 UML 类图如下图所示。 GDC 技术手册技术手册 第七章第七章 支持组件支持组件 53 7.3.1 nDimension 属性属性 nDimension(in long newVal) nDimension(out, retval long *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回插入点的维数。 返回值:返回

122、值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.2 Xoffset 属性属性 XOffset(in double newVal) 第七章第七章 支持组件支持组件 GDC 技术手册技术手册 54 YOffset(out, retval double *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回插入点 X 坐标。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.3 Yoffset 属性属性 YOffset(in double newVal) YOffset(ou

123、t, retval double *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回插入点 Y 坐标。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.4 Zoffset 属性属性 ZOffset(in double newVal) ZOffset(out, retval double *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回插入点 Z 坐标。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 GDC 技术手册技术手册 第七章第七章

124、 支持组件支持组件 55 7.3.5 Rotation 属性属性 rotation(in double newVal) rotation (out, retval double *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回插入点方向。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.6 Xscaling 属性属性 XScaling(in double newVal) XScaling (out, retval double *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回 X 方向缩放

125、比例。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.7 Yscaling 属性属性 YScaling(in double newVal) YScaling (out, retval double *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回 Y 方向缩放比例。 返回值:返回值: S_OK 执行成功。 第七章第七章 支持组件支持组件 GDC 技术手册技术手册 56 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.8 Zscaling 属性属性 ZScaling(in double n

126、ewVal) ZScaling (out, retval double *pVal) 读写性质:读写性质: 可读写。 功能:功能: 设置或返回 Z 方向缩放比例。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.9 Affine_Point2D(double * x, double * y); 功能:功能: 根据插入点的信息,仿射变换二维点的坐标,参数。 参数:参数: x:传入目标点的 x 坐标。 y:传入目标点的 y 坐标。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。 7.3.10 Affine_Point3D(double * x, double * y, double * z); 功能:功能: 根据插入点的信息,仿射变换三维点的坐标,参数。 参数:参数: x:传入目标点的 x 坐标。 y:传入目标点的 y 坐标。 z:传入目标点的 z 坐标。 返回值:返回值: S_OK 执行成功。 S_FALSE 执行失败。 E_FAIL 异常时,执行失败。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号