首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用arcobjects按名称获取spatialreference?

如何使用arcobjects按名称获取spatialreference?
EN

Stack Overflow用户
提问于 2016-08-02 18:23:03
回答 1查看 661关注 0票数 0

我使用文本框输入投影名称(例如: WGS_1984_UTM_Zone_37N),并希望使用arcobjects(vb.net/C#)获取空间参考详细信息。如何做到这一点呢?敬请澄清。

EN

回答 1

Stack Overflow用户

发布于 2016-08-03 03:49:02

提供TextBox来输入投影名称不是一个好主意,因为它将允许用户输入任何值,而这些值可能不是您想要的格式。例如"WGS84_UTM_zone_37N“或”WGS1984UTMZone 37N“等都是有效的值,但是,您将有很多麻烦来识别空间参考用户正在寻找的。

我建议您提供一个下拉列表,并使用投影系统内容之一,如esriSRProjCSType和/或esriSRGeoCSType,并填充下拉列表。

如果你仍然需要它,你必须创建一个所有spatialreference的实例,直到你找到一个与文本框中输入的值相匹配的值。

代码语言:javascript
复制
private ISpatialReference GetSpatialReference(string srName){
    var srProjCSArray = Enum.GetValues(typeof(esriSRProjCSType));
    var srEnvirnonment = new SpatialReferenceEnvironment();

    foreach (var item in srProjCSArray)
    {
         var sr = srEnvirnonment.CreateProjectedCoordinateSystem((int)item);
         if(sr.Name == srName)
             return sr;
    }
}

此方法仅适用于投影坐标系,您必须对地理坐标系执行类似的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38717809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档