【openlayers系统学习】00官网的Workshop介绍

00Workshop介绍

官方文档:https://openlayers.org/workshop/en/

openlayers官网Workshop学习。

通过官网Workshop,系统学习openlayers的使用。

基本设置

这些说明假定您从最新Workshop版本的 openlayers-workshop-en.zip​ 文件开始。此外,您还需要安装Node v16或更高版本才能为Workshop运行开发服务器。

资料下载地址:https://github.com/openlayers/workshop/releases

解压压缩包后,切换到 openlayers-workshop-en​ 目录并安装一些额外的依赖项:

npm install

现在您已经准备好启动workshop开发服务器了。除了为OpenLayers库提供一个模块编译器之外,它还提供了workshop开文档。

npm start

这将启动一个开发服务器,您可以在其中阅读研讨会文档并完成练习。您应该能够通过在http://localhost:5173/上看到弹出的警报来确认事情正在工作。

image

还可以在http://localhost:5173/doc/上阅读Workshop文档。(文档是英文的)

image

Overview 概述

该Workshop是作为一套模块提出的(模块化的)。在每个模块中,您将执行旨在实现该模块特定目标的任务。每个模块都建立在以前模块中学到的经验教训的基础上,旨在迭代地建立您的知识库。

本次Workshop将涵盖以下模块:

  • 基础—了解如何将地图添加到网页。
  • 1.矢量数据—使用矢量数据。
  • 2.移动的地图和传感器—带GPS和指南针的移动的地图。
  • 3.GeoTIFF渲染—从GeoTIFF源生成和可视化数据切片。
  • 4.矢量瓦片和地图框样式—创建美丽的地图矢量瓦片 。
  • 5.WebGL点渲染—使用WebGL渲染点。
  • 7.部署—为生产构建应用程序。

1、矢量数据

在本模块中,将创建一个用于处理矢量数据的基本编辑器。功能包括让用户可以导入数据,绘制新的功能,修改现有的功能,并导出结果。我们将在本模块中使用GeoJSON数据,但如果您对使用其他源感兴趣,OpenLayers支持广泛的矢量格式。

1.1 渲染GeoJSON。介绍如何使用OpenLayers加载和渲染GeoJSON数据,并添加Link交互功能以保持地图视图稳定。
1.2交互-拖放文件.通过创建矢量源和图层,并配置拖放交互,用户可以将GeoJSON文件拖放到地图上进行渲染查看。
1.3交互-修改要素(features)。通过创建Modify交互对象并连接到矢量源,用户可以通过拖动要素的顶点来修改要素。
1.4 交互-绘制新要素。通过创建Draw交互对象并配置为绘制多边形,并将绘制的要素添加到矢量源中,用户可以在地图上绘制新的几何图形。
1.5交互-捕捉要素。通过配置Snap交互操作与矢量源一起工作,并添加到地图中,用户可以在编辑数据时捕捉要素的端点或交点,从而保持拓扑关系。
1.6下载要素,将要素数据序列化为 GeoJSON并下载。通过序列化要素数据为GeoJSON格式,并创建带有download属性的 <a>标签来触发文件下载对话框。同时,添加清除功能按钮以清除地图上的要素。
1.7美化map,使用样式类(设置style)。介绍了如何在OpenLayers中为要素添加样式,包括静态样式和动态样式。通过配置矢量图层的样式选项,可以控制要素的填充颜色、描边颜色等。此外,还介绍了根据几何区域面积来确定颜色的样式函数的实现方法。

2、移动端地图和使用手机传感器

3、GeoTIFF渲染

3.1-3.2彩色GeoTIFF图像渲染。 介绍了如何在OpenLayers中渲染Sentinel-2卫星任务收集的真彩色GeoTIFF图像。通过使用ol/source/GeoTIFF和ol/layer/WebGLTile组件,可以加载和渲染远程托管的GeoTIFF文件。通过配置地图视图的投影和范围,以及使用GeoTIFF源的getView()方法获取视图属性的promise,可以简化代码并实现更高效的地图渲染。
  ‍

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

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

相关文章

继“三级淋巴结”之后,再看看“单细胞”如何与AI结合【医学AI|顶刊速递|05-25】

小罗碎碎念 24-05-25文献速递 今天想和大家分享的是肿瘤治疗领域的另一个热点——单细胞技术&#xff0c;我们一起来看看&#xff0c;最新出炉的顶刊&#xff0c;是如何把AI与单细胞结合起来的。 另外&#xff0c;今天是周末&#xff0c;所以会有两篇文章——一篇文献速递&…

【LeetCode:2769. 找出最大的可达成数字 + 模拟】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

C++—数组

数组是由一批相同类型的元素&#xff08;element&#xff09;的集合所组成的数据结构&#xff0c;分配一块连续的内存来存储。 语法&#xff1a; <数据类型> <数组名>[<数组长度>]; 数据类型&#xff1a;数组内存放的数据类型&#xff0c;如int、char&…

高仿百度网页(附带源码)

