当前位置: 首页 > news >正文

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 坐标系,并利用该点计算每个区域内的核密度的详细步骤。

http://www.lryc.cn/news/91356.html

相关文章:

  • Yolov5训练自己的数据集
  • Bert+FGSM中文文本分类
  • 爬楼梯问题-从暴力递归到动态规划(java)
  • 浏览器如何验证SSL证书?
  • Linux :: 【基础指令篇 :: 文件及目录操作:(10)】:: ll 指令 :: 查看指定目录下的文件详细信息
  • Java字符集/编码集
  • Apache配置与应用
  • API自动化测试【postman生成报告】
  • 探索OpenAI插件:ChatWithGit,memecreator,boolio
  • linux irq
  • 串口流控(CTS/RTS)使用详解
  • kube-proxy模式详解
  • 汽车EDI:如何与Stellantis建立EDI连接?
  • 【SCI征稿】1区计算机科学类SCI, 自引率低,对国人友好~
  • Vue.js优化策略与性能调优指南
  • HEVC环路后处理核心介绍
  • 从组件化角度聊聊设计工程化
  • apache的配置和应用
  • Buf 教程 - 使用 Protobuf 生成 Golang 代码和 Typescript 类型定义
  • Java 锁 面试题(ReentrantLock、synchronized)
  • Python中的缩进是什么意思?
  • 2023年9月数学建模:最小二乘优化、曲线拟合与函数逼近
  • java8内部调用无法引用值的问题
  • 《嵌入式系统》知识总结10:使用位带操作操纵GPIO
  • leetcode 2.两数相加(链表操作)
  • Jenkins是什么?以及Jenkins有哪些具体的应用呢?
  • 2023年数学建模:参数估计与假设检验:自助法(Bootstrap)详解
  • 华为OD机试真题 Java 实现【字符串通配符】【2022Q4 200分】
  • Android 11.0 user模式下解除系统进入recovery功能的限制
  • TDEngine3.0 环境安装、配置及使用经验总结