背景
工作中遇到的场景,就是在查看浏览器的开发者工具中的网络请求时,发现有些地图上显示的要素是一个图片文件,请求URL中能看见图片的四个角的坐标。有时候可能会想要把图片下载下来,再根据已知的坐标把图片放到ArcGIS或其他可能查看地图的软件中。下面分别以奥维地图和ArcGIS举例。
导入奥维地图中
具体可以查看奥维地图官方文档:
大致操作步骤就是先添加一个标签,然后点开标签的设置,把图片作为附件添加到标签中,然后对图片设置一下,填入四个角的经纬度就可以把图片显示在地图上了。
导入到ArcGIS中
首先先参考以下几个文档:
大致流程就是制作一个和图片同名的文件,用来告诉ArcGIS这个图片应该以什么参数进行坐标变换。
需要提前知道四个角的坐标,以及图片右键属性中的宽度width,高度height
然后分别计算
1 | X方向上的像素分辨率A=(Xmax-Xmin)/width |
然后填写文件内容如下
1 | A=X方向上的象素分辨率 |
文件内容写好保存好之后,要把文件后缀名改为和图片格式对应的,详细可以参考上面参考文档中的示例,额外要说的一点就是表里没有png格式,实测png格式也是可以的,把文本文档的后缀名改为pngw就可以。
之后就可以把图片加载到ArcGIS或者ArcGIS Pro中了,注意坐标系别选错了。
导入到ArcGIS之后图片颜色不对
导入到ArcGIS之后可能发现图片颜色和原来的不一样,这个时候可以
将图像模式为RGB模式的图片导入GIS中,可以打开该图层的属性面板(也可双击图片下的RGB),在符号系统中调整RGB合成,将stretch拉伸下的Type设置为none,同时关掉下面的所有选项,此时导出的图片颜色同原始图像相同
参考文档:图片jpg导入gis中颜色变化
最后
这个月主要就是研究了一下如何从地理服务器上获取数据,在获取数据的时候发现有些数据在请求时返回的是带坐标的图片,所以就找了一下如何把这样的图片放到自己的地图中。
后来发现这些图片也是通过矢量数据经过处理之后显示在前端的,原始数据可以通过构造一些请求直接从后端获取,具体过程就先不赘述了。有些想法是受到
JSON数据转SHP,以山东黄河三角洲国家级自然保护区数据为例的启发。
最后的最后,这个月也稍微研究了一下如何在VScode中配置arcpy的环境,这样可以就可以用VScode写arcpy相关的代码了。这个是受到
5分钟配置好集成开发环境 PyCharm的启发,不过我没用PyCharm,而是VScode,大致流程就是找到ArcGIS的安装目录中的python文件夹,然后将解释器加入到设置里(就是右下角那个可以显示当前环境python版本的那个),测试了一下可以分别调用ArcGIS10.6的python2解释器、ArcGIS Pro的python3解释器,原理好像都是用conda虚拟了一个python环境,当然也可以在环境里安装自己需要的其他包了。