《水经注地图服务》发布的卫星影像数据在OpenLayers中调用

news2024/12/25 8:54:05

OpenLayers是一个用于开发WebGIS客户端的JavaScript包。

OpenLayers 支持的地图来源包括Google Maps、Yahoo、 Map、微软Virtual Earth 等,用户还可以用简单的图片地图作为背景图,与其他的图层在OpenLayers 中进行叠加,在这一方面OpenLayers提供了非常多的选择。

除此之外,OpenLayers实现访问地理空间数据的方法都符合行业标准。

OpenLayers 支持Open GIS 协会制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等网络服务规范,可以通过远程服务的方式,将以OGC 服务形式发布的地图数据加载到基于浏览器的OpenLayers 客户端中进行显示。

因此,OpenLayers是一个非常优秀的适合用于WeGIS二次开发的平台。

准备工作

在开始之前,需要先准备离线数据发布软件、离线卫星影像示例数据、OpenLayers开发源码和本机IP地址等。

地图发布软件:需要在内网发布离线卫星影像,请确保地图发布服务中间件版本为4.2.1以上并完成地图的发布,如果低于该版本,请通过关注公号“水经注GIS”并回复“WeServer”免费获取最新版本安装包,也可以直接在官网下载。

离线示例数据:本文提供的离线示例数据包括墨卡托投影和WGS84投影的卫星影像与地名标签数据,由于这里主要是为了进行功能性演示,因此只提示前10级影像数据。

图片

卫星影像示例数据

在安装软件之前,请从以下地址下载示例数据(如果链接失效请联系我们获取)。

链接:https://pan.baidu.com/s/1F8l8c0xn2SeeJuFfNqKvfQ?pwd=alcs

OpenLayers开发源码:开源OpenLayers源码可以从OpenLayers官网下载最新版,但由于国外网站访问非常慢,因此也可以通过关注公号“水经注GIS”并回复“OpenLayers”获取OpenLayers开发源码文件。

本机IP地址:由于会用到本机IP作为访问地址,可以通过在DOS窗口中运行“IPConfig”命令或其它方式获取本机IP地址以备用,如下图所示。

图片

获取本机IP地址

部署OpenLayers源码网站

OpenLayer源码解压之后,如下图所示。

图片

OpenLayers源码目录

在Windows控制面板中打开“管理工具”,如下图所示。

图片

管理工具

打开IIS网站管理器,如下图所示。

图片

打开IIS

在“网站”树节点单击鼠标右键,然后选择“添加网站”菜单,如下图所示。

图片

添加网站

网站名称可以任意取,这里我们取名为“OpenLayers”,物理路径为OpenLayers源码所在路径,并将端口号设置为默认值“80”,如下图所示。

图片

配置网站参数

配置完成之后点击“确定”按钮之后完成网站配置,如下图所示。

图片

完成配置

在浏览器中打开网址“http://127.0.0.1/examples”可以浏览配置好的网站,并可以查看相关文档、示例与API等,如下图所示。

图片

OpenLayers本地网站

在OpenLayers页面中点击“Bing Maps”,可以打开BingMaps在线调用示例并查看代码,如下图所示。

图片

BingMaps示例

至此,一个部署到本地的OpenLayers系统就完成了,你可以根据自己的需求,再结合在线示例开发一个WebGIS系统。接下来我们会讲解如何将本地离线的谷歌卫星影像与地名标签在OpenLayers中加载显示。

WGS84卫星影像的内网离线加载显示

在OpenLayers目录中新建“SampleForWGS84.html”网站页面文件,如下图所示。

图片

新建页面文件

在“SampleForWGS84.html”网站页面文件中添加卫星影像与地名标签加载代码,如下图所示。

图片

添加WGS84影像加载代码

服务地址可以在WeServer后台管理系统内找到,注意修改IP地址、端口号和图层名称,如下图所示。

图片

服务地址

通过关注公号“水经注GIS”并回复“OpenLayers”可获取OpenLayers源码文件,解压后在目录中,已经为你提供了“SampleForWGS84.html”源码文件,但需要特别注意的是需要将IP地址改为本机IP地址,前文我们已经提到过了获取本机IP的方法。

打开下方网址,可以显示加载本地影像如下图所示。

http://192.168.5.233/SampleForWGS84.html

图片

WGS84卫星影像加载效果

