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

【Python】Arcpy将excel点生成shp文件

根据excel点经纬度数据,生成shp,参考博主的代码,进行了修改,在属性表中保留excel中的数据。
参考资料:http://t.csdnimg.cn/OleyT

注意修改以下两句中的数字。

latitude = float(row[1])
longitude = float(row[2])
import xlrd
import arcpy# 设置参数
arcpy.env.workspace = r"E:\data\shp"  # 工作空间
excelPath = ur"E:\data\shp\采样点.xlsx"  # Excel 文件路径
excelTableIndex = 0  # Excel 表索引
outName = r"采样点.shp"  # 输出文件名# 读取 Excel 文件
excel = xlrd.open_workbook(excelPath)
table = excel.sheet_by_index(excelTableIndex)
nrows = table.nrows  # 表的行数
ncols = table.ncols  # 表的列数# 定义空间参考
spRef = arcpy.SpatialReference(4326) # WGS-1984# 创建空的 shapefile
arcpy.CreateFeatureclass_management(arcpy.env.workspace, outName, "POINT", spatial_reference=spRef)# 获取字段名称列表
field_names = [table.cell(0, i).value for i in range(ncols)]# 为 shapefile 添加字段
for field_name in field_names:if field_name:  # 确保字段名不为空arcpy.AddField_management(outName, field_name, "TEXT")# 获取游标以便插入数据
with arcpy.da.InsertCursor(outName, ["SHAPE@XY"] + field_names) as cursor:for i in range(1, nrows):row = table.row_values(i, 0, ncols)  # 读取整行数据# 假设原数据第二列是纬度,第三列是经度latitude = float(row[1])longitude = float(row[2])point = arcpy.Point(longitude, latitude)  # 创建点对象cursor.insertRow([(point.X, point.Y)] + row)print("Shapefile 创建完成,包含所有属性信息。")
http://www.lryc.cn/news/400707.html

相关文章:

  • torch之从.datasets.CIFAR10解压出训练与测试图片 (附带网盘链接)
  • 什么ISP?什么是IAP?
  • 外卖霸王餐系统怎么快速盈利赚钱?
  • Linux环境下安装Nodejs
  • 【Rust】字符串String类型学习
  • 先验概率 后验概率 最大似然估计 自编码器AE
  • qt 鼠标接近某线时,形状变化举例
  • 800块,我从淘宝上买AGV……
  • C++相关概念和易错语法(21)(虚函数、协变、析构函数的重写)
  • SoulApp创始人张璐团队以AI驱动社交进化,平台社交玩法大变革
  • MySQL事务隔离级别+共享锁,排他锁,乐观锁,悲观锁
  • Zynq系列FPGA实现SDI编解码转SFP光口传输(光端机),基于GTX高速接口,提供6套工程源码和技术支持
  • SpringBoot实现图形验证码
  • 【JVM基础01】——介绍-初识JVM运行流程
  • 图数据库 - Neo4j简介
  • C#环境与数据类型
  • jenkins系列-06.harbor
  • kotlin get set
  • Flask包算法服务
  • Flowable(一个开源的工作流和业务流程管理引擎)中与事件相关的一些核心概念
  • 深度解析:景区客服系统如何助力旅游业可持续发展
  • 风险评估:IIS的安全配置,IIS安全基线检查加固
  • uniapp 截取两条数据 进行页面翻页滚动
  • python笔记(转存ipynb)------1
  • excel系列(二) - 利用 easypoi 快速实现 excel 文件导入导出
  • 邀请函|2024第八届中国太阳能电池浆料与金属化技术展
  • 图像边缘检测:技术原理与算法解析
  • 【Python星启航】少儿编程精英启蒙之旅 - 大纲
  • MATLAB的mat文件转换成json文件
  • STM32第九课:STM32-基于标准库的42步进电机的简单I/O控制(附电机教程,看到即赚到)