||
1. 问题
写文章的时候,画中国全国地图要求要地理信息局的矢量图为基础上绘制,我们通常有的是WGS84的经度/纬度方式给出的数据。一方面这个数据有可能存在不准确的情况(例如: 藏南地区),另一方面: 直接绘制和地理信息局给出的矢量图有较大的差异。
地理信息局网站: http://bzdt.ch.mnr.gov.cn/
网上有很多方法:
python解决问题的办法;
https://blog.csdn.net/maoye/article/details/90157850
ArgGIS解决问题的办法;
http://www.360doc.com/content/10/1127/14/3929720_72861408.shtml
Linux下Proj4方法:
https://www.cnblogs.com/eshinex/p/10301739.html
这些方法要么就是软件太大ArgGIS,要么就是门槛比较高Proj4和Python。我的需求是能够撰写文章,文章能够符合中文出版要求。所以本文利用surfer 17和Global Mapper 20 来完成上述工作。
2. 任务、方法和数据
(1) 数据
数据1: 找到没有领土争议的中国底图文件空间数据文件。本研究选择的是这个网址下的文件。
https://github.com/dongli/china-shapefiles
其中: 中国的边界文件名称为: china_country.shp, 打包的文件: shapefiles.rar
数据2: 地震台站的空间分布文件。本研究选择的是2个站的经纬度数据.
表格列对应的分别为:
第一列: 经度; 第二列: 纬度; 第三列: 台站代码; 第四列: 测点代码; 第五列: 台站中文名称; 第六列: 仪器类型
文件名称: gravity4calibration.dat
文件内容:
116.790 33.980 AHHB1 3 张三站 Seismic
117.530 40.090 TJJX1 8 李四站 Seismic
注意: gravity4calibration.dat 应该保存为: ANSI 格式(可用记事本打开,另存为编码: ANSI)
图1 保存为ANSI格式的数据文件
(2) 方法:
经过测试过surfer不可能将一个没有坐标系统的文件转换为另外一种坐标。所以第一步必须将gravity4calibration.dat数据文件变为有坐标系统的文件。本研究用到的工具为Global Mapper 20
大概的流程为:
a. 打开Global Mapper 20
b. 用"File->Open Data File(s)" 打开本研究的ANSI编码的数据文件(图2);ASCII文件的导入选项对话框(图3),直接选择“OK”;投影对话框设置(图4),我们知道这个数据文件的给的是WGS84下的经度和纬度值。所以直接"OK";在数据结构列表中,这个文件中有2个对象(图 5)。
图2 打开ANSI编码的台站位置文件
图3 ASCII文件格式的导入选项对话框
图4 台站的投影系统设置对话框
图5 数据结构列表并高亮显示
c. 输出shp文件
File-> Export -> Export Vector/Lidar Format 和选择Shapefile格式
图6. 输出shp文件命令
图7. shp文件目录
(3)投影
(a)surfer 17提供了很好的投影设置的方法;
经过摸索我们设定中国大陆的投影方式为:
投影方式: Albers Equal Area Conic ;
主要参数: 中央经纬度为: (105, 36), 标准纬线为: 27, 第二纬线为: 45;单位: °。
基准面坐标系:北京54坐标系
主要参数: 在软件中有,这里不列了;
(b) 打开 china_country.shp文件
Home -> MapWizard (图8); 点击: Browse(图9),选择: china_country.shp文件(图10,11,12);显示树形结构(图13);
图8 地图录入的向导
图9 地图录入向导
图10 地图录入对话框
图11 地图录入对话框
图12 地图录入对话框
图13 显示树形结构
(c) 设置投影参数
点击树形结构"Map",默认的Map的投影方式为: Lat/Long的方式; 参考面是WGS84坐标系统(见图14);(注:WGS84椭球的参数直接列在上面)。这里需要修改“Map”的投影方式和参考面的信息。在属性 点击“Change”来进行目标坐标系的设置。见图14
图14 坐标系的设置
图15 Assign Coordinate System对话框
找到: Predefined-> Geographic(lat/lon)->Beijing 1954(EPSG:6214) 点击"Add to Favorites";会在Favorites树形结构厦门出现Beijing 1954 (EPSG:6214) 的节点。
图16 Assign Coordinate System对话框2
高亮显示"Beijing 1954 (EPSG:6214) 的节点",点击"Modify"
图17 Define Coordinate System对话框
在Projection选择“Albers Equal Area Conic”投影方式,设置Central Longitude 为105;
Centeral Latitude为36;Standard parallel 为27; 2nd Standard parallel为45。如下图18。(因为之前选择了Beijin 1954基准面了,所以Datum不需要修改参数),最后点击OK,退出图18对话框,再点击OK,退出图15对话框。
图18 Define Coordinate System对话框
图面的坐标会发生变化。
变化前的图件:
变化后的图件:
和地理信息局的地图比较,两者一致性还可以。至少投影问题已经解决了;
(4)加入新图层
用前面(b) 打开 china_country.shp文件的方法用Map Wizard方法打开前面自己制作的站点shp文件。gravity4calibriation.shp
然后用鼠标拖拽Base(vector)-gravity4calibriation.shp到下面的含有Base(vector)-china_country.shp的Map中。如下图。两个十字丝就是相同坐标系下的图件了.
图片的相关结果如下:
3. 结论和问题
结论,surfer为用户提供了基准面的坐标系统,投影的设置还是要自己设置的。
折腾过程中,一定要用shp等带有投影信息的空间数据,如果只是ascii码文件的,需要转换为shp文件来完成。否则无法作出如上图效果。
Global Mapper可以将ascii文件转为shp文件。应该其它的软件也可以。这个自己来完成也可以。
问题, 站点的标注还是乱码;四边的边框标注单位是基准面xy坐标而不是经纬度坐标,导致还是没有办法发表。
我将在下一个博客来解决这些问题。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-19 05:31
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社