在线客服
  • |
  • 400-821-8800
  • |
  • 手机西域
    手机西域下载二维码

    开发者:西域智慧供应链(上海)股份公司

    版本:4.6.8

    扫一扫,下载西域客户端
    手机采购 移动办公
    iPhone Android
  • |
  • 快速下单
  • |
  • 我的西域
  • 字段计算器通过python脚本完成要素节点坐标信息提取到属性字段中

    文/ 发布于2018-06-05 浏览次数:552

      在一些业务场景中需要获取空间要素的节点坐标信息存储在属性字段中,如果你使用的是ArcGIS10.3这个版本那么你可以直接使用 !SHAPE.JSON!:表示几何的 esri JSON 字符串;!SHAPE.WKB!:OGC 几何的二进制表达?(WKB);!SHAPE.WKT!:OGC 几何的文本表示。

      在arcpy?Cursor方式中也可以使用类似 :

      SHAPE@JSON、SHAPE@WKB、SHAPE@WKT的方式获取,在这里需要注意的是新建的用于存储节点信息的字符串字段长度问题,如果长度不够可能被截取一部分。对于File geodatabase?Text field width: 2,147,483,647;shapefile?Text field width: 254 characte;personalGDB:Text field width:?255 characte?;ArcSDE:Up to DBMS limits。有人可能对File geodatabase的一些其他限制也感兴趣在此一并贴出:

      File geodatabase size and name limits are as follows:

      File geodatabase size: No limit

      Table or feature class size: 1 TB (default), 4 GB or 256 TB with keyword

      Number of feature classes and tables: 2,147,483,647

      Number of fields in a feature class or table: 65,534

      Number of rows in a feature class or table: 2,147,483,647

      Geodatabase name length: Number of characters the operating system allows in a folder name

      Feature class or table name length: 160 characters

      Field name length: 64 characters

      Text field width: 2,147,483,647

      那么问题到这里实际上已经得到了解答,但是你可能有这样的需求,你的数据是经纬度坐标,你需要度分秒(DDMMSS)"形式的节点坐标信息,一种办法是在上面已经获取到的格式化字符串中提取坐标信息,并对这些信息进行换算即可,但是如果你的需求不仅限与此,需要对每个节点的X.Y坐标完成更多的操作,那么就需要遍历这些节点逐个操作,这就需要自己写脚本来完成,下面的代码完成了这部分工作。可以在需要修改的部分进行修改即可,需要注意的是该段代码做了十进制度转度分秒的工作,如果你的数据是平面坐标注释掉相应的代码即可。经过测试可以支持一下要素类型。

    免责声明:文章仅供学习和交流,如涉及作品版权问题需要我方删除,请联系我们,我们会在第一时间进行处理。
    相关标签:
    相关资讯
    沪公网安备 31011502008645号 | 沪ICP备09003861号 | 增值电信业务经营许可证:合字B2-20200044 | 第二类医疗器械经营备案编号:沪浦药监械经营备20200151号 | 医疗器械经营许可证编号:沪浦药监械经营许20200092号 | 互联网药品信息服务资格证书编号:(沪)-经营性-2020-0028 | 危险化学品经营许可证:沪(浦)应急管危经许[2022]204062(DYS)