OpenLayers基础知识回顾(一)

一、一张地图的构成

  • 从数据表现在页面来说
    点 、线、 面

  • 从数据类型来说
    矢量数据:放大后不会失真
    栅格数据:放大后会失真,这种数据是由一个个的像素点组成的

  • 从图层来说
    一张地图由很多图层组成,图层有zIndex参数,可以用于设置图层堆叠顺序
    图层:将同一类型的要素,放在一个图层上(相同要素的集合)
    Map–Layer

  • 点图层

  • 线图层

  • 面图层

  • 单独标记图层
    在这里插入图片描述

二、GIS概念

1.整体框架

1、地图的组成

在这里插入图片描述

  1. 底图(Map):所有信息的载体
  2. 图层(Layer):相同类型要素形成的集合
  3. 要素(Feature):表示不同的地物
  4. 几何信息(Geometry):信息的数据模型和抽象
2、地图容器

准备阶段创建的指定id的div对象,这个div将作为承载所有图层、点标记、矢量图形、控件的容器

3、图层(Layer)

图层是指能够在视觉上覆盖一定的地图范围,用来描述全部或者部分现实世界区域内的地图要素的抽象概念,一幅地图通常由一个或者多个图层组成

4、矢量图形

矢量图形,一般覆盖于底图图层之上,通过矢量的方式(路径或者实际大小)来描述其形状,用几何的方式来展示真实的地图要素,会随着地图缩放而发生视觉大小的变化,但是其代表的实际路径或范围不变,除了折线、圆、多边形之外,JS API还提供了矩形、椭圆等常用的矢量图形

5、点标记

点标记是用来标示某个位置点信息的一种地图要素,覆盖于图层之上,通常就是一个点要素。

6、地图控件(Map Controls)

控件浮在所有的图层和地图要素之上,用于满足一定的交互和提示功能

2.名词

1、地图级别 ZoomLevel

Web地图最小级别通常为3级

2、经纬度 LngLat
3、底图 BaseLayer
4、底图要素 Map Features
5、标注 Labels
6、地图平面像素坐标 Plane Coordinates
7、投影 Projection

三、webgis开发流程

在这里插入图片描述
webgis开发 = 地图框架 + 【GIS平台】二次开发接口
(如何使用地图框架,展示地图数据)

1、数据处理

在MapGIS客户端进行数据处理
5. 创建要素类
6. 添加各种要素,编辑要素的属性
7. 生成地图文档

2、数据发布

通过server manager将数据上传到IG Server(localhost:9999就是IG Server的可视化操作界面)

  1. 发布地图文档
3、数据显示

在web端地图框架上,通过JavaScript SDK 调用接口对接IG Server,进行地图和数据的可视化操作。

四、地图显示

要在页面上显示地图仅仅需要一个html页面,分成以下几个步骤

  1. 导入openlayers依赖
  2. 设置地图容器挂载点
  3. 初始化地图,并将地图设置到地图容器
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta
      http-equiv="X-UA-Compatible"
      content="IE=edge"
    />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0"
    />
    <title>Document</title>
    <!-- 1.引入第三方库 -->
    <link
      rel="stylesheet"
      href="https://lib.baomitu.com/ol3/4.6.5/ol.css"
    />
    <script src="https://lib.baomitu.com/ol3/4.6.5/ol.js"></script>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      #map {
        width: 100vw;
        height: 100vh;
      }
    </style>
  </head>

  <body>
    <!-- 2、设置地图的挂载点 -->
    <div id="map"></div>
    <script>
      // 3.初始化一个高德地图层
      const gaode = new ol.layer.Tile({
        title: '高德地图',
        source: new ol.source.XYZ({
          url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
          wrapX: false
        })
      })
      //4.初始化openlayer地图
      const map = new ol.Map({
        // 将初始化的地图设置到id为map的DOM元素上
        target: 'map',
        //设置图层
        layers: [gaode],
        view: new ol.View({
          center: [114.3, 30.5],
          //设置地图放大级别
          zoom: 12,
          projection: 'EPSG:4326'
        })
      })
      console.log(map)
    </script>
  </body>
</html>

五、坐标

EPSG:4326 和 EPSG:3857 是两个常用的坐标参考系代码,用于在 GIS 中表示地理位置。它们的主要区别如下:
● EPSG:4326 表示一个地理坐标系,使用经纬度来表示地理位置,通常用于地理位置的显示和制图。
● EPSG:3857 表示一个 Web 墨卡托坐标系,使用平面墨卡托投影来表示地理位置。
因此,两个坐标系的主要区别在于它们使用的坐标系统不同:EPSG:4326 使用的是经纬度,而 EPSG:3857 使用的是平面墨卡托投影。
EPSG:3857 在在线地图中被广泛使用,因为它能够在 Web 地图上提供更高的精度和更好的分辨率。然而,EPSG:4326 在网络上传输地理位置信息时被更多地使用,因为它使用的是标准的地理坐标系。
总的来说,选择使用哪个坐标系取决于你的应用需求:如果需要高精度和分辨率,选择 EPSG:3857;如果需要标准的地理坐标系,选择 EPSG:4326
Openlayer默认使用EPSG:3857;
ol.proj.transform([114,30],‘EPSG:4326’,‘EPSG:3857’)可以将经纬度,转化为墨卡托。

六、openlayers的重要概念

在这里插入图片描述

  1. 一张地图有很多图层组成
  2. 一个图层对应一个数据源(layer-source)
  3. 数据源中放置了很多的要素(Feature)
  4. 要素由几何信息和样式信息构成
    Map Layers Source Feature

七、OpenLayers架构

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值