在水深网格中检测值并输出多边形

2024-06-16 14:39:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我收到了一份水深(水深)数据矩阵。该矩阵表示均匀分布的深度网格,格式为.csv。你知道吗

矩阵有一些“筛选”区域,其值为-9999。9999点需要被识别,并转化为某种特征,以便以后使用。大多数将在网格内的簇中-包含许多(>;1000)个相邻点的大面积筛选出的数据。 然而。。。你知道吗

  • 可能是栅格的某些或所有外边缘值的值为-9999。你知道吗
  • 可能存在值为-9999的孤立点/点线。你知道吗
  • 在“好”(不是-9999)数据区域周围可能有-9999的区域-多边形中的多边形。你知道吗

我的任务:识别csv文件中-9999值的每个单独区域(或点),并为每个区域/点生成一个单独的多边形/点。多边形将是-9999区域的外部/内部边界

接下来的步骤包括在地图上放置项目,避免使用-9999特性。你知道吗

我创建了自己的函数来识别-9999值并创建多边形,但是它有一些问题,我确信一定有一些预构建的库可以比我做得更好

有没有人能提出一种方法来解决这个问题,或者给出一些有用的库/函数建议?我开始怀疑多边形/特征是否是实现这一点的方法,但这种方法似乎确实有一些很好的优势,如果它可以工作的话。你知道吗

谢谢你!你知道吗


Tags: csv数据方法函数gt网格区域格式
1条回答
网友
1楼 · 发布于 2024-06-16 14:39:12

使用地理处理工具可以通过3个步骤实现这一点:

  1. 使用IsNull创建一个新光栅,其中NoData值转换为1(所有其他值转换为0)。你知道吗
  2. 使用Raster To Polygon将新光栅转换为多边形。你知道吗
  3. Multipart To Singlepart分隔多部分多边形。你知道吗

您可以使用ModelBuilder或arcpy完全自动化此工作流。如果您熟悉Python,我建议您使用arcpy,请检查每个工具帮助页末尾的代码示例。你知道吗

相关问题 更多 >