当前位置: 首页 > news >正文

前端地图数据格式标准及应用

前端地图数据格式标准及应用

      • 坐标系EPSG
      • geojson标准格式
      • 基于OGC标准的地图服务
      • shapefile文件
      • 3D模型数据
      • 常见地图框架

坐标系EPSG

EPSG(European Petroleum Survey Group)是一个国际组织,负责维护和管理地理坐标系统和投影系统的标准化编码
EPSG 用于标识不同的地理空间参考系统,包括坐标系统、地理坐标系、投影坐标系等。这些标识符可用于许多应用程序和地理信息系统软件,以确保数据在不同系统之间的正确转换和处理。现在,EPSG已被Open Geospatial Consortium(OGC)承认并管理,成为了一个全球性的标准。
EPSG负责维护全球的坐标系统,虽然EPSG不是一个强制的标准,但是因为有ERSI、Google、Microsoft和W3C等大型公司组织的使用加持,所以对于后面进入行业的GISer和开发者而言,该标准有一定的权威性和方便性。

  1. WGS84(World Geodetic System 1984):是 GPS 全球定位系统建立的坐标系统,通过GPS定位拿到的原始经纬度。EPSG代号为4326 谷歌地图
  2. GCJ-02(国家测量局02号标准):GCJ-02 是由中国国家测绘局(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统,是在WGS84经纬度的基础上执行加密算法而成。因为GPS得到的经纬度直接在 GCJ-02 坐标系下会定位到错误的地点,有种到了火星的感觉,因此在坊间也将 GCJ-02 戏称为火星坐标系。国内的高德腾讯地图就是用的 GCJ-02 坐标系
  3. BD-09(Baidu, BD):是百度地图使用的地理坐标系,其在GCJ-02上多增加了一次变换,用来保护用户隐私。从百度产品中得到的坐标都是BD-09坐标系。

EPSG:4326:WGS84
EPSG:3857:是Web墨卡托投影坐标系
4214:Beijing 1954地理坐标系统
4490:CGCS 2000地理坐标系统
4547:深圳

https://blog.csdn.net/josiecici/article/details/127666605
epsg查询https://epsg.io/map#srs=4326&x=109.775391&y=34.452218&z=6&layer=streets
epsg链接: link

坐标转换案例
1、amap等地图框架自带方法转换
链接: link
2、通过epsg编码互转
使用proj4JS进行坐标转换
链接: link

geojson标准格式

geojson是用json的语法表达和存储地理数据
Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection
geojson将所有的地理要素分为Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection。首先是将这些要素封装到单个的geometry里,然后作为一个个的Feature(也就是要素);要素放到一个要素集合里,从树状结构来理解FeatureCollection就是根节点,表示为:

点要素Point
点要素是最简单的,类型type对应Point,然后坐标是一个1维的数组,里面有两个元素(如果是立体的坐标就是三维x,y,z),分别为经度和纬度。properties里面可以封装各种属性,例如名称、标识颜色等等。

{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[105.380859375,31.57853542647338]}
}

多点要素MultiPoint

{"type":"Feature","properties":{},"geometry":{"type":"MultiPoint","coordinates":[[105.380859375,31.57853542647338],[105.580859375,31.52853542647338]]}
}

线要素LineString
线要素就是指线段,记录的是线的端点坐标,可视化时会按照记录顺序联结。对于曲线(如贝塞尔曲线)目前还没有很好的表达,但是在地理数据中,曲线一般会用LineString去拟合,现实地理世界中也没有标准的曲线地理要素。
线要素的坐标coordinates里的二维数组和多点要素基本一样,区别就在type上了。

{"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[105.6005859375,30.65681556429287],[107.95166015624999,31.98944183792288],[109.3798828125,30.031055426540206],[107.7978515625,29.935895213372444]]}
}

MultiLineString
也是一个三维数组(和多边形一样);

{"type":"Feature","properties":{},"geometry":{"type":"MultiLineString","coordinates":[[[105.6005859375,30.65681556429287],[107.95166015624999,31.98944183792288],[109.3798828125,30.031055426540206],[107.7978515625,29.935895213372444]],[[109.3798828125,30.031055426540206],[107.1978515625,31.235895213372444]]]}
}

多边形Polygon
注:单个多边形是一个3维数组,可以包含多个二维数组,这种情况和MultiPolygon效果很像。

{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[106.10595703125,33.33970700424026],[106.32568359375,32.41706632846282],[108.03955078125,32.2313896627376],[108.25927734375,33.15594830078649],[106.10595703125,33.33970700424026]]]}}

案例:
高德加载geojson数据: link

基于OGC标准的地图服务

