【森城市】GIS数据漫谈(二)

本文深入探讨GIS中的空间数据库管理和地图服务,包括WMS、WMTS、WFS等标准。文章阐述了空间数据库在解决大数据存储问题中的作用,以及地图服务如何通过WMS动态生成地图,WMTS提供地图瓦片缓存,WFS则允许直接操作矢量数据。同时,推荐了森城市和低代码平台ThingJS作为快速构建3D城市和数字孪生应用的工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上篇“GIS数据漫谈(一)”中简单介绍了GIS数据中矢量数据和栅格数据的概念,以及常见的GIS数据文件类型。这篇漫谈中我们继续讲讲地图服务。

空间数据库

GIS的发展史是跟随IT技术的发展史进展的,比如前面提到的各种矢量数据、栅格数据的文件都属于空间数据。由于地理数据本身的大数据属性,一个城市地理信息系统的数据量可能达几十GB,如果考虑影像数据的存储,可能达几百个GB。地理信息系统的海量数据,带来了系统运转、数据组织与储存、网络传输等一系列技术困难,自然也给数据管理增加了难度。

为了更好的管理GIS数据便发展出了空间数据库,随着技术的发展很多主流数据库基本上都支持空间数据扩展,比如MySQL、Oracle、PostGIS等。

地图服务

有了空间数据库管理GIS数据,怎么去对接这些数据呢?总不能一个个去导GeoJSON吧。OGC【开放地理空间信息联盟 (Open Geospatial Consortium-OGC)】为上面讲过的数据源设计了一些服务比如WMS、WMTS、WFS 等等。

在GIS的Web应用中,无论原始数据存在文件里也好,还是存在数据库里也好,都可以利用这些标准的地图服务在网络中通过http(s)协议进行访问共享。一般GIS大厂的Server产品或开源的GIS Server(比如 GeoServer)都支持发布这些地图服务。

WMS(Web Map Service)

该服务的最主要能力就是将GIS数据(无论原始数据是矢量数据还是栅格数据)发布成“图片”。即根据客户端请求参数(主要是bbox范围),服务器端返回相应的“图片”。

WMS常用的三种操作:

• GetMap:根据请求参数,返回一个图片

• GetFeatureinfo:根据请求参数里的坐标,返回查询到的对象属性信息

• GetCapabilities:返回服务的元数据

将“站点”、“铁路”、“湖泊”数据发布成WMS服务,则可以通过WMS服务根据bbox范围请求相应数据渲染后的地图图片。绝大部分的地图应用前端库对WMS服务都有相应图层支持。

WMS 有时又被称为“动态”地图服务,服务器会从客户端发出请求的参数(比如图层名称、BBox范围内)去数据库或文件中检索查询相应范围的数据,然后再根据配置的样式渲染成图片,最终返回给客户端。

如果客户端请求频发或并发请求高,地图图层包含的数据量又非常庞大、配置的样式复杂时,服务端承担的负载就会增大。因此,后来又发展出了地图瓦片缓存机制。简单说就是按一定的规则把“渲染”后的地图图片存放在服务器上,当客户端再次调用时服务端就直接返回“缓存”的图片,不用再次“动态”渲染,所以就有了地图瓦片服务。

地图瓦片服务

地图瓦片指将一定范围内的地图按照一定的尺寸和格式,按缩放级别或者比例尺,切成若干行和列的正方形栅格图片,对切片后的正方形栅格图片被形象的称为瓦片(tile)。

瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。

Google 地图采用的 Web Mecator 投影和瓦片分级切割方案,也成为目前互联网地图事实上的标准。

WMTS(Web Map Tile Service)

WMTS是一种OGC定义的地图瓦片服务标准,WMTS 是 OGC 提出的缓存技术标准,即在服务器端缓存被切割成一定大小瓦片的地图,对客户端只提供这些预先定义好的单个瓦片的服务,将更多的数据处理操作如图层叠加等放在客户端,从而缓解 GIS 服务器端数据处理的压力。

与之对应的还有Google Tile、 OSGeo 的 TMS(Tile Map Service)等等,虽然各个规范有所不同,但基本上都可以在uearth API中尝试使用 TileLayer 加载这些地图瓦片服务。

如何在低代码加载使用这些数据?可以将湖泊、铁路等数据利用GeoServer分别发布成为WMTS和TMS地图服务,在低代码ThingJS在线开发利用 uearth API 的 TileLayer 进行加载。

无论是WMS服务还是地图瓦片(切片)服务,最终调用的都是“图片”而不是数据本身。虽然浏览器几乎没有渲染的压力,但是样式不够灵活,只能在低代码ThingJS中调整整体图片的效果,不方便效果调整(如果调整了服务端的地图样式配置又需要重新切片)。所以又有了WFS服务来直接的提供对矢量数据的操作。

WFS(Web Feature Service)

WFS为客户端提供了操作矢量数据的能力,除了返回查询数据外,还提供了新增、修改、删除数据的标准接口。意思是所看到的是要素是矢量图形,而不是一张图片。

矢量图形和图片要素的区别是不会随着放大程度的改变而失真,矢量要素方便交互和编辑、修改形状等。

如何在低代码加载使用这些数据?

