Arcgis简单制图案例

一、数据准备

以武器装备火力范围为例,我们需要在图上表达的数据是在某一参考椭球上,以某一点为发射点,大地线长为武器直线最远射程的封闭曲面。在实际绘制中我们用若干点去拟合这个曲面的边界来实现对武器装备射击范围的表达。
那么我们所需要准备的数据就是这若干个点的坐标,而坐标我们可以通过贝塞尔大地正算来求解。
对于单一武器可以确定它的射程并以其作为大地线长S,对于一个确定发射点可以确定一个坐标对(L,B)作为P1点。
我们要求解的是若干连续点作为边界的拟合,所以需要考虑取样密度,即点的数目N。这样每连续的两个点样本同发射点形成的夹角就是
△A=2*π/N
这样我们以过发射点的大地子午线为起始点即初始大地方位角A0=0,那么就有An=An-1+△A,这样当n=N时我们就得到了我们需要的样本点集。
下表是大地线长为2000000m,发射点为北京(40.09009874019607,116.4369534394531),N=360的解算结果,是包含360个点的点集。

B2 L2
B2 L2
0 -58.074076 296.436953
1 58.070189 117.018763
2 58.058529 117.600076
3 58.039108 118.180399
4 58.011945 118.759238
355 57.977065 113.537801
356 58.011945 114.114669
357 58.039108 114.693508
358 58.058529 115.273830
359 58.070189 115.855144

这样我们就完成了数据准备的工作。

二、数据存储

为了能将我们的结果数据导入arcgis我们需要将计算结果写入到表格文件中,需要注意的是arcgis支持excel和csv等格式的表格,但我们的数据较为简单,并且为了便于编程解决选择使用csv对数据进行存储。
首先,如果大家不熟悉文件读取或存储的编程操作的话也可以采用逐行输出的方式形成一个字符串结果,如下图(随机写的数对无实义)。
Arcgis简单制图案例_第1张图片

将这个结果复制到一个文本文件中将后缀txt直接改为csv即可。
Arcgis简单制图案例_第2张图片

会使用文件读写的可以直接对数据进行写入。
需要注意的是,我们直接写入的表格一般不会包含表头,而arcgis读取数据是需要表头的所以我们需要将表头补充上,是手工加入还是编程加入大家可以自己根据能力来实现。
最后我们得到的最终的数据应该是包含所有点信息的表格,如下图:
Arcgis简单制图案例_第3张图片

三、Arcgis绘图

3.1.数据导入
首先我们需要通过arccatalog将数据导入。
第一步链接工作文件夹
Arcgis简单制图案例_第4张图片

点击连接到文件夹在弹出窗口中选择存放保存有之前制作的数据表格的文件夹(最好不要存桌面)
Arcgis简单制图案例_第5张图片

在左侧目录树中选择刚添加的文件夹,可以看到我们的数据表格。
Arcgis简单制图案例_第6张图片

右键我们的数据表格选择‘创建要素类’->‘按xy表’。
Arcgis简单制图案例_第7张图片

在弹出窗口中选择L,B列名,x字段为经度,选择代表经度的列的列名,y字段为纬度选择代表纬度的列的列名。(注本次使用的是地理坐标L,B故为经纬度,若使用投影坐标系则x,y对应投影坐标x,y)。
Arcgis简单制图案例_第8张图片

然后选择我们的坐标系,由于arcgis自身所带的坐标系为常用坐标系,所以有些坐标系并没有定义,我们在我们之前选择椭球是应选择arcgis支持的椭球,这里我们使用WSG84地理坐标系。
Arcgis简单制图案例_第9张图片
Arcgis简单制图案例_第10张图片
Arcgis简单制图案例_第11张图片

之后我们需要指定输出由数据生成要素的存储路径。(必须放到arcgis连接的文件夹或其子文件夹中)
Arcgis简单制图案例_第12张图片

点击‘确定’,我们就完成了数据导入的工作。
3.2.数据展示
打开arcmap进行下一步的绘图
选择模板(红框为实例选用的模板,实际可根据需要进行调整)
Arcgis简单制图案例_第13张图片

点击确定生成底图模板
Arcgis简单制图案例_第14张图片

点击添加数据
Arcgis简单制图案例_第15张图片

在弹出窗口中选择‘文件夹连接’,找到存储要素的文件夹,选择刚制作好的要素,点击‘添加’。
Arcgis简单制图案例_第16张图片

这样数据就成功导入到地图上了。
Arcgis简单制图案例_第17张图片

3.3.数据导出
在‘文件’中选择‘导出地图’
Arcgis简单制图案例_第18张图片

根据需要进行设置导出即可,具体导出参数默认即可,如需更改自行学习。

你可能感兴趣的:(arcgis)