环境镶嵌数据集的Boundary定制

本文介绍如何通过设置边界而非直接处理栅格数据来调整镶嵌数据集的显示范围,并提供了生成不规则边界多边形的两种方法。

        当我们将各种类型的环境数据栅格化并入到镶嵌数据集之后,经常会碰到这样的一个需求,原始的环境点源或者模型数据范围是不规则形状的,而栅格化之后的数据是规则矩形,那怎样可以按照原始数据范围进行显示呢?很多同学可能已经想到了以下两个针对栅格数据本身进行处理的方法:

针对栅格数据的处理方式

1、采用数据管理工具箱中栅格处理的裁剪”工具。


2、采用空间分析工具箱中的“提取分析工具集”中相关工具。


        采用这种针对栅格数据的处理方式,需要考虑以下几种情况:

  1. 首先,针对大量栅格数据的裁剪或者提取需要一定的处理时间;
  2. 如果用户有按照不同级别范围显示数据的要求,比如市、县范围去显示数据,那么按照裁剪或者提取方式,生成的结果数据将占用大量的磁盘空间,而且处理方式不够灵活。

针对镶嵌数据集的处理方式

        那么针对镶嵌数据集的特性,我们可以通过设置边界(Boundary)方式,控制镶嵌数据集中栅格数据的显示范围,而不需要对栅格数据本身进行处理。我们一起来看看镶嵌数据集中的边界长什么样子。如下图,这个红色的边界就是Boundary,即镶嵌数据集显示的范围。 


        我们通过Boundary右键查看属性,如下图所示为一个矢量面要素。


        那么我们可以开启编辑模式,对这个边界面进行手动编辑。那还有没有直接方便使用的工具呢,当然啦,采用数据管理工具箱中镶嵌数据集工具集中的“导入镶嵌数据集几何”工具,不仅可以修改镶嵌数据集的边界,还可以修改轮廓线和接缝线的几何,使其与我们选择的要素类相匹配。


        此工具可根据公用属性字段将镶嵌数据集中的要素与要素类中的要素进行匹配。同时还有一项重要的设置,我们需要将镶嵌数据集右键属性中的默认选项卡中的始终将图像裁剪至其边界线属性更改为“


        到此为止,问题都解决了吗?有的同学会问,在更新镶嵌数据集的边界线之前要先去生成不规则边界多边形,即获取数据所覆盖的区域(外包络面)。

下面以空气质量预报模型输出的扇形多维数据为例介绍获取外包络面的两种方法与适用情况:


(一)通过“最小边界几何”工具获取外包络的凸面

        通过数据管理工具箱中“最小边界几何”工具,能够计算的外包络面。


        其中“几何类型”参数选择CONVEX_HULL就是生成最小凸面。用原始模型数据转换的点数据(下图左)作为“最小边界几何”工具的输入要素,生成的凸外包络面如下图右所示:


        叠加一起看看差别在哪,该工具只能生成凸外包络面


(二)采用3D分析工具生成紧贴外边缘点的凹面

1)首先使用3D分析中的“创建TIN”工具,选择上面的点要素作为输入,生成一个TIN。


生成TIN结果如下图,貌似与“最小边界几何”结果没两样,别着急。


2)然后使用描绘TIN数据区”工具。这里需要注意的是:任何一个三角形的任何一条边,如果大于“最大边长”,那么这个三角形将被抹去,我们测量了一个边缘的三角形的边,大概为265000米,尝试着把最小边长设置为3(地图单位为度),目的是避免把内部不该抹去的三角片也抹去了;另外方法里选择“PERIMETER_ONLY”,PERIMETER_ONLY 将从TIN的外部范围向内遍历各个三角形,如果边界三角形的边在当前迭代中小于最大边长,则将停止遍历。全部将按边长对整个TIN三角形集合进行分类。简而言之,这个参数决定是否抹掉边缘的三角片之后是否还去判断内部的三角片。

 

如果发现边缘还有未抹掉的多余三角片,可以将最小边长再设置小一点。最终设置成3之后效果如下,与点的范围贴合得较好:


3)使用“TIN范围”工具将tin边界导出成面或者线


效果如图:


通过以上方法我们就能为镶嵌数据集量身定做boundry了。

### Potsdam 数据集边界信息下载与使用 对于涉及地理空间数据的任务,特别是像Potsdam这样的城市分类任务,了解如何获取和处理边界信息至关重要。Potsdam 数据集是一个广泛使用的遥感影像数据集,主要用于高分辨率航空图像的语义分割研究。 #### 获取边界信息 为了获得 Potsdam 数据集中特定区域的边界信息,建议访问 ISPRS 2D Semantic Labeling Challenge 官方网站。该网站提供了完整的数据集文档以及下载链接[^1]。通过这些资源可以找到有关感兴趣区(AOI, Area of Interest)边界的元数据文件,通常是 shapefile 或 geojson 格式的矢量数据,它们定义了各个子图块的确切地理位置范围。 #### 处理地理空间数据 一旦获得了必要的边界文件,在 Python 中可以通过 `geopandas` 和 `shapely` 库来读取并操作这类地理空间数据: ```python import geopandas as gpd # 加载边界shapefile文件 boundary = gpd.read_file('path_to_boundary.shp') # 显示前几行查看内容 print(boundary.head()) ``` 此外,如果需要将此边界应用于 DSM (Digital Surface Model) 类型的数据,则可利用 GDAL 工具包来进行裁剪或其他预处理工作。例如,下面展示了怎样基于给定的 AOI 裁剪一个 GeoTIFF 文件的方法: ```python from osgeo import gdal, ogr def clip_raster_by_shape(raster_path, shape_path, output_path): # 打开栅格数据源 raster_ds = gdal.Open(raster_path) # 创建内存中的临时矢量层 shp_ds = ogr.GetDriverByName('ESRI Shapefile').Open(shape_path) # 设置投影坐标系一致 ... # 实际执行裁剪命令 gdal.Warp(output_path, raster_ds, cutlineDSName=shape_path, cropToCutline=True, dstNodata=-9999) ``` 上述代码片段仅提供了一个简单的框架;实际应用时可能还需要考虑更多细节配置选项以满足具体需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值