openlayers 入门教程(五):sources 篇

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

在这里插入图片描述

No.内容链接
1Openlayers 【入门教程】 - 【源代码+示例300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3Cesium 【入门教程】 - 【源代码+图文示例200+】
4MapboxGL【入门教程】 - 【源代码+图文示例150+】
5前端就业宝典 【面试题+详细答案 1000+】

在这里插入图片描述

文章目录

    • 一、Sources的一些数据类型
      • ol/layer/Tile 可加载的数据源
      • ol/layer/Image可加载的数据源
      • ol/layer/Vector 可加载的数据源
    • 二、关于数据源的一些方法
    • 三、示例
      • 加载开源地图瓦片
      • 加载网络地图服务瓦片
      • 加载矢量数据源
      • 加载单幅图像 WMS 服务
      • 加载静态图像
    • 四、Openlayers 入门教程 -系列文章列表


Source按照字面意思就是数据源。在Openlayer中,简单理解就是在使用layers(图层)时,不同的图层需要传入不同的数据类型,才能渲染地图。 它们需要的数据格式都是通过Source定义好的,我们只需要把现有的数据,按照规定传入数据源中,就不需要关心其他操作。

在这里插入图片描述

一、Sources的一些数据类型

ol/layer/Tile 可加载的数据源

• ol.source.BingMaps Bing 地图图块数据的图层源。
• ol.source.CartoDB CartoDB Maps API 的图层源。
• ol.source.MapQuest MapQuest 提供的切片数据。
• ol.source.Stamen Stamen 提供的地图切片数据。
• ol.source.Tile 提供被切分为网格切片的图片数据。
• ol.source.TileVector 被切分为网格的矢量数据。
• ol.source.TileDebug 并不从服务器获取数据。
• ol.source.TileImage 提供切分成切片的图片数据。
• ol.source.TileUTFGrid TileJSON 格式 的 UTFGrid 交互数据。
• ol.source.TileJSON TileJSON 格式的切片数据。
• ol.source.TileArcGISRest ArcGIS Rest 服务提供的切片数据。
• ol.source.WMTS WMTS 服务提供的切片数据。
• ol.source.Zoomify Zoomify 格式的切片数据。
• ol.source.OSM OpenStreetMap 提供的切片数据。
• ol.source.XYZ 具有在 URL 模板中定义的一组 XYZ 格式的 URL 的切片数据的图层源。

ol/layer/Image可加载的数据源

• ol.source.Image 提供单一图片数据的类型。
• ol.source.ImageCanvas 数据来源是一个 canvas 元素,其中的数据是图片。
• ol.source.ImageMapGuide Mapguide 服务器提供的图片地图数据。
• ol.source.ImageStatic 提供单一的静态图片地图。
• ol.source.ImageVector数据来源是一个 canvas 元素,但是其中的数据是矢量来源。
• ol.source.ImageWMS WMS 服务提供的单一的图片数据。

ol/layer/Vector 可加载的数据源

• ol.source.Cluster 聚簇矢量数据。
• ol.source.Vector 提供矢量图层数据。

二、关于数据源的一些方法

通过layer获取数据源

layer.getSource()

给source添加单个feature

source.addFeature(feature)

清空source内容

source.clear()

给source添加多个feature

source.addFeatures([feature1,feature2,xxx])

通过source获取所有属性

source.getProperties()

判断source类型

if (source instanceof VectorSource){}

三、示例

加载开源地图瓦片

示例:加载OpenStreetMap地图

加载网络地图服务瓦片

示例:加载XYZ地图

加载矢量数据源

示例:加载中国边界JSON数据

加载单幅图像 WMS 服务

示例:通过geoserver发布,加载单图的wms数据

加载静态图像

示例:加载静态图片,变成地图一部分

四、Openlayers 入门教程 -系列文章列表

  • openlayers 入门教程(一):应该如何学习openlayers
  • openlayers 入门教程(二):Map 篇
  • openlayers 入门教程(三):View 篇
  • openlayers 入门教程(四):Layers 篇
  • openlayers 入门教程(五):Sources 篇
  • openlayers 入门教程(六):Controls篇
  • openlayers 入门教程(七):Interactions篇
  • openlayers 入门教程(八):Geom 篇
  • openlayers 入门教程(九):Overlay 篇
  • openlayers 入门教程(十):Style 篇
  • openlayers 入门教程(十一):Formats篇
  • openlayers 入门教程(十二):定位与轨迹
  • openlayers 入门教程(十三):动画
  • openlayers 入门教程(十四):第三方插件
  • openlayers 入门教程(十五):与 canvas、echart,turf 等交互

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/488746.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Memcached分布式内存对象数据库

一 Memcached 概念 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 二 在架构中的位置 Memcached 处于前端或中间件后…

Vue 发送Ajax请求多种方式

1. 发送ajax请求的方式 方案一:jq 的ajax(在 vue 中不推荐同时使用)方案二:js 原始官方 fetch方法方案三:axios 第三方 2. 方案一 后端视图函数 from rest_framework.viewsets import ViewSet from rest_framework…

UE4 根据任意多个点,生成最近的线条

1.计算所有线条的组合 2.Clear0宏:清除掉数组Distance0的值。注意这里是设置成最大值,而不是使用Clear! 3.清除掉数组中的最小值,避免重复生成相同长度的线条。注意这里是设置成最大值,而不是使用Clear! …

