ArcMap:表格中XY点数据生成矢量文件(手动&代码两种方法)

2 篇文章 0 订阅
订阅专栏

注:此处的表格请使用.csv格式,.xlsx和.xls格式不保证能成功。完整代码直接拉到最下。

手动方法

先来看看我们即将用到的csv文件:

一共五项数据,其中最核心的属性是x、y坐标,其余的都是次要属性,plotid是编号,value1、value2是随机生成的数值。

第一步:打开arcmap,首先不要直接从add data中添加csv文件,选择Add XY Data:

点击以后会弹出这么个框:

至此我们算是达到了阶段性的胜利:让点显示在arcmap里面了!

但是此时我们注意到,我们得到的并不是点的矢量文件,而是一个这样的东西:

所以第二步:我们右键这个events,选择Export Data导出:

这就转成了矢量文件:

 查看一下属性没问题就成功了。

代码方法

上述手动操作都是针对数据量小情况的操作,如果涉及到批量处理,比如有几百上千个点文件要转矢量,就需要用到代码。

我们直接使用Arcmap自带python:

第一步首先进行一些前期设置,比如导入功能模块、设置输入输出路径:

# -*- coding: utf-8 -*-
# 首先检查python中是否有以下模块
import csv
import arcpy
import os
import arcgisscripting

# 设置路径
input = "E:\\points.csv"            # 待处理csv文件
outputname = "point.shp"            # 待输出shapefile文件
outputpath = "E:\\"                 # 待输出shapefile文件
output = outputpath+'\\'+outputname # 待输出shapefile文件完整路径

第二步我们创建一个点状矢量文件:

# 创建处理对象
gp = arcgisscripting.create()
gp.OverWriteOutput = True   ## 允许overwrite

# 创建矢量点文件 
gp.CreateFeatureclass(outputpath,outputname,"Point")

第三步,创建属性字段,俗称表头,就是下面这个东西:

其中,FID是系统自动加上的编号不必理会,Shape*是一个叫几何令牌的东西,可以访问特定几何信息,在点状要素中,这个几何信息指的是坐标xy,剩下的几个字段就跟csv的表头一模一样了。

下面是在shapefile里创建属性字段代码:

# 创建属性字段
gp.AddField(output, "plotid", "LONG")
gp.AddField(output, "x", "DOUBLE")
gp.AddField(output, "y", "DOUBLE")
gp.AddField(output, "value1", "DOUBLE")
gp.AddField(output, "value2", "DOUBLE")

AddField函数的三个参数分别是:shapefile路径、字段名称(自己随便命名,可以和csv中统一,也可以不统一)、字段数据类型(有LONG、DOUBLE、TXT等类型,注意没有float)

表头创建好了,那么第四步就是向表里添加数据了:

# 添加数据
cur = gp.InsertCursor(output)
pnt = gp.CreateObject("Point")

## 打开csv文件
f = open(input,'r')
data = csv.reader(f,delimiter=',')
next(data)  # 跳过表头

## 读入数据
for line in data:
    
    # 获取csv每行中的五个数据,依次赋予变量plotid、x、y、value1、value2
    plotid = int(line[0])
    x = float(line[1])
    y = float(line[2])
    value1 = float(line[3])
    value2 = float(line[4])
    
    # 将以上四个变量写入shapefile相应字段
    feat = cur.NewRow()
    pnt.x = x
    pnt.y = y
    
    feat.shape = pnt
    feat.x = pnt.x
    feat.y = pnt.y
    feat.plotid = plotid
    feat.value1 = value1
    feat.value2 = value2
    
    cur.InsertRow(feat)
	
del cur
f.close()

运行以后就大功告成了。

最后附上完整代码:

# -*- coding: utf-8 -*-
"""
@author: 国宝级退堂鼓手
"""
# 首先检查python中是否有以下模块
import csv
import arcpy
import os
import arcgisscripting

# 设置路径
input = "E:\\points.csv"            # 待处理csv文件
outputname = "point.shp"            # 待输出shapefile文件
outputpath = "E:"                   # 待输出shapefile文件
output = outputpath+'\\'+outputname # 待输出shapefile文件完整路径

# 创建处理对象
gp = arcgisscripting.create()
gp.OverWriteOutput = True   ## 允许overwrite

# 创建矢量点文件 
gp.CreateFeatureclass(outputpath,outputname,"Point")

# 创建属性字段
gp.AddField(output, "plotid", "LONG")
gp.AddField(output, "x", "DOUBLE")
gp.AddField(output, "y", "DOUBLE")
gp.AddField(output, "value1", "DOUBLE")
gp.AddField(output, "value2", "DOUBLE")

# 添加数据
cur = gp.InsertCursor(output)
pnt = gp.CreateObject("Point")

## 打开csv文件
f = open(input,'r')
data = csv.reader(f,delimiter=',')
next(data)  # 跳过表头

