python - 如何栅格化矢量数据(线)并在 python 中沿线插入值?
问题描述
我想光栅化一个线向量。栅格值必须在“from”和“to”值之间进行插值。
示例在此处。我想栅格化 het geodataframe 中的线,栅格的值应该从 5 变为 2(插值)。
import geopandas as gpd
from shapely.geometry import LineString
# example line
line = LineString([(10.00, 20.00), (20.00, 50.00)])
line_gdf = gpd.GeoDataFrame([line], geometry=[line])
line_gdf['from'] = 5
line_gdf['to'] = 2
预期的结果是这样的: example raster
这条线以黑色可见。栅格应仅具有与像元相交的线的值。这些值应该从“从值”插入到“到值”,如示例栅格中所示(用红色轮廓标记的单元格)。最好是 DataArray (xarray)。
解决方案
您需要使用 Bresenham 的算法: https ://en.wikipedia.org/wiki/Bresenham_line_algorithm
你会在这里找到一个 Python 实现: https ://pypi.org/project/bresenham/
推荐阅读
- python - 如何使用 Python 列出 Azure 云存储中特定子目录内的所有 blob?
- vb.net - 使用不同的点设置坐标系
- jmeter - 将 har 文件或 fiddler 导出转换为 smart jmx
- apache - ZeroMQ Websockets 通过 CERTBOT 使用 SSL
- jquery - 试图淡入身体而不是儿童 div 嵌套了几个级别
- javascript - 当用户将鼠标悬停在每个“键盘”按钮上时,我可以使用随机颜色吗?
- angular - 如何知道 Ionic 和 Angular 中每个 http 请求的请求进度
- google-maps-api-3 - 是否可以查看哪些 IP 地址正在使用您的 Google API 密钥?
- java - 重新调整 JList 元素内的文本
- vue.js - 为什么看 momentjs 时 Vuejs 不拾取变化?