高仿百度网页 效果图部分源码及素材领取源码下期更新预报 效果图 部分源码及素材 <script language"javascript">function show_date_time() {window.setTimeout("show_date_time()", 1000);BirthDay new Date("1/20/2023 16:52:21");//…

Mongodb分布式id

1、分布式id使用场景 分布式ID是指在分布式系统中用于唯一标识每个元素的数字或字符串。在分布式系统中&#xff0c;各个节点或服务可能独立运行在不同的服务器、数据中心或地理位置&#xff0c;因此需要一种机制来确保每个生成的ID都是全局唯一的&#xff0c;以避免ID冲突。 …

FreeRTOS 源码概述

FreeRTOS 目录结构 使用 STM32CubeMX 创建的 FreeRTOS 工程中&#xff0c;FreeRTOS 相关的源码如下: 主要涉及2个目录&#xff1a; Core Inc 目录下的 FreeRTOSConfig.h 是配置文件 Src 目录下的 freertos.c 是 STM32CubeMX 创建的默认任务 Middlewares\Third_Party…

FreeRTOS任务间通信“IPC”

---------------信号量--------------- 信号量的定义&#xff1a; 操作系统中一种解决问题的机制&#xff0c;可以实现 “共享资源的访问” 信号&#xff1a;起通知作用量&#xff1a;还可以用来表示资源的数量当"量"没有限制时&#xff0c;它就是"计数型信…

Java 登录错误次数限制,用户禁登1小时

手机号验证码登录&#xff0c;验证码输入错误次数超5次封禁 Overridepublic boolean checkCaptcha(String phoneNum, String captcha) {String codeNum (String) redisTemplate.opsForValue().get(UserCacheNames.USER_CAPTCHA phoneNum);if (codeNum null) {throw new Wan…

[数据集][目标检测]风力涡轮机缺陷检测数据集VOC+YOLO格式2992张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2992 标注数量(xml文件个数)&#xff1a;2992 标注数量(txt文件个数)&#xff1a;2992 标注…

利用Axure模板快速设计,可视化大屏信息大屏,含近200例资源和各类部件

模板类别&#xff1a; **通用模板&#xff1a;**提供基础的布局和设计元素&#xff0c;适用于各种场景。 **行业特定模板&#xff1a;**如农业、医院、销售、能源、物流、政府机关等&#xff0c;针对不同行业提供专业模板。 **数据展示模板&#xff1a;**包括大数据驾驶舱、统…

【Vue】computed 和 methods 的区别

概述 在使用时&#xff0c;computed 当做属性使用&#xff0c;而 methods 则当做方法调用computed 可以具有 getter 和 setter&#xff0c;因此可以赋值&#xff0c;而 methods 不行computed 无法接收多个参数&#xff0c;而 methods 可以computed 具有缓存&#xff0c;而 met…

makefile 编写规则

1.概念 1.1 什么是makefile Makefile 是一种文本文件&#xff0c;用于描述软件项目的构建规则和依赖关系&#xff0c;通常用于自动化软件构建过程。它包含了一系列规则和指令&#xff0c;告诉构建系统如何编译和链接源代码文件以生成最终的可执行文件、库文件或者其他目标文件…

I.MX6ULL Linux C语言开发环境搭建(点灯实验)

系列文章目录 I.MX6ULL Linux C语言开发 I.MX6ULL Linux C语言开发 系列文章目录一、前言二、硬件原理分析三、构建步骤一、 C语言运行环境构建二、软件编写三、链接脚本 四、实验程序编写五、编译下载验证 一、前言 汇编语言编写 LED 灯实验&#xff0c;但是实际开发过程中汇…

二叉排序树的创建

二叉排序树就是节点经过排序构建起的二叉树&#xff0c;其有以下性质&#xff1a; 1. 若它的左子树不为空&#xff0c;则左子树上所有节点的值均小于它的根节点的值。 2. 若它的右子树不为空&#xff0c;则右子树上所有节点的值均大于它的根节点的值。 3. 它的左、右子树也分…

Golang并发编程-协程goroutine任务取消(Context)

文章目录 前言一、单个任务的取消二、 所有任务取消三、Context的出现Context的定义Context使用 总结 前言 在实际的业务种&#xff0c;我们可能会有这么一种场景&#xff1a;需要我们主动的通知某一个goroutine结束。比如我们开启一个后台goroutine一直做事情&#xff0c;比如…

探索Python编程乐趣:制作气泡反弹小游戏

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;Python编程的轻松入门 二、游戏实现原理&#xff1a;气泡反弹的逻辑 …

Linux|如何在 awk 中使用流控制语句

引言 当您从 Awk 系列一开始回顾我们迄今为止介绍的所有 Awk 示例时&#xff0c;您会注意到各个示例中的所有命令都是按顺序执行的&#xff0c;即一个接一个。但在某些情况下&#xff0c;我们可能希望根据某些条件运行一些文本过滤操作&#xff0c;这就是流程控制语句的方法。 …

【MyBatis】MyBatis解析全局配置文件源码详解

目录 一、前言 思维导图概括 二、配置文件解析过程分析 2.1 配置文件解析入口 2.2 初始化XMLConfigBuilder 2.3 XMLConfigBuilder#parse()方法&#xff1a;解析全局配置文件 2.3.1 解析properties配置 2.3.2 解析settings配置 2.3.2.1 元信息对象&#xff08;MetaClas…

结构型模式之桥接模式

文章目录 概述原理结构图代码示例 小结 概述 桥接模式(bridge pattern) 的定义是&#xff1a;将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。 桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联来取代传统的多层继承,将类之间的静态继承关系转…

oracle数据库无法连接问题排查

查看数据库告警日志如下图。发现问题时间段&#xff0c;没有数据库服务故障报错&#xff0c;但是存在较多TNS-12535、12560、12170、00505错误&#xff1a; 通过检查问题时间段应用日志&#xff0c;也记录了Caused by:java.sql.SQLRecoverableException: IO 错误: Connection r…