从零开始gis——(1)什么是gis

1.什么是gis?

首先引用一段百度百科:

地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为“地学信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。

我自己的一些理解:
之前在做项目的时候,也有碰到一些用地图的情况,不过全都借助高德地图以及百度地图等平台开放给我们的一些功能来实现了。马上需要做一个项目,里面可能会有一些特定的图层,特定的事物,特定的业务,没办法使用第三方的地图,又或者需要在离线的情况下使用,总之就是第三方地图满足不了需求,这个时候就需要我们自己来开发一套gis系统了。

2.我们开发人员是怎么去做gis的?

这个刚开始我是一头雾水,其实主要就是用js进行开发。我自己是做java的,我简单来描述一下就是: 绘制图层 –> 发布图层为服务 –> 使用js访问发布的地图服务并进行开发

  • 制图

    首先使用制图软件如arcgis, qgis等画好一些图层,保存为特定格式的文件,也可以以表的形式存入数据库(因为图层里的每个要素,也就是一个多边形,或者点,都会有相关的属性,也就等于数据库中的字段了),这些属性在我们做web开发的时候就可以实现一些效果了,比如用户点击某个物体,会显示出它的一些信息,效果是下面这样的:
    这里写图片描述
    这里写图片描述

  • 使用geoserver或者arcgis server发布图层为web服务.
    一般我们做开发就是在web页面里,所以我们绘制好的图层需要发布成web服务,然后我们可以在js代码中通过url来访问图层,并做一些开发.具体发布过程在下一章讲解.

  • 发布好地图服务后,我们就可以在页面上使用js来进行开发了,arcgis的话则是使用arcgis对应的js api,, 如果使用qgis的话可以使用openlayer,类似下面这种调用方式.

// 注意这是伪代码

// 根据地图服务新建一个图层
var layer = new Layer({
    url: 'http://localhost:8080/geoserver/glweb' // 这里填写的就是发布好地图服务后的对应url
});

// 新建一个视图,注意 图层放在视图上,视图放在map上
var view = new View({
  target: 'mapDiv' // 这里填写的就是想要展现地图的div的id属性,
  layer: layer // 将图层放在view中
})
var map = new Map({
  view: view // 将view放进来
});

效果:
这里写图片描述

关于如何发布图层服务,openlayer的具体使用方式,绘图的方法,图层导入数据库的方法等会在之后的章节更新。。。。。。

猜你喜欢

转载自blog.csdn.net/lqx_sunhan/article/details/81567586
GIS