GIS中常用地图及其特点
前言
在进行WebGIS开发的时候,最基本的就是加载底图,底图因为数据量大,要素较多,往往通过人工绘制,所以成本都会很高,所以一般的公司都不会自己去建立自己的底图库,当然,现在也有一些自动化测图技术,这一方面我倒是没有研究过,有机会可以仔细的研究下相关的技术。
1.Cesium使用天地图、高德地图、ArcGIS切片地图 (这里有加载高德天地图和ArcGIS切片地图的示例)
2.gis地图数据获取91卫图免费获取方法
3.干货!精华!多种你不知道的瓦片图层
1.天地图
因为我曾经在浙江一家生产天地图数据的单位里工作,所以用的最多的,使用时间最久的也是天地图,特别是浙江天地图。刚开始,浙江天地图都是免费的,但是后来改革之后,再次引用变得非常的麻烦,要进行申请,以公司的名义到浙江省地理信息公共服务平台进行申请,而且申请的入口非常的难找,当然数据也是相较于国家天地图来说要更加的精细,因为国家天地图只到18级,而浙江天地图可以达到20级。国家天地图可以到国家天地图官网上申请,需要一个tk参数。
天地图的WMTS加载方法:
1 | var TDU_Key = "" //天地图申请的密钥 |
1.天地图服务地址
2.openlayers加载天地图
3.openlayers加载百度地图和天地图在线地图 这个和我以前的加载方式有点不同,现在的地址,变成了统一的 DataServer 服务了,不再是使用wmts服务加载了。
4.天地图默认为卫星图包括地名标记方法,天地图添加各类注记或图层方法 这里有各个图层的名称介绍
问题
(1) 请求跨域问题
当我请求 :https://t1.tianditu.com/DataServer?T=cva_w&x=0&y=0&l=1&tk=633ab2a001dcfa85f77d445dd7e873c2
天地图注记的时候,出现了跨域问题。
【解决方法】
我花了很长的时间解决这个问题,尝试了各种方法,使用了nginx进行代理,但是最后还是没有成功,简直崩溃了,最后的解决方法,竟然是将 t1.tianditu.com 换成 t0.tianditu.gov.cn 就可以了,简直吐血。
关键的问题是,我以前的请求都是用的gov.cn,不知道在这个程序中,怎么写成了com域名,简直操蛋,白瞎了我一个下午的研究。
(2) 设置负载均衡问题
在使用天地图的底图的时候,竟然出现了跨域问题,这让我不得不设置代理才可以了。
1 | # 负载均衡 |
当我如上配置的时候,我请求:”/tdt/DataServer?T=vec_w&x=13&y=5&l=4&tk=63”,总是会出现 404 错误:
但是我配置了 具体的域名,之后就可以请求成功了,我始终找不出问题所在的原因,明明逻辑上就没有问题啊,参考文章中,也是类似设置的,但是最后还是错误。
1 | location /tdt/ { |
1.詳解nginx代理天地圖做快取解決跨域問題
【问题一】
后来我尝试加上了 proxy_set_header Host ,就算是加上了 http://t0.tianditu.com/ 也会出现 404页面,只有不加proxy_set_header Host,并且proxy_pass 为 t0.tianditu.com/ 某一个具体的域名的时候,才不会出现404错误。
1 | location /tdt/ { |
【问题二】
当我配置为: proxy_set_header Host $proxy_host; 时,可以正常的请求。
2.ArcGIS
ArcGIS也提供了一些可用的底图,比如暗夜底图,这个比较常用于一个大屏数据展示类的应用中,虽然只有一个全球的,但是配上一些酷炫的闪动,也还是不错的,下面的就是使用openlayer加载的arcgis的暗色系底图
1 | new ol.layer.Tile({ |
参考文章
1.基于OpenLayers的萤火图效果 (这个作者很牛的,虽然不知道多大了,但是对ArcGIS、postgis、openlayers等应该非常的了解和熟悉)
2.openlayers6地图全图以及框选截图导出功能(附源码下载) (这个是在暗色系的底图上实现了截图导出的功能)
3.ChinaOnlineStreetGray (MapServer)
3.OpenStreetMap
OpenStreetMap是一个免费的地图服务,矢量地图在中国区域,精细程度,我觉得还可以,速度上也还是蛮不错的。基于OpenStreetMap可以做很多的事情,比如:maperitive,可以对OpenStreetMap的数据样式进行自定义。
1.openstreetmap
2.GeoServer发布OSM地图
3.openmaptiles OpenMapTiles 是一个基于 OpenStreetMap 的可扩展和开放的瓦片模式。该项目用于为在线可缩放地图生成矢量切片。 OpenMapTiles 是关于使用包含地形信息的通用图层创建漂亮的底图。
4.智图地图
这是一个商业地图公司,提供了相应的地图产品,根据地图的地址来看,其实也就是做了一个Esri地图的在发布罢了。
1 | Map: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}", |
4.Mapbox地图
mapbox除了提供 mapbox-gl-js 的地图引擎之外,其实也自带了地图。
5.Carto
Use a quality basemap for your maps & applications, visualizing vector & raster data with clarity & precision. Take your cartography to new levels.为您的地图和应用程序使用优质底图,以清晰和精确的方式可视化矢量和栅格数据。将您的制图提升到新的水平.
1 | import 'ol/ol.css'; |
1.Basemaps
2.[Leaflet] CartoDB Basemaps 地圖風格集
3.CartoDB source example
4.CARTO basemap styles 官方的加载不同样式的代码
5.5-min Quick Start of maptalks.js
6.maptiler
maptiler提供了矢量服务,可以自定义地图的样式。
1 | https://api.maptiler.com/maps/basic/style.json?key=pSHUA9sSkNny3iqoWG4P |
7.谷歌地图
图片请求路径,我在一个群里搜集的。
1 | https://gac-geo.googlecnapps.cn/maps/vt?lyrs=s&x={x}&y={y}&z={z} |
8.stamen
stamen For over a decade, Stamen has been exploring cartography with our clients and in research. These maps are presented here for your enjoyment and use wherever you display OpenStreetMap data.
9.高德地图
1 | http://wprd0{1-4}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=7 为矢量图(含路网、含注记) |
10.遥感影像
1.卫星遥感影像数据免费下载网站整理 1.综合遥感数据。2.雷达遥感数据。3.夜光遥感数据。4.海洋卫星数据。
2.全国5M分辨率卫星遥感影像免费下载方法(附最新下载地址)
3. 免费遥感影像数据下载网址汇总-2022年6月更新 1.地理空间数据云。2.中国资源卫星数据服务网。3.风云卫星遥感数据服务网。4.对地观测数据共享服务网。5.综合性免费数据下载网站。6.Sentinel系列数据共享网站。7.MODIS数据。8.ASAR数据下载。9.全球SRTM地形数据下载网。10.ALOS World 3D。11.DMSP数据下载网站
4.如何浏览与下载全球免费的地图高分辨率(亚米级)的遥感影像?