ArcGIS如何处理并加载Excel中坐标数据?

    做GIS行业的各位肯定免不了跟数据打交道,其中数据的处理说复杂也复杂,因为我们要花时间去做数据的转换及调整工作,那说简单也简单,因为我们有很多的工具可以使用,那么今天我就给大家带来处理Excel中的GIS数据中的其中一种办法。

一、Excel数据格式的统一

    GIS信息在Excel中的体现,无论数据本身是什么状态,在这里都是以单个坐标点及属性的形式;那么如我下面的数据。

图片

1、处理掉度分秒坐标后面的E和N,选中整列数据后,点击(数据->分列->分隔符号->其他->完成)详细操作如下图所示:

图片

    点击完成即可,纬度也是相同的操作!

图片

2、要将度分秒格式转为经纬度,这个在Exce中使用工式就可以进行转换,在单元格中输入如下工式即可;其中D1为D列第1行,大家在使用的时候要改为自己对应的行列:

=LEFT(D1,FIND("°",D1)-1)*1+MID(D1,FIND("°",D1)+1,2)/60+MID(D1,FIND("′",D1)+1,LEN(D1)-FIND("′",D1)-1)/3600

以上两步完成后,我们将数据制作为如下图所示格式:

图片

将制作完成的数据导出为.csv文件格式。

二、Excel导入ArcGIS

数据的加载

    在将数据处理完成后,我们打开ArcMap程序,点击添加数据按钮,选择我们的csv文件。

图片

图片

加载完成后,在左侧图层框中右键我们的csv文件,选择显示xy数据。

图片

图片

点击确即可!

图片

这里,我们可以选择将这些点元素导出为SHP文件,也可以不导出。

    点数据转线

下面我们再将此点图层数据转为线数据,具体方法为,打开工具箱找到:系统工具箱->“(Data Management Tools.tbx)数据管理工具”->要素->点集转换。

图片

到这里我们的数据这制作完成了,如果要将这些数据转为SHP数据的话,只用在图层上右键 “数据->导出数据”即可。

图片

基于遥感解译环境影响评价报告图件制作-土地利用图、植被类型图、生态系统类型等图件制作

### Unity ScriptableObject 使用教程和最佳实践 #### 创建 ScriptableObject 资源 ScriptableObject 提供了一种创建可重用的数据容器的方法,这些数据可以在多个场景之间共享而不会丢失。为了创建一个新的 ScriptableObject 类型,在项目中定义一个继承自 `ScriptableObject` 的类。 ```csharp using UnityEngine; [CreateAssetMenu(fileName = "NewGameData", menuName = "Game/NewGameData")] public class GameData : ScriptableObject { public string playerName; public int playerLevel; } ``` 此代码片段展示了如何声明一个名为 `GameData` 的新 ScriptableObject[^1]。 #### 实例化 ScriptableObject 对象 一旦有了 ScriptableObject 类型之后,就可以通过右键点击 Project 视图中的 Assets 文件夹选择 Create -> Game -> NewGameData 来实例化该类型的对象。这将在资源管理器中生成一个新的资产文件,其中包含了默认初始化后的字段值。 #### 加载与保存 ScriptableObject 数据 当需要加载已存在的 ScriptableObject 或者想要修改其属性时,可以通过 AssetDatabase API 获取对它的引用: ```csharp // 假设有一个已经存在于 Resources 文件夹下的 ScriptableObject 名为 gameData.asset string path = "Assets/Resources/gameData.asset"; GameData loadedData = (GameData)AssetDatabase.LoadAssetAtPath(path, typeof(GameData)); if(loadedData != null){ Debug.Log($"Player Name: {loadedData.playerName}, Level: {loadedData.playerLevel}"); } else { Debug.LogError("Failed to load data"); } // 修改 ScriptableObject 属性后记得调用 EditorUtility.SetDirty() 方法标记更改 EditorUtility.SetDirty(loadedData); ``` 这段脚本说明了怎样读取存储于磁盘上的特定路径处的 ScriptableObject,打印出玩家的名字以及等级;同时也提到了在改变 ScriptableObject 中的信息以后要做的工作——通知 Unity 这些改动应该被持久化下来[^2]。 #### 将 Excel 表格转化为 ScriptableObject 对于那些习惯使用电子表格来整理游戏配置的人来说,可以考虑利用像 **Unity-Excel-Importer** 插件这样的工具将 .xls 或者 .xlsx 文件里的内容映射成相应的 ScriptableObject 结构体。这样不仅提高了工作效率还减少了手动输入可能带来的错误风险[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值