CAD注记层转到SDE Annotation Features空间参考信息的转换(ArcEngine,C++实现)
2011-09-02 11:02
465 查看
在我的上一篇博文里面,谈到了注记的转换问题,但是其中的转换并未包含空间参考信息,所以,再写一篇来记录空间参考信息的转换。
首先,是获取dwg文件中的参考信息,部分关键代码如下
接下来,就是把获取到的空间参考信息设置到SDE中的annotation features中,可以通过IFeaturelayer,ILayer等接口来设置,由于比较简单,就不把代码贴出来了。如果大家有其他好的办法,也欢迎留言交流
首先,是获取dwg文件中的参考信息,部分关键代码如下
IWorkspacePtr ipWork; IWorkspaceFactoryPtr ipWFactory(CLSID_CadWorkspaceFactory); HRESULT result = ipWFactory->OpenFromFile(CComBSTR(path), NULL, &ipWork); IFeatureWorkspacePtr ipFWork = ipWork; IFeatureDatasetPtr ipDataset; result = ipFWork->OpenFeatureDataset(CComBSTR(filename), &ipDataset); IFeatureClassContainerPtr ipFContainer = ipDataset; IArrayPtr arrLayer(CLSID_Array); long lClassCount = 0; ipFContainer->get_ClassCount(&lClassCount); for (long i = 0; i < lClassCount; i++) { IFeatureClassPtr ipFClass; result = ipFContainer->get_Class(i, &ipFClass); esriFeatureType type; ipFClass->get_FeatureType(&type); //判断是否为注记层 if (esriFTCoverageAnnotation != type) continue; IGeoDatasetPtr ipGeoDataset(ipFClass); ISpatialReferencePtr ipSpaRef; ipGeoDataset->get_SpatialReference(&ipSpaRef); }
接下来,就是把获取到的空间参考信息设置到SDE中的annotation features中,可以通过IFeaturelayer,ILayer等接口来设置,由于比较简单,就不把代码贴出来了。如果大家有其他好的办法,也欢迎留言交流
相关文章推荐
- CAD注记层转到SDE Annotation Features(ArcEngine,C++实现)
- FME转换CAD至SHP,实现注记到多边形字段传递
- FME转换CAD至SHP,实现注记到多边形字段传递
- 基于arcgis model转换CAD至SHP,实现注记到多边形字段传递
- 基于arcgis model转换CAD至SHP,实现注记到多边形字段传递
- FME转换CAD至SHP,实现注记到多边形字段传递
- 任意进制整数之间的相互转换(C++实现)
- 中缀表达式到后缀表达式的转换C++实现
- C++实现CString和string的互相转换
- Kettle——转换步骤信息统计两种实现
- C++中map容器实现单词转换的程序
- 在C++中用栈实现进制之间的转换
- c++ stl list实现简单的学生信息管理系统
- C++中字母大写和小写转换实现的优化
- 装饰者模式C++实现——参考《Head First设计模式》
- C# 调用C++ CLR dll类库时,实现从 string 到 sbyte* 的转换
- 编程作业 简单的学生信息处理程序实现[北京大学C++课程]
- 查询txt文本信息行数(C和C++分别实现)
- C++实现16进制字符串转换成int整形值
- C++ UTF-8 转换助手 实现UTF-8 和UTF-16之间的转换