利用 GeoServer 将数据(如铁路)发布成WFS服务直接在前端进行查询,返回结果后(一般为geojson格式),用 ThingJS/uearth 相关 API 进行绘制。

 

工具推荐

森城市:一键生成3D城市,内置多种模板,自由编辑

• 森城市目前提供全国范围内110多个城市的标准三维场景的构建服务,使城市三维场景的构建速度提升至分钟级。

• 森城市支持不同类型城市数据的插入和自动融合,并提供友好而强大的场景编辑能力和性能处理能力,无需具备GIS、建模等专业技能,就可以轻松DIY自己的酷炫城市三维场景。

• 森城市具备开放的城市场景输出能力,无需担心场景后续使用的兼容问题。

低代码ThingJS:低代码灵活开发数字孪生可视化应用

• 低代码ThingJS提供了丰富的3D开发API、完善的开发文档和视频教程,熟悉基础的JavaScript前端知识即可上手数字孪生可视化应用开发。

• 低代码ThingJS是纯H5的WebGL架构,可在各类主流网页浏览器中自如运行,包括可在移动端直接访问运行。

• 低代码ThingJS提供全生命周期的开发组件,大大提升数字孪生可视化项目开发效率。

GIS shape文件之中国数据库 SHAPEFILE_OF_CHINA ..................\Lambert ..................\.......\chinamap.mxd ..................\.......\hillshade_10k ..................\.......\.............\dblbnd.adf ..................\.......\.............\hdr.adf ..................\.......\.............\metadata.xml ..................\.......\.............\prj.adf ..................\.......\.............\sta.adf ..................\.......\.............\vat.adf ..................\.......\.............\w001001.adf ..................\.......\.............\w001001x.adf ..................\.......\hillshade_10k.aux ..................\.......\hillshade_10k.rrd ..................\.......\info ..................\.......\....\arc.dir ..................\.......\....\arc0000.dat ..................\.......\....\arc0000.nit ..................\.......\....\arc0001.dat ..................\.......\....\arc0001.nit ..................\.......\....\arc0002.dat ..................\.......\....\arc0002.nit ..................\.......\....\arc0002r.001 ..................\.......\中国县界.dbf ..................\.......\中国县界.prj ..................\.......\中国县界.sbn ..................\.......\中国县界.sbx ..................\.......\中国县界.shp ..................\.......\中国县界.shx ..................\.......\中国地州界.dbf ..................\.......\中国地州界.prj ..................\.......\中国地州界.sbn ..................\.......\中国地州界.sbx ..................\.......\中国地州界.shp ..................\.......\中国地州界.shx ..................\.......\中国湖泊.dbf ..................\.......\中国湖泊.prj ..................\.......\中国湖泊.sbn ..................\.......\中国湖泊.sbx ..................\.......\中国湖泊.shp ..................\.......\中国湖泊.shp.xml ..................\.......\中国湖泊.shx ..................\.......\主要公路.dbf ..................\.......\主要公路.prj ..................\.......\主要公路.sbn ..................\.......\主要公路.sbx ..................\.......\主要公路.shp ..................\.......\主要公路.shx ..................\.......\主要河流.dbf ..................\.......\主要河流.prj ..................\.......\主要河流.sbn ..................\.......\主要河流.sbx ..................\.......\主要河流.shp ..................\.......\主要河流.shx ..................\.......\主要铁路.dbf ..................\.......\主要铁路.prj ..................\.......\主要铁路.sbn ..................\.......\主要铁路.sbx ..................\.......\主要铁路.shp ..................\.......\主要铁路.shx ..................\.......\全国县级统计数据.dbf ..................\.......\全国县级统计数据.prj ..................\.......\全国县级统计数据.sbn ..................\.......\全国县级统计数据.sbx ..................\.......\全国县级统计数据.shp ..................\.......\全国县级统计数据.shp.xml ..................\.......\全国县级统计数据.shx ..................\.......\县城驻地.dbf ..................\.......\县城驻地.prj ..................\.......\县城驻地.sbn ..................\.......\县城驻地.sbx ..................\.......\县城驻地.shp ..................\.......\县城驻地.shx ..................\.......\国界线.dbf ..................\.......\国界线.prj ..................\.......\国界线.sbn ..................\.......\国界线.sbx ..................\.......\国界线.shp ..................\.......\国界线.shp.xml ..................\.......\国界线.shx ..................\.......\地级城市驻地.dbf ..................\.......\地级城市驻地.prj ..................\.......\地级城市驻地.sbn ..................\.......\地级城市驻地.sbx ..................\.......\地级城市驻地.shp ..................\.......\地级城市驻地.shx ..................\.......\省会城市.dbf ..................\.......\省会城市.prj ..................\.......\省会城市.sbn ..................\.......\省会城市.sbx ..................\.......\省会城市.shp ..................\.......\省会城市.shx ..................\.......\省级行政区.dbf ..................\.......\省级行政区.prj ..................\.......\省级行政区.sbn ..................\.......\省级行政区.sbx ..................\.......\省级行政区.shp ..................\.......\省级行政区.shx ..................\.......\线状县界.dbf ..................\.......\线状县界.prj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值