至此,OpenLayers在内网中加载显示WeServer发布的离线地图的目的就达到了。这样一来,当前这台电脑在内网中就是一台标准地图服务器,内网中任何一台电脑都可以通过打开网址离线查看地图,但需要注意的是需要将网址中的IP改为本机IP地址。

以上发布的是WGS84的卫星影像,接下来我们再来看一看默卡托卫星影像的发布方法。

墨卡托投影卫星影像的内网离线发布

发布墨卡托卫星影像时需要重新在WeServer管理后台重新发布图层,在主页内通过快速发布发布一个墨卡托的图层。

图片

快速发布

发布完成之后可以在图层内看到发布的图层,发布的图层如下图所示。

图片

发布的地图服务

墨卡托投影卫星影像的内网离线加载显示

在OpenLayers目录中新建“SampleForMercator.html”网站页面文件,如下图所示。

图片

新建SampleForMecator页面文件

在“SampleForMecator.html”网站页面文件中添加卫星影像与地名标签加载代码,如下图所示。

图片

添加墨卡托影像加载代码

通过关注公号“水经注GIS”并回复“OpenLayers”可获取OpenLayers源码文件,解压后在目录中,已经为你提供了“SampleForMercator.html”源码文件,但需要特别注意的是需要将IP地址改为本机IP地址,前文我们已经提到过了获取本机IP的方法。

打开下方网址,可以显示加载本地影像如下图所示。

http://192.168.5.233/SampleForMercator.html

图片

墨卡托卫星影像加载效果

(本文首发于“水经注GIS”公号,关注公号免费领取地图数据)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux6.15 Docker 私有仓库(harbor)

文章目录 计算机系统5G云计算第四章 LINUX Docker 私有仓库(harbor)一、搭建本地私有仓库二、Docker--harbor私有仓库部署与管理1.Harbor 简介1)什么是Harbor2)Harbor的特性3)Harbor的构成 2.Harbor 部署1)…

〔扩〕C# 调用Python

C# 调用Python 一、安装类库 pythonnet 谨慎使用IronPython,好像默认是2.7,运行部分外部引入的第三方包会报错 二、创建pyd 文件供c#调用 2.1 安装cython pip install cython2.2 准备自己的python文件 HtmlToMD.py import sys import html2text as ht…

电脑微信空间占用简便清理

1、打开电脑版微信、点击左下角的三根横线 2、点击左侧的“设置” 3、弹出层左侧点击“通用设置”->“存储空间管理” 4、点击清理缓存,或者管理 5、点击“管理”后,根据选择的筛选条件,勾线需要清理的,最后点击清理

TextClamp for Vue3.0(Vue3.0的文本展开收起组件)

呦!大家好,好久没有更新博客了,最近实现了一个一直想自己完成的一个东西,就是文本的展开收起组件,以前项目需要用到,自己实现一个又太繁琐,所以那个时候都是用的别人的轮子,现在自己…

两种接入微信小程序智能客服对话的方式

微信小程序 此处提供两种接入微信小程序的方式。 方式一:扫码将机器人绑定至指定小程序,通过小程序内的客服组件开启智能对话功能; 方式二:通过小程序插件接入。 方式一:后台扫码绑定 流程示意 效果展示 使用页面…

RPA界面元素定位与操控技术详解-达观数据

RPA 入门介绍 什么是 RPA?RPA 是机器人流程自动化 Robotic Process Automation 的简写。在《智能RPA实战》中,我们这样定义:通过特定的、可模拟人类在计算机界面上进行操作的技术,按照规则自动执行相应的流程任务,代替…

代码随想录额外题目| 数组03 ●34排序数组查首尾位置 ●922按奇偶排序数组II●35搜索插入位置

#34排序数组查首尾位置 medium&#xff0c;我写的:1 暴力 vector<int> searchRange(vector<int>& nums, int target) {int start-1;int end-1;for(int i0;i<nums.size();i){if(nums[i]target && start-1) starti;if(nums[i]target && sta…

Photoshop-Beta智能版ps安装教程

Photoshop-Beta智能版ps安装教程 获取方式 安装包工具&#xff0c;关注公众号搜索 荷逸云&#xff0c;发送关键词&#xff1a;ps&#xff0c;即可获得 安装教程 0&#xff1a;注意事项 注意&#xff1a;安装此工具需要魔法上网&#xff0c;获取魔法方式&#xff1a; http…

工业以太网的发展历程与应用前景

