WebGIS开发基础
什么是GIS平台
GIS平台,也叫基础平台,系统平台,是指Map info、Arc info、Supermap、MapGIS等GIS平台,是成型的商品软件。这些软件具有强大的通用的GIS功能,也可以在其上用开发工具.NET、JAVA Delphi等等,开发出各种GIS软件。然而GIS的开发平台众多、开发平台也各有优势、在进行GS开发过程中、选择一个好的平台无疑是尤为重要的。
Tips:GIS软件一般是指应用到用户那里的,结合用户的业务开发出来的软件。例如在电力、水利、国土资源、交通等等行业正在应用的软件,这些软件一般都是在GIS平台上开发的,应用的时候要先安装GIS平台,安装开发人员再在平台之上开发出来的软件才能运行。国外的常用的GlS软件有AutoCAD Map3d、ArcGIS、Maplnf等,而国内比较知名的GIS软件则是Supermap、MapGIS、GeoStar等。
什么是GIS应用平台
有些GIS应用方向会提供自己的平台,比如,地图导航应用高德开放平台(JS API)、百度地图开放平台,这些平台面向大众提供开放的API接口服务。
Tips:解决将地理信息通过web技术展现出来的问题,下面介绍一种GIS应用平台。
由于高德开放平台相对比较好配置比较轻量级,在本次主要跟大家分享高德API的使用。
地图整体框架
地图组成结构:控件、Marker、矢量图形、图层
JS API组成结构
地图容器
(Contaer):即在准备阶段所创建的指定了id的div对象,这个div就是承载所有图层、点标记、矢量图形、控件的容器。
图层
(Layer):是指能够在视觉上覆盖一定地图范围,用来描述全部或者部分现实世界区域内的地图要素的抽象概念,一幅地图通常由一个或者多个图层组成。
高德地图 JS API 即提供了标准图层、卫星图层、路网图层、路况图层等官方标准图层接口,又提供了加载其他厂商发布的标准地图服务的图层接口,还提供了加载开发者自己的图片、Canvas、视频、热力数据的图层接口。同时也深度开放了可以自定义绘制方法的自定义图层接口。
矢量图形
(Vector Overlays):一般覆盖于底图图层之上,通过矢量的方式(路径或者实际大小)来描述其形状,用几何的方式来展示真实的地图要素,会随着地图缩放而发生视觉大小的变化,但其代表的实际路径或范围不变。
JS API除了折线、圆、多边形之外,还提供了矩形、椭圆、贝瑟尔曲线等常用的矢量图形。
3D视图下的Mesh、Prism棱柱、MeshLine也可以看做是一些特殊的矢量图形。
普通的点标记(Marker)支持将自定义图标和DOM元素作为展示内容。除了Marker之外为了满足不同的场景,JS API还提供了丰富的点标记类型,比如圆点标(Circle Marker)、文本标记(Text)、灵活点标记(Elastic Marker)。另外还有海量点(Mass Marks)、点聚合(MarkerCluster)来满足大量点标记的展示需求。
地图控件
(Map Controls):控件浮在所有图层和地图要素之上,用于满足一定的交互或提示功能。一般相对于地图容器静止,不随着地图缩放和中心变化而发生位置的变化。如上图中绿色方框中的比例尺和级别控件。