python爬虫基础-----运算符(第三天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

GitHub加速访问最简单的方法

Github是全球最大的代码开源平台,对于编程的小伙伴来说,这是一个巨大的宝库,也是编程学习的圣地。很对小伙伴在使用GitHub时会经常出现无法访问Github的情况。 一、解决方法——>修改hosts文件 通过 IP查询工具来获取当前Github网站的真实…

全民采矿石赚钱小程序源码,附带详细搭建教程

安装教程 1、环境用宝塔Nginxphp7.0或者以下版本 2、可以更换各种模板,懂代码和标签的可以改模板,不懂的可以直接上站 3、上站前记得添加关键词和内容库 4、伪静态在绑定完百度站长之后再添加 目录说明: data/keyword 放关键词 标签&#xff…

【扩散模型】论文精读:Denoising Diffusion Probabilistic Models(DDPM)

文章目录 前言Abstract1 Introduction2 Background3 Diffusion models and denoising autoencoders3.1 Forward process and LT3.2 Reverse process and L1:T −13.3 Data scaling, reverse process decoder, and L03.4 Simplified training objective 4 Experiments4.1 Sample…

C语言: 指针讲解

为什么需要指针? (1)指针的使用使得不同区域的代码可以轻易的共享内存数据。当然你也可以通过数据的复制达到相同的效果,但是这样往往效率不太好,因为诸如结构体等大型数据,占用的字节数多,复制很消耗性能…

Linux-进程控制(进程创建、进程终止、进程等待)

一、进程创建 1.1 fork函数介绍 在命令行下我们可以通过 ./ exe文件 来创建一个进程,通过fork函数,我们可以通过代码的形式从一个进程中创建一个进程,新进程为子进程,原进程为父进程,子进程在创建时,会与…

软件项目-详细设计说明书范文参考(46页Word原件)

一、 关于本文档 (一) 编写目的 (二) 预期读者 二、 项目概要 (一) 建设背景 (二) 建设目标 (三) 建设内容 三、 总体设计 (一&#xff0…

git基础-撤销操作

撤销操作 在任何阶段,我们都可能希望撤消某些操作。在这里,我们将回顾一些基本工具,用于撤消之前所做的更改。操作要谨慎,因为这些撤销可能无法修复。这是 Git 中为数不多的几个领域之一由于操作不当,导致丢失一些工作…

一篇文章,告别Flutter状态管理争论,问题和解决

起因 每隔一段时间,都会出现一个新的状态管理框架,最近在YouTube上也发现了有人在推signals, 一个起源于React的状态管理框架,人们总是乐此不疲的发明各种好用或者为了解决特定问题而产生的方案,比如Bloc, 工具会推陈出新&#x…

JavaParser 手动安装和配置

目录 前言 一、安装 Maven 工具 1.1 Maven 软件的下载 1.2 Maven 软件的安装 1.3 Maven 环境变量配置 1.4 通过命令检查 Maven 版本 二、配置 Maven 仓库 2.1 修改仓库目录 2.2 添加国内镜像 三、从 Github 下载 JavaParser 3.1 下载并解压 JavaParser 3.2 从路径打…

手摸手教你安装使用nvm(简单明了)

1.nvm定义 (node.js version management) nvm是node版本管理工具,通过nvm可以安装和切换不同版本的node.js 2.卸载之前安装的node 打开系统的控制面板,点击卸载程序,卸载nodejs 提示:如果你没有安装过…

【使用postman发送post请求】

1)post http://ip:8090/version?appVersion1.0.0&channelgoogle&platformandroid&deviceId90991c4465e1886a81b00dac855fe098&notice1 这样子选择json格式提交数据,可读性强 好处: 1.最大的好处莫过于我可以记录下来曾经做…

使用easyYapi生成文档

easyYapi生成文档 背景1.安装配置1.1 介绍1.2 安装1.3 配置1.3.1 Export Postman1.3.2 Export Yapi1.3.3 Export Markdown1.3.4 Export Api1.3.6 常见问题补充 2. java注释规范2.1 接口注释规范2.2 出入参注释规范 3. 特定化支持3.1 必填校验3.2 忽略导出3.3 返回不一致3.4 设置…

智慧医疗包括哪些方面?智慧医疗发展前景如何?

近年来,随着云计算、物联网(internet of things,IOT)、移动互联网、大数据、人工智能(artificial intelligence,AI)、5G网络、区块链等新一代信息技术的逐步成熟和广泛应用,信息化已…

HTML(二)

一、表格标签 1.1表格的主要作用 表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 1.2 表格的…

外地报医保怎么备案?异地就医备案流程是什么?

外地医疗保险如何办理? 外地医疗保险备案的具体流程可能因地区和医疗保险政策的不同而有所不同,但一般来说,可以通过以下方式进行备案: 1、网上备案:不少地区已经推出网上备案服务,可以通过当地医保局官网…

SQLServer SEQUENCE用法

SEQUENCE:数据库中的序列生成器 在数据库管理中,经常需要生成唯一且递增的数值序列,用于作为主键或其他需要唯一标识的列的值。为了实现这一功能,SQL Server 引入了 SEQUENCE 对象。SEQUENCE 是一个独立的数据库对象,用…