【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模型**、** 耦合协调度模型**、** 相对发展度模型协调影响力模型**、标准椭圆模型等等

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

相关推荐
大神薯条老师2 小时前
Python从入门到高手5.1节-Python简单数据类型
爬虫·python·深度学习·机器学习·数据分析
搞大屏的小北 BI7 小时前
国内旅游:现状与未来趋势分析
信息可视化·数据分析·旅游·数据可视化·bi 工具
Hello.Reader8 小时前
TopK算法在大数据重复数据分析中的应用与挑战
大数据·算法·数据分析
安静的_显眼包O_o8 小时前
【数据分析】DataFrame.query()
数据挖掘·数据分析·pandas
羊小猪~~10 小时前
机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
人工智能·python·机器学习·数据挖掘·数据分析·回归·时序数据库
凭栏落花侧15 小时前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析
bin915317 小时前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
大神薯条老师1 天前
Python从入门到高手4.3节-掌握跳转控制语句
后端·爬虫·python·深度学习·机器学习·数据分析
LHNC1 天前
2024.9.29 问卷数据分析
数据分析
知识分享小能手1 天前
mysql学习教程,从入门到精通,SQL 修改表(ALTER TABLE 语句)(29)
大数据·开发语言·数据库·sql·学习·mysql·数据分析