【GIS技术】Shp矢量图斑数据的四至点坐标或四至坐标计算

经常有从事gis相关、地信相关行业的朋友或者是需要对图斑矢量进行四至坐标 的计算的时候,按照各类搜索引擎或者是教学文章中的教学步骤求出来的四至坐标是**错的。**特别是比如林业图斑求四至点、农田四至点等等。

错的原因在于很多文章中教学的四至坐标实际上指的是图斑矢量最东最西的点做一条垂线与图斑矢量最南最北的点做一条水平线相交而成的矩形的四个顶点坐标。这样的矩形我们称之为,图斑矢量最小外接矩形,这四个点称之为图斑矢量最小外接矩形的四至值,也叫范围值。

而实际上我们真正 要求的四至点是图斑上最东/南/西/北的那个点的坐标值。这四个点才称之为是俗称的四至点。

今天我们就来分享一下图斑矢量最小外接矩形的四至值和图斑的四至值的区别和怎么利用gis求。

有需要求四至点需要帮忙的话可以添加公众号下方联系方式找小编进行咨询。

图斑矢量最小外接矩形的四至值(范围值)

上图图中红框为图斑矢量最小外接矩形

以清远市为例,我们在图斑属性表里加上东至、南至、西至、北至四个字段

然后利用以下代码对四个字段进行计算

复制代码
东至:!shape.extent.xmax!

南至:!shape.extent.ymin!

西至:!shape.extent.xmin!

北至:!shape.extent.ymax!

就可以得到计算结果

这个时候求得的实际上是图斑矢量最东最西的点做一条垂线与图斑矢量最南最北的点做一条水平线相交而成的矩形的四条边的范围值。

而东至&南至、东至&北至、南至&西至、北至&西至所得出的四个点就是图斑矢量最小外接矩形的四至值。

也就是以下图形里矩形的四个顶点。

真正的图斑矢量的四至点坐标

图中四个绿色圈标注的才是图斑真正的四至点

在这里,我们要用到的就是arcgis中的代码功能,输入代码直接求出四至点坐标。

代码如下

复制代码
infcs='清远市'arcpy.AddField_management(infcs,"dzd","TEXT","","","100",u"东至","NULLABLE")arcpy.AddField_management(infcs,"nzd","TEXT","","","100",u"南至","NULLABLE")arcpy.AddField_management(infcs,"xzd","TEXT","","","100",u"西至","NULLABLE")arcpy.AddField_management(infcs,"bzd","TEXT","","","100",u"北至","NULLABLE")infc=arcpy.UpdateCursor(infcs)for row in infc:      for part in row.getValue("shape"):            max_x, max_xy,max_y,max_yx=0,0,0 ,0            min_xy,min_y,min_yx,min_x=0,9876543210,0,9876543210            for pnt in part:                  if pnt:                        if pnt.X > max_x:                             max_x=pnt.X                             max_xy = pnt.Y                        if pnt.Y > max_y:                             max_y = pnt.Y                             max_yx= pnt.X                        if pnt.X <min_x:                             min_x=pnt.X                             min_xy = pnt.Y                        if pnt.Y <min_y:                             min_y = pnt.Y                             min_yx= pnt.X                  else:                       pass            del part,pnt      arcpy.AddMessage(str(max_x)+","+str(max_xy))      row.setValue("dzd",str(max_x)+","+str(max_xy))      row. setValue("bzd",str(max_yx)+","+str(max_y))      row.setValue("xzd",str(min_x)+","+str(min_xy))      row.setValue("nzd",str(min_yx)+","+str(min_y))      infc.updateRow(row)del infc,row

代码计算后得到以下右侧四个字段:

这四个字段对应的就是东西南北四至点,也就是图斑里最东/南/西/北的点。

其他求四至点坐标的方式

除开一些特殊的工具可以直接求出四至点外,我们也可以通过转面为点然后进行进一步的排序筛选的方式求四至点,但是这个方式繁琐而不一定精确。

如果说有需要求四至点需要帮忙的话可以添加公众号下方联系方式找小编进行咨询。

免费数据获取方式

在公众号下方的功能栏-数据目录 里**"免费资源"**

在公众号下方的联系我们 添加小编微信**,** 于朋友圈置顶 获取目录链接

点个点赞 +再看再走哦谢谢!

公众号新功能

目前公众号新增以下等功能

1、处理GIS出图、** Python制图**、** 区位图**、** 土地利用现状图**、** 土地利用动态度和重心迁移图**等等****

2、核密度分析**、**** 网络od分析****、**** 地形分析****、**** 空间分析**等等****

3、地理加权回归、** 地理探测器、生态环境质量指数、地理加权回归模型影响因素分析、计算土地利用动态度**等等****

4、加权求和模型、** 改进TOPSIS模型**、** 耦合协调度模型**、** 相对发展度模型协调影响力模型**、标准椭圆模型等等

有需要的小伙伴可以添加公众号下方联系方式找小编进行咨询

相关推荐
用户199701080184 小时前
抖音商品列表API技术文档
大数据·数据挖掘·数据分析
木木子99994 小时前
第5问 对于数据分析领域,统计学要学到什么程度?
数据挖掘·数据分析
tomelrg8 小时前
多台服务器批量发布arcgisserver服务并缓存切片
服务器·python·arcgis
淡酒交魂1 天前
「Flink」业务搭建方法总结
大数据·数据挖掘·数据分析
TDengine (老段)1 天前
TDengine IDMP 高级功能(4. 元素引用)
大数据·数据库·人工智能·物联网·数据分析·时序数据库·tdengine
FL16238631291 天前
windows下ArcGIS 10.8.2下载安装教程
arcgis
计算机毕设定制辅导-无忧学长2 天前
Grafana 与 InfluxDB 可视化深度集成(二)
信息可视化·数据分析·grafana
鹏多多.2 天前
flutter-使用device_info_plus获取手机设备信息完整指南
android·前端·flutter·ios·数据分析·前端框架
芦骁骏3 天前
自动处理考勤表——如何使用Power Query,步步为营,一点点探索自定义函数
数据分析·excel·powerbi
柑木3 天前
隐私计算-SecretFlow/SCQL-SCQL的两种部署模式
后端·安全·数据分析