经纬度坐标导入到ArcMap的技巧

今天拿到一批从数据库导出来的经纬度坐标点;要求在ArcMap中转换成图层。折腾了几个小时,把步骤和要点大致写一下:

1.首先检查经纬度的格式,ArcMap中导入只接受度格式(如115.7839, 47.5281 )的经纬度。其他格式如DDMMSS;DD°MM′SS″;等都要转换成这个格式;我拿到的数据是DDMMSS格式的(如1153045,471236)。
     转换的方法有很多种,前提是要对Excel有点研究:-);INT(A1/10000)+INT((A1-INT(A1/10000)*10000)/100)/60+INT(A1-INT(A1/100)*100)/3600 这是一种方法,不过输这么多公式麻烦,也容易出错,我找到了一个不容易出错的改进方法:
     a.将文本转换成数字;数据--分列--分割符号--Tab键;完成就OK了。
     b.选中要转换的一列,数据--分列--固定长度;把1153045分成115、30、45三列;然后新建一列公式为A1+B1/60+C1/3600;ok。很快搞定。

2.因为Excel是没有表头的,所有导入ArcMap导入对话框中显示不出经纬度的列名,所以需要转成ACESS或者别的数据格式。新建一个ACESS,新建表-导入表,可以把Excel导进来,选择第一行为列名。

3.ArcMapl里 Tools-add xy data ;选择Access里的表,坐标系选择地理坐标系下的WGS84,这点很重要,一般GPS测出来的经纬度都是WGS84的。

4.投影转换成你想要的坐标系下,我一般直接添加到工程地图里让其动态投影。然后右键图层-输出,坐标系选择DataFrame,效果和用工具投影一样,不过更省事。

### 批量导入经纬度坐标点至ArcGIS 为了在ArcGIS中批量导入经纬度坐标点,可以采用多种方法来实现这一目标。一种常见的方式是通过CSV文件或其他表格形式的数据源进行操作。这些数据通常包含两列或多列,其中一列表示纬度而另一列表示经度。 #### 使用Add XY Data工具 对于简单的批处理任务,可以直接利用`Add XY Event Layer`功能[^1]。此过程涉及准备一个具有X(经度)和Y(纬度)字段的表,并将其加载到ArcMap或ArcGIS Pro环境中。一旦完成这一步骤之后,就可以创建一个新的图层并可视化所输入的位置信息。 ```python import arcpy # 设置工作空间环境 arcpy.env.workspace = "C:/data" # 输入XY事件图层参数 in_table = "path_to_your_csv_file.csv" x_coords = "Longitude" y_coords = "Latitude" out_layer = "locations_lyr" spatial_reference = arcpy.SpatialReference(4326) # 创建XY事件图层 arcpy.management.MakeXYEventLayer(in_table, x_coords, y_coords, out_layer, spatial_reference) # 将临时图层保存为永久要素类 arcpy.conversion.FeatureClassToFeatureClass(out_layer, "output_folder", "output_feature_class") ``` 上述脚本展示了如何借助Python中的`arcpy`库自动化执行该流程。需要注意的是,在实际应用前应当调整路径名以及变量名称以匹配具体需求。 另外,如果面对更复杂的情况比如大量记录或是频繁更新,则可能更适合考虑构建数据库连接并通过地理信息系统(GIS)平台直接访问存储于关系型数据库管理系统(RDBMS)内的结构化查询语言(SQL)表单。例如PostGIS扩展后的PostgreSQL就是一个不错的选择[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值