OGC全称是开放地理空间信息联盟,是一个非盈利的国际标准组织,它制定了数据和服务的一系列标准,GIS厂商按照这个标准定义开放服务接口等
OGC提供的标准有很多种,常用的如:WMS、WMTS、WFS、WCS
常见地图服务_WMS_WFS_WCS_ WMTS

在这里插入图片描述

在这里插入图片描述

WMS服务
Web Map Service (web地图服务,能够根据用户的请求,返回相应的地图,包括PNG、GIF、JPEG等栅格形式,或者SVG或者WEB CGM等矢量形式。
GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述;
GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;
GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息。
参考:网络地图服务(WMS)的三大操作: link.
如amap支持

接口名称接口说明
GetCapabilities返回服务级元数据,它是对服务信息内容和要求参数的一种描述
GetMap获取地图图片。该操作根据客户端发出的请求参数在服务端进行检索,服务器端返回一个地图图像,其地理空间参数和大小参数是已经明确定义的,返回的地图图像可以是GIF、JPEG、PNG或SVG格式
GetFeatureinfo返回显示在地图上的某些特殊要素的信息。该操作根据用户所请求的X、Y坐标或感兴趣的图层,返回地图上某些特殊要素的信息,信息以HTML,GML或ASCII的格式表示

WMTS服务
Web Map Tile Service(Web地图瓦片服务)wmts相比于wms,它能够提供分块地图。wmts使用瓦片矩阵集来表示 。类似一个金字塔,每一层即每一个矩阵的瓦片有不同的分辨率,每个瓦片都有唯一的编码。
WMTS 1.0.0规范支持以HTTP KVP(Key-Value Pair)方式、SOAP 方式和REST 方式发布WMTS服务。
WMTS的读取:
GetCapabilities:服务元数据
GetTile:图块资源
GetFeatureInfo:要素信息
天地图请求基于wmts服务的切片数据示例:
http://198.18.128.114:8080/geomap-api/proxy?url=http://198.18.129.17:8003/JYWL/wmts?LAYER=JYWL_JYDT&FORMAT=image/tile&TILEMATRIXSET=Matrix_JYWL_JYDT_0&VERSION=1.0.0&STYLE=JYWL_JYDT&TILEMATRIX=13&TILEROW=1320&TILECOL=6799&service=WMTS&request=GetTile
天地图请求GetCapabilities:
http://r740.youlishu.com:18081/GIS_JDSQWG/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities
参考: link.
link.

接口名称接口描述
GetCapabilities获取WMTS的能力文档(即元数据文档),里面包含服务的所有信息
GetTile获取地图瓦片。该操作根据客户端发出的请求参数在服务端进行检索,服务器端返回地图瓦片图像
GetFeatureInfo通过在WMTS图层上指定一定的条件,返回指定的地图瓦片内容对应的要素信息

天地图请求wmts服务的切片案例
http://198.18.128.114:8080/geomap-api/proxy?url=http://198.18.129.17:8003/JYWL/wmts?LAYER=JYWL_JYDT&FORMAT=image/tile&TILEMATRIXSET=Matrix_JYWL_JYDT_0&VERSION=1.0.0&STYLE=JYWL_JYDT&TILEMATRIX=13&TILEROW=1320&TILECOL=6796&service=WMTS&request=GetTile
请求wmts服务的切片案例

天地图请求wmts服务的切片案例-矢量瓦片,返回二进制文件
http://198.18.128.114:8080/geomap-api/proxy?url=http://58.213.148.61:8089/geostar/SLDT_DT/wmts?LAYER=SLDT_9_20&FORMAT=protobuf&TILEMATRIXSET=SLDT_9_20_Matrix_0&VERSION=1.0.0&TILEMATRIX=12&TILEROW=662&TILECOL=3401&service=WMTS&request=GetTile
在这里插入图片描述
百度地图加载wmts图层数据案例:
链接: link

WCS服务
Web Coverage Service(web地图栅格数据服务),如卫星影像。
栅格是一种基于像素的数据格式,可以有效地表示连续的曲面。栅格中的信息以网格结构存储,每个信息单元或像素具有相同的大小和形状,但值不同。数码照片,正射影像和卫星图像都以这种格式存储。
参考mapbox卫星影像介绍:
link.

接口名称接口说明
GetCapabilities返回描述服务和数据集的XML文档
DescribeCoverage在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的栅格格式返回地理位置的值或属性
GetCoverage允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述

WFS服务
Web Feature Service(web要素服务)
返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入
回结果的是XML格式的WFS服务元数据文档

接口名称接口说明
GetCapabilitiesGetCapabilities请求用于查询WFS服务的能力信息,包括支持的操作、支持的格式、空间坐标、包含的资源等。它主要的目的是使客户端在使用GetFeature请求前可以对WFS服务有一个基本的了解,从而可以设置正确的参数
DescribeFeatureType返回描述可以提供服务的任何要素结构的XML文档,即图层描述信息

shapefile文件

‌Shapefile文件格式‌是一种在地理信息系统(GIS)中广泛使用的开放标准格式,用于存储地理空间数据。它由ESRI(Environmental Systems Research Institute)开发,于1998年正式推出。Shapefile格式因其开放性、兼容性和广泛的支持,成为GIS领域最为流行的矢量数据存储格式之一‌
组成
Shapefile文件格式由以下几个核心组成部分:
‌.shp文件‌:存储几何形状信息,包括点(Points)、线(Lines)、多边形(Polygons)等‌

‌.shx文件‌:索引文件,用于快速定位几何形状‌

‌.dbf文件‌:存储与几何形状相关的属性信息‌

此外,还有可选文件,如.prj文件包含空间参考信息,而.cpg文件提供特定编码‌

应用领域
Shapefile格式广泛应用于地图制作、土地管理、环境监测、交通规划等多个领域。由于其开放性和跨平台使用的特性,Shapefile文件成为GIS数据交互的标准文件格式‌

.shp几何数据文件
.shp文件是Shapefile格式的核心部分,它存储了所有的几何信息。几何数据类型通常包括点(Points)、线(Lines)、多边形(Polygons)等。几何数据按照记录的方式存储,每条记录都对应一个具体的地理特征。每条记录的开始包含一个记录头,记录了记录的编号、内容长度和几何类型等信息。紧随其后的是实际的几何数据,这可能是坐标点序列,线段或面边界的集合。

每条几何记录通常都是以记录头开始,随后是其几何数据。在Shapefile中,点的坐标使用x和y的值表示,而线和面则需要记录一系列点的集合。例如,对于多边形来说,还可能包括其内环的信息。数据使用固定长度的记录,但在需要时会使用补丁填充来保持记录的固定长度。

.dbf属性数据文件
.dbf文件包含与.shp几何数据文件相对应的属性信息,它是一个标准的dBase格式数据库文件。每一个地理特征在.dbf文件中都有一个记录,记录的顺序与.shp文件中的几何记录顺序一一对应。.dbf文件包含了字段定义和数据记录两个部分。

字段定义部分存储了文件中每列的名称、类型和大小。常见的字段类型包括字符型(C)、数值型(N)、逻辑型(L)、日期型(D)等。数据记录部分则存储了每个地理特征的属性值,对于每一条记录,都有一个与之对应的属性数据。

.shx几何索引文件
.shx文件是索引文件,它存储了.shp文件中几何数据的索引信息,以便快速访问特定的几何记录。索引文件通过记录编号对应到.shp文件中的实际位置,这有助于提高数据检索的效率。

一个索引项是由100字节组成的结构,其中前四个字节表示偏移量,指的是.shp文件中该记录开始的位置,接下来四个字节表示记录的长度。因此,.shx文件允许程序在不知道具体数据内容的情况下,快速定位和访问.shp文件中的几何数据。

shapefile介绍:链接: link
链接: link
对shapefile文件进行转换并使用
链接: link

3D模型数据

3D模型: link

常见地图框架

amap
mapbox
cesium
openlayers
maptalks

相关文章:

  • vue项目表格甘特图开发
  • 告别“盘丝洞”车间:4-20mA无线传输如何重构工厂神经网?
  • Python打卡训练营学习记录Day34
  • sso登录(单点登录)实现
  • MySQL强化关键_016_存储引擎
  • JavaScript面试题之匿名函数
  • 数据结构第1章 (竟成)
  • debian12下安装搜狗输入法
  • 伊吖学C笔记(3、字符、分支结构)
  • Unreal渲染源码简读(一)RHI/Shader
  • Minecraft Fabric - java.lang.NoClassDefFoundError HttpUriRequest
  • Spring Boot是什么?MybatisPlus常用注解,LambdaQueryWrapper常用方法
  • OpenHarmony 4.1版本应用升级到5.0版本问题记录及解决方案
  • vue开发中常用方法笔记
  • 在公司快速查看与固定内网IP地址的完整指南
  • 全链路解析:影刀RPA+Coze API自动化工作流实战指南
  • 2025电工杯A题数据-光伏电站发电功率预测数据 收集策略
  • Docker 与 Kubernetes 部署 RabbitMQ 集群(二)
  • docker初学
  • w~大模型~合集4
  • 网页设计介绍说明/北海百度seo
  • 网站建设售后培训/免费网站搭建
  • 黄色网站模板/外包网站
  • 个人网站下载/舆情优化公司
  • 互联网网站开发有哪些职位/百度推广后台登陆首页
  • 遵义相亲群/太原seo排名收费