arcpy批量对EXCE经纬度L进行投点,设置为wgs84坐标系,并利用该点计算每个区域内的核密度

以下是在 ArcPy 中批量对 Excel 经纬度 L 进行投点,设置为 WGS84 坐标系,并利用该点计算每个区域内的核密度的详细步骤:

1. 准备数据:
准备包含经纬度信息的 Excel 数据表格,我们假设文件路径为 "C:/Data/locations.xlsx",Sheet 名称为 "Sheet1",且包含列名为 "lat" 和 "lon" 表示纬度和经度。

2. 设置矢量数据存储位置:
将经过处理后的点图层存储到矢量数据中,需要先设置工作空间(geodatabase)。

```
import arcpy
from arcpy import env

env.workspace = "C:/Data"
```

3. 读取 Excel 数据:
使用 Pandas 模块中的 read_excel() 方法从 Excel 数据表中读取数据,创建一个包含所有经纬度信息的 DataFrame 对象。指定了“L”为Lat字段,“W”为等经线字段,并且筛选出具有非空经纬度信息的地点。

```
import pandas as pd

df = pd.read_excel("locations.xlsx", sheet_name="Sheet1")
df = df[['L', 'W']]
df.dropna(inplace=True)  # 仅保留不缺失的数据
```

4. 投点到 WGS84 坐标系:
使用 MakeXYEventLayer 工具将 Excel 文件中的经纬度数据投影成点,以便于之后进行空间分析,这里我们将点投影到 WGS84 坐标系中,使用了 "WGS 1984" 作为坐标系。

```
sr = arcpy.SpatialReference(4326)  # WGS84坐标系的空间参考ID
eventLayer = arcpy.MakeXYEventLayer_management(df, 'W', 'L', "EventLayer", sr)
arcpy.CopyFeatures_management(eventLayer, "points.shp")
```

5. 利用点计算每个区域内的核密度:
通过 Spatial Analyst 模块计算矢量数据内每个区域的核密度,并将结果保存到输出文件夹 "C:/Data/Output" 中。

```
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")

input_point_features = "points.shp"
output_folder = "C:/Data/Output"

# Set Local Variables
outKernelDensity = KernelDensity(input_point_features, "NONE", 0.01, 50, "SQUARE_KILOMETERS")

# Save the output 
outKernelDensity.save(output_folder + "/density.tif")

print("Density file has been created.")
```

以上就是在 ArcPy 中批量对 Excel 经纬度 L 进行投点,设置为 WGS84 坐标系,并利用该点计算每个区域内的核密度的详细步骤。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

认真学GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值