使用ArcGIS Earth矢量化高精度的数据(kml转图层转shp/要素类)
大家好,这次来分享干货。做地理分析的同学,或者需要使用地图却不知道哪里有精度较高矢量数据(如校园图)的时候,怎么办呢?
我们知道ArcGIS提供了精度较高的全球影像图,基于此,可以自己进行矢量化,然后经过数据转换得到所需的shp文件或要素类。
注意,是自己绘制的,有别于网络爬虫。
使用到的软件:
- ArcGIS Earth 1.5 或更高版本
- ArcGIS Desktop - ArcMap
需要预备的知识:
- 知道什么是kml文件,什么是kmz文件;
- 知道什么是shp文件,什么是地理数据库;
- 知道如何用ArcMap矢量化地图;
————————分割线————————
1. 下载安装 ArcGIS Earth 1.5
给地址https://go.pardot.com/l/82202/2015-12-07/nv11n,要填邮箱和身份,随便填都可以。安装包大概60MB,装就是了,这一步没什么难度。
如果网址不能访问,就访问这个网站,拉到最下面找到下载按钮:http://www.esri.com/software/arcgis-earth
安装完成,打开会提示登陆ESRI账户,可以忽略,也可以自己注册账号登录。别担心是全英文的软件界面,我会告诉大家怎么操作。
2. 打开ArcGIS Earth,设置坐标系和添加影像图数据
2.1 添加影像数据
如上所示操作,点击+号键,稍等大概1分钟,就添加好了。(熟悉ArcGIS Server服务的同学肯定知道,这些就是Server上的各种乱七八糟的服务)
在图层列表可以看到此数据:
如果经常要用这张图,不妨在这里添加“Basemap”,和上面添加数据是一样的步骤。
这个数据源在大城市的比较新,几乎是近两年或者就是当前年份的影像。
我们定位到武汉大学,方便举例绘制。(什么?你不懂定位?右上角搜索按钮啊,指北针还可以摆正地图,右键拖拽可以摆动视角的倾角)
一般来说,如果配合VPN,加载地图速度会更快哦。
2.1 设置坐标系
GIS行业外的人一般会用经纬度(GCS),而行业内的人比较喜欢用投影坐标系(PCS)。在这里,ArcGIS Earth提供了两种坐标系统:
如上图,我是GIS行业内的,所以比较常用WGS 84坐标系统。如果是百度地图、高德地图等用户,我想他们更喜欢下面的Web Mercator(网络墨卡托)坐标系。
设置完坐标系后,我还会改经纬度为“米”,因为米量测长度的时候更为真实。
点击OK,重启软件即可。
3. 绘制点线面
以画面为例:
打开绘制窗口,给即将画的多边形命个名:
在View选项卡,点击Snapshot current view,可以设置这个多边形的参数,建议点一下:
设置好了,就打叉,好了,鼠标就可以在图上绘制图斑了:
画完就双击,我们画两个,图层列表就会有两个多边形:
这个时候,就可以关掉编辑窗口了。我们右键单击My Drawing这个文件夹,选择Save as:
存起来,存左kmz格式。这个时候如果不再画,ArcGIS Earth可以关掉了。注意关闭是不会保存画图的哦。
4. 转为要素/shp
4.1 从kmz文件中提取kml文件
本质上shp和要素是差不多的,都是空间数据。
我以shp为例。
找到我们上一步导出的kmz文件,改其拓展名为“zip”,用压缩软件打开它,把里头的kml文件解压出来:
解压出来是这样的:
4.2 kml转图层文件(*.lyr)
好了,打开ArcMap中的“KML转图层”工具,直接将kml转成lyr格式的文件:
默认会添加到地图上:
刚刚的命名就是一个要素的名称,这个时候,这个图层上的要素是GCS_WGS_1984坐标系的,是GCS坐标系,如果需要投影的同学请到工具箱找投影工具进行投影。
4.3 lyr转shp文件
右键导出即可~
大功告成,点线也可以这么操作。
说说缺点和优点
有的同学可能知道ArcBruTile这个ArcMap插件,可以直接调用各种地图,那样也可以;当然,知道网络爬虫的同学也可以爬别的地图平台的边界数据。
这个唯一的优点就是可以使用ArcGIS Server及Online上的各种服务了吧...或者说这个方法得到的就是WGS84坐标系的数据,与国际接轨。
缺点很明显,就是导出导入数据的过程比较繁琐。
使用ArcGIS Earth矢量化高精度的数据(kml转图层转shp/要素类)的更多相关文章
- ArcGis Python脚本——批量对影像、要素类定义投影
这一段是批量定义要素类(FeatureClasses)投影的ArcPy代码: 把要处理的要素类塞进一个文件夹(工作空间,workspace),然后将代码开头的路径换成这个“文件夹”的路径,处理完后再做 ...
- ArcGIS Earth(原谷歌地球)如何获取高精度矢量地图数据?(shp文件/要素类/kml)
大家好,这次来分享干货.做地理分析的同学,或者需要使用地图却不知道哪里有矢量数据的时候,怎么办呢? 这次,我就告诉大家哪里能自己手工制作矢量点线面数据!注意哦,是自己绘制的. 使用到的软件: ArcG ...
- ArcGIS Earth数据小析
ArcGIS Earth,一款轻量级的三维地球应用.因为工作关系下载试用了半天,正好借这个机会简单研究一下ArcGIS Earth的大概思路,特别是地形数据的组成和影像数据的加载,在这总结整理一下.下 ...
- 简记用ArcGIS处理某项目需求中数据的步骤
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目需求涉及如下几个步骤: a.矢量化 b.获取范围内要素 ...
- ArcGIS Earth
恩,万众瞩目的ArcGIS Earth,现在华丽丽的可以在官网上下载了 满怀希望的心花怒放的我就去下载了...... 然后得然后...... 打开界面简洁的不要不要的,连个Esri的logo都没有.好 ...
- HT全矢量化的图形组件设计
HT一直被客户称道的就是其全矢量化的设计特色,矢量相比传统图片好处太多了: 矢量可无级缩放,界面不失真不模糊 描述矢量的文本内容远比图片小得多 目前各种window.devicePixelRatio不 ...
- matlab图形矢量化解决方案
大致思路:matlab中生成矢量格式文件-导入Visio中-编辑-导出合适格式-在其他软件中使用 准备工具 Matlab 2014b或更高版本 Visio 2007或更高版本 我查看过,Matlab能 ...
- ArcGIS earth 1.0 beta体验报告——给我一个按钮我将转动整个地球
随着Esri研发中心的ArcGIS earth 1.0 beta版本的全新发布,声势浩大,很多人为之好奇静待观摩其阵容.抽出五分钟体验,良心用户,必得出炉一份体验报告了. -------------- ...
- 转:如何在ArcMap下将栅格图象矢量化的基本步骤 (对影像的校准和配准、栅格图象矢量化)
矢量对象是以矢量的形式,即用方向和大小来综合表示目标的形式描述的对象.例如画面上的一段直线,一个矩形,一个点,一个圆,一个填充的封闭区域--等等. 矢量图形文件就是由这些矢量对象组合而成的描述性文件. ...
随机推荐
- Vue 学习笔记 -- inline-template
简书 更方便的使用私有子组件 定义一个私有子组件时,如果子组件的template过长会使得代码非常难以阅读 这时可以使用内联模版 但是如果写成这样 为毛用要子组件呢?
- Redis Cluster(集群)
一.概述 在前面的文章中介绍过了redis的主从和哨兵两种集群方案,redis从3.0版本开始引入了redis-cluster(集群).从主从-哨兵-集群可以看到redis的不断完善:主从复制是最简单 ...
- 容器云技术选择之kubernetes和swarm对比
swarm和k8s本质都是容器编排服务.它们都能把底层的宿主机抽象化,然后将应用从以构建好的镜像开始,最终以docker的方式部署到宿主机上. 应该选择哪种方案作为我们的容器云服务呢? 我觉得k8 ...
- [Swift]LeetCode587. 安装栅栏 | Erect the Fence
There are some trees, where each tree is represented by (x,y) coordinate in a two-dimensional garden ...
- Linux如何配置想要的JDK
首先我声明下,对于linux系统我到现在学习不到一个星期,所以说很多地方不熟悉,还在学习当中,本文章中有什么技术错误请勿怪哈(PS:我第一次发表博客). 关于linux安装配置jdk,首先我用的是De ...
- 解决 python 读取文件乱码问题(UnicodeDecodeError)
解决 python 读取文件乱码问题(UnicodeDecodeError) 确定你的文件的编码,下面的代码将以'utf-8'为例,否则会忽略编码错误导致输出乱码 解决方案一 with open(r' ...
- 记Javascript一道题的理解
代码如下: function Foo(){ getName = function(){ console.log("1"); } return this; } Foo.getName ...
- webpack 2 系列
webpack 2 系列 webpack 是一个强大的工具,学会通过工具来解决开发效率问题,是每一个 工程师都必备的技能之一. 那么我们来从零开始搭建一个 基于webpack 2 到 开发架子,来提升 ...
- Python多环境管理
Python环境管理 什么是Anaconda Anaconda是专注于数据分析的Python发行版本,包含了conda.Python等190多个科学包及其依赖项.Anaconda通过管理工具包.开发环 ...
- windows下使用jenkins持续集成.net项目
前言 随着微服务的兴起,原先一个庞大的项目,被切分一个个功能独立的微服务,虽然使得业务系统的扩展性和维护性得到提升,但是也加大了维护人员的工作量.有的系统由成百上千个微服务组成,如果每次有修改,都要手 ...