Skyline软件开发接口分类.doc_第1页
Skyline软件开发接口分类.doc_第2页
Skyline软件开发接口分类.doc_第3页
Skyline软件开发接口分类.doc_第4页
Skyline软件开发接口分类.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Skyline软件开发接口分类ITerraExplorerIPlaneIObjectManagerIInformationTreeITerrainIContainerIRenderISnapShotIStartPositionITerraExplorerEventsICoordSysICoordSys3ICoordSys接口提供了相关坐标功能,允许定义一种输入坐标系,使TerraExplorer将其转化为当前地形数据库的坐标系,在设置了用户的坐标系以后,从客户端可以得到相应坐标系下的坐标,并转化为地形的坐标系统,这个接口也提供了高级的对话框,充许自定义坐标系统,有以下方法,四个关键值:GroupKey, SystemKey, DatumKey and UnitKey,通过这些值定义一个坐标系统,用户会使用不同的坐标系统,必需为每一个客户定义属于自己的坐标系统The ICoordSys2 接口, 继承了 ICoordSys接口, 增加了国际军事格网参考系Military Grid Reference System (MGRS) 采用ChooseCSDialogEx支持并更新了ChooseCSDialog 方法。注: 这个接口只有在TerraExplorer Pro GIS edition可用如图:ICoordSys方法:GetTerrainCS, SetTerrainCS, SetSourceCS, ChooseCSDialog, GetCSHandle, GetCSHandleFromEPSG, ReleaseCSHandle, Reproject, GetUnitFactor, MoveCoord, MoveCoordEx, GetDistance, GetAimingAnglesICoordSys2方法:ConvertToMGRS, ConvertFromMGRS, ChooseCSDialogEx ICoordSys3方法:GetDistanceEx, GetAimingAnglesEx GetTerrainCS这个方法返回地形的坐标系统,每一个地形数据包括了一个坐标系统,这个方法可以帮助得到相关信息,与这种方法相类似的有ITerrain3:GroupKey, ITerrain3:DatumKey等语法: GetTerrainCS(out VARIANT* bstrGroupKey, out VARIANT* bstrSystemKey, out VARIANT* bstrDatumKey, out VARIANT* bstrUnitKey, out VARIANT* longEPSG)参数: bstrGroupKey 坐标组唯一字符串. bstrSystemKey 坐标唯一字符串 bstrDatumKey 坐标投影唯一字符串. bstrUnitKey 坐标单位字符串 longEPSG 保留返回值:返回值意义S_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必载加载一个MPT, 这个方法才能使用TE_E_NOLICENSE运行地是基础版,没有授权SetTerrainCS这个方法用于设置坐标系. 通常坐标系源于地形数据(mpt)的坐标. 但是有时坐标系与地形数据(MPT)不一致或是有错误, 这时将手工定制在设置了地形数据的坐标系后,每一个坐标值将转化的新的坐标系下,如果是设置源地形坐标系必须采用 ICoordSys:SetSourceCS().方法,这一点要区分。语法: SetTerrainCS(in BSTR GroupKey, in BSTR SystemKey, in BSTR DatumKey, in BSTR UnitKey, in long EPSG)Parameters: bstrGroupKey 坐标组唯一字符串. bstrSystemKey 坐标唯一字符串 bstrDatumKey 坐标投影唯一字符串. bstrUnitKey 坐标单位字符串 longEPSG 保留返回值:返回值意义S_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必载加载一个MPT, 这个方法才能使用TE_E_NOLICENSE运行的是基础版,没有授权SetSourceCS同样是设置坐标系,设置后,无论是那一种坐标系将转化为地形数据的坐标系,你能通过ICoordSys:GetTerrainCS()的方法获取地形坐标系,这种方法只能用一次,可用于坐标系的切换HRESULT SetSourceCS(in BSTR GroupKey, in BSTR SystemKey, in BSTR DatumKey, in BSTR UnitKey, in long EPSG)参数: bstrGroupKey 坐标组唯一字符串. bstrSystemKey 坐标唯一字符串 bstrDatumKey 坐标投影唯一字符串. bstrUnitKey 坐标单位字符串 longEPSG 保留返回值:返回值意义S_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必载加载一个MPT, 这个方法才能使用TE_E_NOLICENSE运行的是基础版,没有授权TE_E_COORDSYS_NOT_INIT重投影错误,请对照KEY是否在geocalc.dat文件中ChooseCSDialog这个方法打开了一个高级的对话框,通过group, system, datum, units值的设定,允许用户选择,查看,编辑和建立一种坐标系统,如果Chose为True,表示提交了确定按钮,如果chose为FALSE,表示放弃。语法 ChooseCSDialog(out VARIANT* boolChosen, in, out VARIANT* bstrGroupKey, in, out VARIANT* bstrSystemKey, in, out VARIANT* bstrDatumKey, in, out VARIANT* bstrUnitKey, in, out VARIANT* longEPSG, in long PARENT, in BSTR Title)参数: bstrGroupKey 坐标组唯一字符串. bstrSystemKey 坐标唯一字符串 bstrDatumKey 坐标投影唯一字符串. bstrUnitKey 坐标单位字符串 longEPSG 保留 PARENT 对父窗体操作, pass 0 for the desktop. Title 对话框的名称.返回值:返回值意思S_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必载加载一个MPT, 这个方法才能使用TE_E_COORDSYS_NOT_INIT重投影错误,请对照KEY是否在geocalc.dat文件中TE_E_NOLICENSE运行的是基础版,没有授权GetCSHandle这个方法取得坐标系统的句柄. 你将能通过这个句柄定义参数, ICoordSys:Reproject(),一旦应用,可通过下面的对象来释放ICoordSys:ReleaseCSHandle().语法: GetCSHandle(in BSTR GroupKey, in BSTR SystemKey, in BSTR DatumKey, in BSTR UnitKey, out VARIANT* longCSHandle)参数: bstrGroupKey 坐标组唯一字符串. bstrSystemKey 坐标唯一字符串 bstrDatumKey 坐标投影唯一字符串. bstrUnitKey 坐标单位字符串 longEPSG 保留返回值:返回值意思S_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必载加载一个MPT, 这个方法才能使用TE_E_COORDSYS_NOT_INIT重投影错误,请对照KEY是否在geocalc.dat文件中TE_E_NOLICENSE运行的是基础版,没有授权GetCSHandleFromEPSG不能执行ReleaseCSHandle这个方法是用来释放句柄的. 如可通过ICoordSys:GetCSHandle().方法来获取句柄。HRESULT ReleaseCSHandle(in long CSHandle)参数: CSHandle 对于坐标系的句柄返回值:返回值意思S_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必载加载一个MPT, 这个方法才能使用TE_E_COORDSYS_NOT_INIT重投影错误,请对照KEY是否在geocalc.dat文件中TE_E_NOLICENSE运行的是基础版,没有授权Reproject这个方法可以实现一个坐标系统转化为另一个坐标系HRESULT Reproject(in long FromCSHandle, in long ToCSHandle, in, out VARIANT* doubleCoordX, in, out VARIANT* doubleCoordY)Parameters: FromCSHandle 给定的坐标系统句柄 ToCSHandle 想要转化的坐标系统句柄 doubleCoordX X coordinate. doubleCoordY Y coordinate.返回值:返回值意思S_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必载加载一个MPT, 这个方法才能使用TE_E_COORDSYS_NOT_INIT重投影错误,请对照KEY是否在geocalc.dat文件中TE_E_NOLICENSE运行的是基础版,没有授权GetUnitFactor这个方法对于特定的单位得到了米制的转换因子相关的句柄可能过这个方法获取 ICoordSys:GetCSHandle()HRESULT GetUnitFactor(in long CSHandle, out VARIANT* doubleToMeter)参数: CSHandle 相关单位下坐标系的句柄. doubleToMeter 返回米制转换因子.返回值:返回值意思S_OK成功E_FAIL失败TE_E_COORDSYS_NOT_INIT重投影错误,请对照KEY是否在geocalc.dat文件中TE_E_COORDSYS_UNIT_FACTOR错误地获得单位MoveCoord这个方法移动通过定义东西与南北的偏移值来移动二维坐标,X,Y的坐标可由doubleX 和 doubleY 指定,方法调用后,doubleX 和 doubleY 变为新的坐标值,如可以通过上述方法在一个球面数据上定义一个面状坐标系。语法: MoveCoord(in, out VARIANT* doubleX, in, out VARIANT* doubleY, in double moveWestEast, in double moveSouthNorth)参数: doubleX X 坐标 doubleY Y 坐标. moveWestEast 东西偏移值,正值为东,负值为西。 moveSouthNorth 南北偏移值,正值为北,负值为南。返回值:返回值 意思S_OK成功TE_E_INTERNAL内部错误MoveCoordEx用这种方法,通过三维场景中点的前后偏移,左右偏移,上下偏移,用户能定义坐标系中的坐标及方向,语法: MoveCoordEx(in, out VARIANT* doubleX, in, out VARIANT* doubleY, in, out VARIANT* doubleElevation, in, out VARIANT* doubleYaw, in double Pitch, in double Roll, in double moveForward, in double moveRight, in double moveUp)Parameters: doubleX X坐标 doubleY Y坐标. doubleElevation 高程取决于基于地形数据的参考椭球的高程值。(绝对高度). doubleYaw 偏转角度 Pitch 倾斜角度 Roll 滚动角度 moveForward 前后偏移值,前为正,后为负。 moveRight 左右偏移值,右为正,左为负 moveUp 点的上下偏移值,上为正下为负 返回值:返回值 意思S_OK成功TE_E_INTERNAL内部错误GetDistance这个方法返回给出两点站的水平距离语法: GetDistance(in double X1, in double Y1, in double X2, in double Y2, out, retval double* Dist)参数: X1 第一个点的X坐标 Y1 第一个点的Y坐标 X2 第二个点的X坐标 Y2 第二个点的Y坐标 Dist 返回两点间的距离返回值:返回值 意思S_OK成功TE_E_INTERNAL内部错误GetAimingAngles这个方法返回两个特定三维坐标点间的角度,这两个点均是由X,Y坐标及高程组成,通过定义从第一点看第二个点的偏转角及倾斜角,返回doubleYaw 和 doublePitch语法: GetAimingAngles(in double X1, in double Y1, in double Elevation1, in double X2, in double Y2, in double Elevation2, out VARIANT* doubleYaw, out VARIANT* doublePitch);参数: X1 第一个点的X坐标. Y1 第一个点的Y坐标. Elevation1 第一个点绝对高程. X2 第二个点的X坐标. Y2 第二个点的Y坐标. Elevation2 第一个点绝对高程 . doubleYaw 返回从第一个点看第二个点的偏转角 doublePitch 返回从第一个点看第二个点的倾斜角返回值:返回值 意思S_OK成功TE_E_INTERNAL内部错误ConvertToMGRS这个方法用于从地形坐标转到军事格网参考系坐标间的坐标转换,如果调用了SETSourceCS()改变用户应用的坐标系统,转换前可通过CoordX 和CoordY进行设定,方法调用后bstrMGRS 返回的是转换后的一个字符串值。这个方法仅仅在ICoordSys2中可使用语法: ConvertToMGRS(in double CoordX, in double CoordY, out, retval BSTR* bstrMGRS)参数: CoordX X坐标 CoordY Y坐标 bstrMGRS 返回MGRS坐标系下一组字符串返回值:返回值意思S_OK成功TE_E_INTERNAL内部错误 TE_E_COORDSYS_NOT_INIT重投影错误Key值与 geocalc.dat 文件中的值不匹配ConvertFromMGRS这个方法可将军事格网参考系下的坐标值转换为地形坐标系坐标,如果你调用了SETSourceCS()来改变用户的应用坐标系统,这个方法通过指定bstrMGRS值,来返回doubleCoordX 和doubleCoordY。这个方法仅仅在ICoordSys2中可使用HRESULT ConvertFromMGRS(in BSTR bstrMGRS, out VARIANT* doubleCoordX, out VARIANT* doubleCoordY)参数: bstrMGRS MGRS 坐标. doubleCoordX 返回X坐标. doubleCoordY 返回Y坐标.返回值:返回值意思S_OK成功TE_E_INTERNAL内部错误 TE_E_COORDSYS_NOT_INIT重投影错误Key值与 geocalc.dat 文件中的值不匹配ChooseCSDialogEx这个方法打开了高级对话框允许用户选择,浏览,编辑,建立一个坐标系,由四个值group, system, datum, and units组成,当对话框在使用时,如果Chose为True,表示提交了确定按钮,如果chose为FALSE,表示放弃.这个方法是ChooseCSDialog的扩展。语法: ChooseCSDialogEx(out VARIANT* boolChosen, in, out VARIANT* bstrGroupKey, in, out VARIANT* bstrSystemKey, in, out VARIANT* bstrDatumKey, in, out VARIANT* bstrUnitKey, in, out VARIANT* longEPSG, in VARIANT ParentWindow, in BSTR Title)参数: boolChosen 如果选择确定返回TRUE,如果选择放弃返回FALSE bstrGroupKey 坐标系组唯一值. bstrSystemKey 坐标系唯一坐标系统主键. bstrDatumKey 坐标系唯一坐标投影主键. bstrUnitKey 坐标系唯一单位主键 longEPSG 保留不可用 ParentWindow 包括以下情况1. 通过以下IHTMLWindow,IHTMLDocument方法指定接口2. 真实的视窗句柄 (either of type VT_I4 or VT_I2 of the variant).如果用户知道真实的视窗句柄,他们能使用原始的ChooseCSDialog()方法3. Title 对话框的标题返回值:Return valueMeaningS_OK成功E_FAIL失败TE_E_MPTNOTLOADEDTerraExplorer必须有MPT加载TE_E_NOLICENSE正在运行的版本是Basic,缺少lic开发许可GetDistanceEx这个方法返回的是带有不同高程值两点间空间距离必须在ICoordSy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论