工业以太网是在工业自动化和物联网领域广泛使用的通信网络&#xff0c;它具有应用广泛、价格低廉、通信速率高、软硬件产品丰富、应用支持技术成熟等优点&#xff0c;目前它已经在工业企业综合自动化系统中的资源管理层、执行制造层得到了广泛应用&#xff0c;并呈现向下延伸直…

数据结构和算法二(基础查找问题)

一、列表查找&#xff1a; index()&#xff0c;是线性查找&#xff0c;因为二分查找需要进行排序 1、顺序查找 def linear_search(data_set,value):for ind,val in enumerate(data_set):if valvalue:return indelse:return时间复杂度O(n)&#xff0c;从头到尾循环一遍 2、二分…

LED像素间距是什么?

像素间距是指LED显示屏上像素&#xff08;LED晶元&#xff09;之间的距离&#xff0c;也称为点间距&#xff0c;它与显示屏的分辨率相关。具体来说&#xff0c;它描述的是从某一像素的中心到相邻像素中心的距离&#xff0c;单位通常为毫米。像素间距的大小反映了两个像素之间的…

Rancher 加入集群

一、设置rancher为中文界面 1、点击右上角图标--》preferences 2、切换语言&#xff1a;默认为英文&#xff0c;切换成简体中文即可 3、切换成中文后的界面 二、导入K3S集群 1、点击导入已有集群 2、选择集群--》通用 3、输入集群的名字--》创建 4、根据下面的提示&#xff0…

PostgreSQL 查询json/jsonb是否存在某个片段

文章目录 前言实现实现思路坑1坑2坑3 恍然大悟 前言 在PostgreSQL中&#xff0c;jsonb有额外的操作符&#xff0c;如 >、<、?、?|、?& 可以用来查询是否包含路径/值&#xff0c;以及顶层键值是否存在。 详细文章&#xff1a;PostgreSQL 操作json/jsonb 那么&am…

python软件包检索办法--[推荐]

一、官方包管理网站 https://pypi.org/ 二、官网地址 官方源地址: https://pypi.org/simple 中文&#xff1a; https://pypi.com.cn/ PyPI中文网 可以参考&#xff0c;偏慢&#xff01; 三、国内源头 # 清华源 pip config set global.index-url https://pypi.tuna.tsinghua.…

【学会动态规划】礼物的最大价值(12)

目录 动态规划怎么学&#xff1f; 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后&#xff1a; 动态规划怎么学&#xff1f; 学习一个算法没有捷径&#xff0c;更何况是学习动态规划&#xff0c; 跟我…

redis在linux系统安装

redis在linux系统安装&#xff1a; 1.下载压缩包 .tar.gz 2.文件安装到/opt mv .tar.gz /opt 解压文件 tar -zxvf .tar.gz 3.安装基本c环境//yum install gcc-c &#xff08;gcc -v 查看c版本&#xff09; 4.make 命令 加载环境&#xff08;make结束多src文件&#xff09;make之…

10.函数

10.1为什么需要函数 ●函数: function&#xff0c;是被设计为 执行特定任务的代码块 ●作用&#xff1a; 精简代码方便复用&#xff08;实现代码复用&#xff0c;提高开发效率&#xff09; 比如我们前面使用的alert()、prompt() 和console.log()都是一些js函数&#xff0c;只不…

gitee中fork了其他仓库,如何在本地进行同步

GitHub 操作&#xff1a;同步 Fork 来的仓库&#xff08;上游仓库&#xff09;_sigmarising的博客-CSDN博客 1. 设置upstream 2. git pull --rebase 3. 然后再执行pull、push操作

请将所有未处理的消息传递给 DefWindowProc

在之前的一篇文章中&#xff0c;我曾提到&#xff1a;如果你希望拒绝一次设备移除查询请求&#xff0c;则需要返回一个特殊的 BROADCAST_QUERY_DENY 值&#xff0c;因为太多的程序开发者认为&#xff0c;他们已经覆盖了所有 Windows 消息的处理了&#xff0c;对于其他的消息&am…

11、PHP面向对象1

1、PHP的面向对象与其他语言类似&#xff0c;但也有不同。 PHP访问成员变量时&#xff0c;需要用“->”&#xff0c;而不能用“.”&#xff0c;访问成员函数时&#xff0c;需要用“->”&#xff0c;而不能用“.”。操作符“::”可以在没有任何声明实例的情况下访问类中的…