## 读入数据
for line in data:
    
    # 获取csv每行中的五个数据,依次赋予变量plotid、x、y、value1、value2
    plotid = int(line[0])
    x = float(line[1])
    y = float(line[2])
    value1 = float(line[3])
    value2 = float(line[4])
    
    # 将以上四个变量写入shapefile相应字段
    feat = cur.NewRow()
    pnt.x = x
    pnt.y = y
    
    feat.shape = pnt
    feat.x = pnt.x
    feat.y = pnt.y
    feat.plotid = plotid
    feat.value1 = value1
    feat.value2 = value2
    
    cur.InsertRow(feat)
	
del cur
f.close()

ArcGIS微课1000例】0001:添加XY数据(Add XY data)生成shp
「 刘一哥与GIS的故事」
06-09 1万+
用过CASS的人都知道,野外数字测图得到的数据(平面坐标)可以直接在CASS,进一步绘制地形图。那么,带有坐标数据能不能在ArcGIS实现生成呢?答案是必须的! 本文以气象台站Excel数据生成为例,详细介绍ArcGIS 10.2导入X、Y坐标生成Shapefile数据的流程。 ...
文本转成矢量数据
09-28
利用arcgis二次开发实现文本转成矢量数据代码简单易懂
将经纬度坐标ArcGIS软件生成系列矢量数据
nanke_yh的博客
05-06 5963
操作内容:已知区域范围的经纬度坐标(上、下、左、右的经度和纬度值),需要根据这些数据生成该范围的面要素图斑。
ArcGIS之经纬度表格数据矢量
qq_26536339的博客
06-23 5270
一、格式梳理 导入ArcGIS表格数据可以是.CSV、.txt、.xls等,以.CSV格式数据为例,表格必须包括横、纵坐标数据,原始的坐标数据可能是XX°XX′XX″格式,也可能是XX.XXXX格式,XX°XX′XX″格式的数据要转为XX.XXXX格式。 XX°XX′XX″格式转换,例如120°26′49″,转换公式为: 计算结果为120.446944,使用round(number,num_digits)公式根据需要保留小数位。 使用格式如下图数据: 二、转矢量数据 1、表格数...
Arcpy】将包含坐标CSV文件批量转为矢量
最新发布
withowl的博客
04-11 472
在这里我们用代码的方式实现批量转换。(1)文件-添加数据-添加XY数据。(2)右键导出数据矢量
ArcGIS创建矢量图操作方法
ganggun的博客
09-21 2357
ArcGIS创建矢量图操作方法
ArcMap 栅格 ASC 到 xyz 文件:将 ArcMap 栅格转换为 3 列 xyz 文件-matlab开发
06-01
1) 使用 Arc Toolbox 将栅格转换为 asc 文件2) 在步骤 1 生成的 asc 栅格上运行此脚本。 3) 输出将是一个 3 列的 xyz 文件:[xyz]
通用xy坐标转换工具,地理坐标变换
07-14
用于大地坐标转换,只要适当选择合适的坐标系就可以实现坐标转换
通过ArcGIS将图形文件边界经纬度坐标导出为txt文件
热门推荐
xiaoleilei666的博客
07-19 1万+
一、简要概述 需求:将矢量图里面的边界经纬度导出为文件形式 二、操作步骤 打开Arcmap桌面工具 打开Catalog目录 关联目录 双击shp文件击查看坐标系类型以及表字段 将shp文件拖拽到央空白区域 通过arctoolbox工具将面文件转换为文件 形成文件后,通过arctoolbox工具生成X/Y坐标 在字段列上可以将不需要导出的列去掉 将属性表导出为文本文件 击保存,完成经纬度的导出 ...
ArcMap:shp文件转换为二值raster
03-29
在GIS(地理信息系统)领域,数据常常以不同的格式存在,如矢量数据shapefile, shp)和栅格数据(raster)。ArcMap是Esri公司开发的桌面GIS软件,广泛用于地理空间数据的处理和分析。在某些情况下,我们需要将矢量...
CAD坐标数据生成矢量图
01-14
在CAD将提供的坐标数据自动生成矢量图的操作流程。
arcmap采用空间数据关联方法,更新道路所在的行政区划代码
06-15
### arcmap采用空间数据关联方法,更新道路所在的行政区划代码 #### 背景与目的 在地理信息系统(GIS)领域,ArcMap是一款强大的桌面GIS软件,由Esri开发,广泛应用于地图制作、地理数据分析以及空间数据库管理等...
ArcMap10.2添加Excel含经纬度(X、Y)的数据,并生成.shp数据
Kyson_Like的博客
11-17 8711
Excel数据 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示; 全新的 KaTeX数...
arcgis--arcmap导出的X,Y坐标
weixin_30920091的博客
01-15 2472
arcmap操作的 转载于:https://www.cnblogs.com/lj821022/p/10272076.html
使用ArcGIS实现地图矢量
Mr_cangc的博客
02-28 6953
使用ArcGIS对数字地图进行矢量化,并统计不同土地利用类型土地面积
ARCGISXY坐标)及矢量转CAD坐标显示的问题
weixin_41175979的博客
11-18 1万+
ARCGISXY坐标)及矢量转CAD坐标显示的问题 ARCGISXY坐标) 已有数据,2000坐标系,.xls格式,如下图: 打开ARCGIS,从文件添加数据,如下图: 选择数据表格,自动匹配XY坐标,然后确定 展情况如下 此时该不可编辑,也无地理坐标、投影坐标,无法与其它数据套合,所以需要将其定义坐标系并导出; 导出前,设置地理和投影坐标系可通过设置数据框的坐标系实现,如图 将刚刚展开的导出shp,勾选数据框 加载shp,查看其坐标系,已有地理投影坐标
如何将坐标数据(.xls)转换为矢量范围(.shp)
hu397313168的博客
06-05 5786
示例项目坐标数据为 2000 国家大地坐标系( CGCS2000 )3 度带 36 度分带,故选择“投影坐标系” > “高斯克吕格” > “ CGCS2000 ” > “ CGCS2000_3_Degree_GK_Zone_36 ”。输入要素为【第4步】dian.shp;输出路径可自由选择(示例:桌面【ArcGIS操作】文件夹),名称命名(示例:xian.shp);输出路径可自由选择(示例:桌面【ArcGIS操作】文件夹),名称命名(示例:dian.shp),击“确定”。击“确定”,生成最终范围线。
ArcGIS】带有经纬度的Excel数据如何转换为shp矢量数据
M1570317的博客
09-11 2290
在Excel编辑经纬度,经度设为,纬度为。(自行设置命名):Excel经纬度数据要设置好,如果是粘贴复制过来的,要仔细检查数字是否为。将数据导入ArcMap当前操作工程。鼠标右键击,在弹出的“”面板选择上一步制作好的带有经纬度信息的数据。如下图所示:注意!:在处理完Excel内数据后,保存Excel也是一个关键的步骤。保存的时候选择保存为“Excel 97-2003工作薄”PS:如果另存为以后,击加号还弹出这个错误,则重启ArcGIS软件即可解决问题。这里要生成经纬度的矢量数据
ArcGIS教程:ArcMap栅格数据的自动与手动矢量
"本文档主要介绍了如何在ArcMap进行栅格数据矢量化操作,包括自动矢量化和手动矢量化的方法。文档详细讲解了ArcMap的基本概念,如地图、数据框架、组图数据,并提及了不同数据类型的加载和编辑。此外,...
写文章

