ZBLOG

Global mapper 把viewshed analysis 导出成方位距离格式

以下是将Global Mapper中的Viewshed分析结果导出成方位距离格式(bearing-distance format)的操作步骤和程序示例:

操作步骤:

步骤1:进行Viewshed分析

首先,打开Global Mapper软件并导入所需的DEM数据。然后,选择“工具”菜单中的“Viewshed Analysis”选项。在弹出的窗口中,输入观察点和观测高度等参数,并点击“运行分析”按钮。

步骤2:将结果导出为CSV文件

完成Viewshed分析后,可以将其结果导出为CSV(逗号分隔值)格式的文件。选择“文件”菜单中的“导出数据”选项,并设置输出格式、字段以及存储路径。

步骤3:转换为方位距离格式

使用Excel或其他表格处理软件打开生成的CSV文件,并按照以下方式进行转换:

  • 在第一列插入一个名称列(如“Name”),填写每个点的名称。

  • 在第二列插入一个类型列(如“Type”),所有行填写相同类型(如“All Points”)。

  • 将第三列标题更改为”Bearing”, 第四列标题更改为”Distance”。

  • 使用公式计算每个点与观察点之间的方位角和距离,填充到”Bearing”和”Distance”列中。其中,可使用以下公式计算方位角和距离:

    • 方位角:=MOD(DEGREES(ATAN2(Lat2-Lat1, Lon2-Lon1))+360, 360),其中Lat1/Lon1为观察点坐标,Lat2/Lon2为每个点的坐标。
    • 距离:=6371000*ACOS(COS(RADIANS(90-Lat1))*COS(RADIANS(90-Lat2))+SIN(RADIANS(90-Lat1))*SIN(RADIANS(90-Lat2))*COS(RADIANS(Lon2-Lon1))),其中6371000为地球半径。

步骤4:保存文件并导入到Global Mapper中

将转换后的CSV文件另存为新的CSV格式文件,并在Global Mapper中导入该文件。选择“File”菜单中的“Open Data File”选项,并设置数据源和显示参数。

程序示例:

以下是使用Python实现将Viewshed分析结果导出成方位距离格式的程序示例:

import pandas as pd
import math

# 读取Viewshed分析结果CSV文件
df = pd.read_csv('viewshed.csv')

# 计算每个点与观察点之间的方位角和距离
lat1, lon1 = 观察点纬度, 观察点经度
bearing_list = []
distance_list = []
for i in range(len(df)):
    lat2, lon2 = df['Latitude'][i], df['Longitude'][i]
    bearing = (math.degrees(math.atan2(lat2-lat1, lon2-lon1)) + 360) % 360
    distance = 6371000 * math.acos(math.cos(math.radians(90-lat1)) * math.cos(math.radians(90-lat2)) + math.sin(math.radians(90-lat1)) * math.sin(math.radians(90-lat2)) * math.cos(math.radians(lon2-lon1)))
    bearing_list.append(bearing)
    distance_list.append(distance)

# 转换为方位距离格式并保存文件
df['Name'] = 'All Points'
df['Type'] = 'Point'
df['Bearing'] = bearing_list
df['Distance'] = distance_list
df.to_csv('viewshed_bearing_distance.csv', columns=['Name', 'Type', 'Bearing', 'Distance'], index=False)

以上是将Global Mapper中的Viewshed分析结果导出成方位距离格式的基本流程和程序示例。具体实现还需要根据实际需求进行调整和修改。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=6354

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?