1.现状及问题
一般情况下,将矢量数据、栅格数据存入postgresql sde数据库,能实现数据空间数据统一集中管理。但是在读取SDE数据时,发现空间参考ST_SRID为、、等奇怪值,而不是常见的空间参考WKID(4521、4522、4523、4490等),如下图。
2.原因
原因在于该数据修改了坐标系的默认精度或者范围,导致重新创建ST_SRID记录。经过数据测试,不影响数据相交处理,就是ST_SRID看起来奇怪。如果要改正此问题,数据存储到SDE时,创建数据集的时候,用坐标系wkid创建坐标系参考,即可解决。
3.解决办法
//ISpatialReference reference = ((IGeoDataset)pFec).SpatialReference; //注释从igeodataset中获取空间参考对象,直接用于数据集创建
ISpatialReferenceFactory3 spatialReferenceFactory = new SpatialReferenceEnvironmentClass();
ISpatialReference reference = spatialReferenceFactory.CreateSpatialReference(FactoryCode);//采用从igeodataset中获取空间参考对象的FactoryCode,创建空间参考对象
ISpatialReferenceResolution spatialReferenceResolution = reference as ISpatialReferenceResolution;
spatialReferenceResolution.ConstructFromHorizon();
spatialReferenceResolution.SetDefaultXYResolution();
ISpatialReferenceTolerance spatialReferenceTolerance = spatialReferenceResolution as ISpatialReferenceTolerance;
spatialReferenceTolerance.SetDefaultXYTolerance();
newDataSet = YJDGISFuncLib.FeatureClass.CreateFeatureDataset(m_SDEWorkSpace, reference, dataSetName);
4.结果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/136125.html