热门文章

  • Matlab报错:函数或变量 ‘xx‘ 无法识别 133596
  • Matlab报错 :“位置 x 处的索引超出数组边界” 98764
  • SPSS导入xls数据时卡死解决 6934
  • ArcMap:表格中XY点数据生成矢量文件(手动&代码两种方法) 4718
  • postgreSQL:shapefile数据导入 3161

分类专栏

  • 半桶水的matlab 3篇
  • 大战拖延症 2篇
  • 航片处理 1篇
  • 半杯水的arcgis 2篇
  • 数据库 1篇
  • 一些反人类软件纪实 1篇

最新评论

  • Matlab报错 :“位置 x 处的索引超出数组边界”

    waslove: 我目前只遇到两种这个情况1.超出维度,2.存在变量名重复的现象,ctrl+f check一下,看看有没有变量命名重复;你这可能是第二种情况

  • Matlab报错:函数或变量 ‘xx‘ 无法识别

    三天与白夜: 函数或变量 'wr_values' 无法识别。 出错 Untitled3 (第 36 行) wr_values = [wr_values; wr*ones(length(pks), 1)];

  • Matlab报错:函数或变量 ‘xx‘ 无法识别

    刘克申: 我也是 ,解决了么

  • Matlab报错:函数或变量 ‘xx‘ 无法识别

    7788755: (matlab小白)是第一种情况 在if内 所以怎么能显示出来呢

  • Matlab报错:函数或变量 ‘xx‘ 无法识别

    m0_74456152: 啥叫初始化啊

最新文章

  • Matlab 数组写入文件
  • VirtuoZo:航摄影像的处理及拼接
  • postgreSQL:shapefile数据导入
2023年1篇
2021年7篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家嘉兴动物玻璃钢雕塑公园水景玻璃钢景观雕塑定制厂家无锡 玻璃钢雕塑长春玻璃钢雕塑设计公司双桥商场美陈贵州省玻璃钢雕塑找哪家西藏玻璃钢几何雕塑宁波公园玻璃钢雕塑批发桐庐广场玻璃钢雕塑六安玻璃钢雕塑厂家梅州玻璃钢卡通雕塑有哪些韶关动物雕塑玻璃钢图片玻璃钢狗雕塑抗战人物泡沫玻璃钢雕塑花园用玻璃钢雕塑杭州市德清商场美陈布置南宁商场美陈找谁设计商场泛喜女装美陈春天的图片商场美陈工作全面启动玻璃钢要怎样雕塑玻璃钢卡通雕塑3d雕塑南平玻璃钢仿铜雕塑价格宿州玻璃钢雕塑价位玻璃钢乌贼雕塑丽江市玻璃钢雕塑设计代理宁德玻璃钢花盆宿州大型玻璃钢雕塑优势植物大战僵尸商场美陈口碑好玻璃钢雕塑品质售后无忧九龙坡玻璃钢人物雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化