将包含经纬度点位信息的Excel表格数据导入到ArcMap中并输出成shapefile

 Excel表数据Excel表格转换后的数据

将包含经纬信息的Excel表格数据,导入到ArcMap中并输出成shapefile,再进行后面的操作。使用这种方法可以将每一个包含经纬信息的数据在ArcMap中点出来。

 

一、准备数据

  新建Excel表格,保存时设置后缀名为.xls(即2003Excel的表格)。在表格首行建立各字段名,其中要包含经度和纬度的信息,用于在地图中标定位置。录入各记录属性,整理成表。

二、ArcMap中添加x-y事件

  ArcMap中添加x-y事件 

  选择数据表和x,y值对应的经纬度 

  在打开的对话框中选择数据表和x、y对应的经度、纬度。选择坐标系统,这里因为我们的x,y对应的数据是经纬度,在(118°,32°)附近,所以选择地理坐标系而不能选择投影坐标系。在转换成地理坐标后可再投影成指定的投影坐标系。

  没有Object-ID字段的提示框

  因为我们的Excel表中没有Object-ID这个字段值,所以我们导入的数据只是x-y事件数据,和一般的shapefile数据不一样,不能进行要素的选择、查询等。可以将x-y事件数据转换成shapefile,就可以进行相应操作了。

  添加x-y事件

 三、将x-y事件转换成shapefile数据

  将x-y事件数据导出成shapefile数据 

  右键选择x-y事件数据,选择导出。

  路径选择

  转换后的shapefile 

  可以看到数据类型(Data Type)已经是Shapefile数据格式。数据范围(Extent)值也是正常的,可以进行下一步的投影变换。

四、存在的问题

  字段名发生截断 

  采用这种方法直接导入,会发生字段名的截断。(未找到解决办法)

转载于:https://www.cnblogs.com/wangmengdx/p/9727026.html

ArcGIS Desktop使用Python脚本连接到数据库并导入数据通常涉及以下步骤: 首先,你需要安装ArcGIS Python工具箱,它包含了用于操作数据库的模块,如`arcpy`和`pyodbc`(如果处理的是ODBC连接)。如果你尚未安装,可以在这里找到相应的Python包:[ArcGIS Data Management Tools for Python](https://pro.arcgis.com/en/pro-app/arcpy/data-management-tools-for-python.htm)。 以下是一个基本的示代码片段,展示如何使用Python在ArcMap连接到SQL Server数据库,并导入表到地理数据库(Feature Dataset): ```python import arcpy from arcpy import env # 设置环境变量 env.workspace = "C:/path/to/your/gdb" # 地理数据库位置 env.pyodbc_connect_string = 'DRIVER={ODBC Driver 17 for SQL Server};SERVER=server_name;DATABASE=databasename;UID=username;PWD=password' def create_connection(): conn = pyodbc.connect(env.pyodbc_connect_string) return conn def import_data(conn): query = "SELECT * FROM tablename" # 替换为你要导入的实际表名 cursor = conn.cursor() results = cursor.execute(query).fetchall() # 创建新表 table_name = "new_table" # 新表名称 arcpy.CreateTable_management(out_path, table_name) # 将数据插入新表 with arcpy.da.InsertCursor(table_name, ["column1", "column2"]) as icursor: # 根据实际字段替换 for row in results: icursor.insertRow(row) if __name__ == "__main__": try: conn = create_connection() import_data(conn) conn.close() print("数据导入功") except Exception as e: print(f"发生错误:{e}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值