alphashape Python 库中用于凹壳计算的 Alpha 参数

问题描述 投票:0回答:1

我目前正在使用 Python 进行一个地理空间分析项目,我需要计算一组地理点的凹壳(alpha 形状)。我正在使用

alphashape
库来完成此任务。然而,我面临一个问题,即更改 alpha 参数似乎并没有按预期改变生成的凹壳的形状。

我有一个代表小城市地区的点(经度和纬度)数据集。我的目标是创建一个紧密遵循这些点轮廓的凹形船体。然而,即使改变 alpha 参数,船体的形状也基本保持不变。

这是我的代码片段:

import pandas as pd
import matplotlib.pyplot as plt
import alphashape

# Load cluster data
data = pd.read_csv('myDir/cluster_0.csv', sep=';')

# Select longitude and latitude columns
points = data[['longitude', 'latitude']].values

# Visualize the concave hull for different alpha values
fig, axes = plt.subplots(1, 3, figsize=(15, 5))
alphas = [0.01, 0.05, 0.1]  # Different alpha values to test

for ax, alpha in zip(axes, alphas):
    concave_hull = alphashape.alphashape(points, alpha)
    ax.scatter(data['longitude'], data['latitude'], color='blue')
    if concave_hull:
        x, y = concave_hull.exterior.xy
        ax.plot(x, y, color='red')
    ax.set_title(f'Alpha = {alpha}')
    ax.set_xlabel('Longitude')
    ax.set_ylabel('Latitude')

plt.tight_layout()
plt.show()

可视化显示船体的形状不会随着不同的 alpha 值而发生显着变化。我原本期望较小的 alpha 能在点周围产生更紧密贴合的船体。

是否有一个常见原因导致 alpha 参数可能无法按预期影响船体形状?我的方法中是否遗漏了某些内容,或者是否有更好的方法来确定给定数据集的适当 alpha 值?

任何见解或建议将不胜感激。谢谢!

python geospatial concave-hull
1个回答
0
投票

哎呀,原来我误解了 alphashape 文档和他的理解! 我的 alpha 值对于我的数据集来说不够高。

alpha_values = [30,50,80]

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.