前端地圖數據格式標準及應用

前端地圖數據格式標準及應用

      • 坐標系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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84147.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84147.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84147.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python爬蟲(35)Python爬蟲高階:基于Docker集群的動態頁面自動化采集系統實戰

目錄 一、技術演進與行業痛點二、核心技術棧深度解析2.1 動態渲染三件套2.2 Docker集群架構設計2.3 自動化調度系統 三、進階實戰案例3.1 電商價格監控系統1. 技術指標對比2. 實現細節 3.2 新聞聚合平臺1. WebSocket監控2. 字體反爬破解 四、性能優化與運維方案4.1 資源消耗對比…

04-jenkins學習之旅-java后端項目部署實踐

1、創建被管理項目 2、構建流程說明 jenkins其實就是將服務部署拆分成了: 1、拉取代碼(git) 2、打包編譯 3、自定義腳本(jar復制、執行啟動腳本) 4、部署成功后的一些通知等 3、demo配置 3.1、General 3.2 源碼管理 添加用戶名密碼方式如下圖 3.2.1 常見錯誤(r…

科研經驗貼:AI領域的研究方向總結

一、數據集(Dataset) 定義: 用于訓練、驗證和測試模型的樣本集合,通常包含輸入特征(如圖像、文本)和對應標簽(如類別、回歸值)。 關鍵作用: 數據劃分: 訓練…

Android 網絡全棧攻略(四)—— 從 OkHttp 攔截器來看 HTTP 協議一

上一篇我們詳解了 OkHttp 的眾多配置,本篇來看 OkHttp 是如何通過責任鏈上的內置攔截器完成 HTTP 請求與響應的,目的是更好地深入理解 HTTP 協議。這仍然是一篇偏向于協議實現向的文章,重點在于 HTTP 協議的實現方法與細節,關于責…

免費AI工具整理

1、NVIDIA models ALL:Try NVIDIA NIM APIs example:llama-3.1-405b-instruct Model by Meta | NVIDIA NIM 2、文心一言 文心一言 3、納米AI 納米AI搜索 4、其他 ChatGPT 鏡像網址(5月持續更新) - 最優網址

C++ std::find() 函數全解析

std::find()是C標準庫中用于線性查找的基礎算法&#xff0c;屬于<algorithm>頭文件&#xff0c;可應用于任何支持迭代器的容器。 一、函數原型與參數 template< class InputIt, class T > InputIt find( InputIt first, InputIt last, const T& value );??…

MySQL--day6--單行函數

&#xff08;以下內容全部來自上述課程&#xff09; 單行函數 1. 內置函數及分類 單行函數聚合函數&#xff08;或分組函數&#xff09; 1.1 單行函數特點 操作數據對象接受參數返回一個結果只對一行進行變換每行返回一個結果可以嵌套參數可以是一列或一個值 2. 數值函…

GO語言學習(九)

GO語言學習&#xff08;九&#xff09; 上一期我們了解了實現web的工作中極為重要的net/http抱的細節講解&#xff0c;大家學會了實現web開發的一些底層基礎知識&#xff0c;在這一期我來為大家講解一下web工作的一個重要方法&#xff0c;&#xff1a;使用數據庫&#xff0c;現…

解決MybatisPlus使用Druid1.2.11連接池查詢PG數據庫報Merge sql error的一種辦法

目錄 前言 一、問題重現 1、環境說明 2、重現步驟 3、錯誤信息 二、關于LATERAL 1、Lateral作用場景 2、在四至場景中使用 三、問題解決之道 1、源碼追蹤 2、關閉sql合并 3、改寫處理SQL 四、總結 前言 在博客&#xff1a;【寫在創作紀念日】基于SpringBoot和PostG…

嵌入式學習--江協51單片機day8

這個本來應該周末寫的&#xff0c;可是一直想偷懶&#xff0c;只能是拖到周一了&#xff0c;今天把51結個尾&#xff0c;明天開始學32了。 學習內容LCD1602&#xff0c;直流電機&#xff0c;AD/DA&#xff0c;紅外遙控 LCD1602 內部的框架結構 屏幕小于數據顯示區&#xff…

HUAWEI華為MateBook D 14 2021款i5,i7集顯非觸屏(NBD-WXX9,NbD-WFH9)原裝出廠Win10系統

適用型號&#xff1a;NbD-WFH9、NbD-WFE9A、NbD-WDH9B、NbD-WFE9、 鏈接&#xff1a;https://pan.baidu.com/s/1qTCbaQQa8xqLR-4Ooe3ytg?pwdvr7t 提取碼&#xff1a;vr7t 華為原廠WIN系統自帶所有驅動、出廠主題壁紙、系統屬性聯機支持標志、系統屬性專屬LOGO標志、Office…

【Python】Python 裝飾器的用法總結

在 Python 中&#xff0c;裝飾器&#xff08;Decorator&#xff09; 是一種設計模式&#xff0c;用于在不修改函數或類代碼的情況下動態地擴展其功能。裝飾器廣泛應用于日志記錄、性能監控、權限驗證等場景&#xff0c;提供了一種簡潔優雅的方式來“包裹”現有的代碼。本文將介…

【C++】控制臺小游戲

移動&#xff1a;W向上&#xff0c;S上下&#xff0c;A向左&#xff0c;D向右 程序代碼&#xff1a; #include <iostream> #include <conio.h> #include <windows.h> using namespace std;bool gameOver; const int width 20; const int height 17; int …

「MATLAB」計算校驗和 Checksum

什么是校驗和 是一個算法&#xff0c;將一串數據累加&#xff0c;得到一個和。 MATLAB程序 function c_use Checksum(packet) %Checksum 求校驗和 % 此處checksum提供詳細說明checksum 0;for i 1:length(packet)value hex2dec(packet(i));checksum checksum value; …

JavaScript面試題之消息隊列

JavaScript消息隊列詳解&#xff1a;單線程的異步魔法核心 在JavaScript的單線程世界中&#xff0c;消息隊列&#xff08;Message Queue&#xff09;是實現異步編程的核心機制&#xff0c;它像一位高效的調度員&#xff0c;讓代碼既能“一心多用”又避免卡頓。本文將深入剖析消…

京東外賣分潤系統部署實操!0門檻入駐+全平臺接入+自定義比例...這些人,賺翻了!

隨著京東外賣的發展勢頭日漸迅猛&#xff0c;許多創業者們的態度也逐漸從原本的觀望轉變為了切實的行動&#xff0c;并開始通過各個渠道詢問起了京東外賣自動分潤系統部署相關的各項事宜&#xff0c;連帶著以京東外賣自動分潤系統質量哪家強為代表的多個問題&#xff0c;也成為…

【辦公類-18-06】20250523(Python)“口腔檢查涂氟信息”批量生成打印(學號、姓名、學校、班級、身份證、戶籍、性別、民族)

背景需求: 6月是常規體檢,前幾天發了體檢表(驗血單),用Python做了姓名等信息的批量打印 【辦公類-18-04】20250520(Python)“驗血單信息”批量生成打印(學校、班級、姓名、性別)-CSDN博客文章瀏覽閱讀969次,點贊19次,收藏11次。【辦公類-18-04】20250520(Python)…

Python郵件處理:POP與SMTP

poplib簡介 poplib 是Python 3中的官方郵件庫&#xff0c;實現了POP的標準&#xff1a;RFC1939&#xff0c;用于郵件的收取。與之類似的還有imaplib 。 &#xff08;注&#xff1a;本文僅拿pop舉例&#xff09; poplib的使用方法&#xff0c;就是幾步&#xff1a; 先創建一…

IP風險度自檢,多維度守護網絡安全

如今IP地址不再只是網絡連接的標識符&#xff0c;更成為評估安全風險的核心維度。IP風險度通過多維度數據建模&#xff0c;量化IP地址在網絡環境中的安全威脅等級&#xff0c;已成為企業反欺詐、內容合規、入侵檢測的關鍵工具。據Gartner報告顯示&#xff0c;2025年全球78%的企…

Flink集成資源管理器

Flink集成資源管理器 Apache Flink 支持多種資源管理器&#xff0c;主要包括以下幾種?&#xff1a; YARN ResourceManager ?&#xff1a;適用于使用 Hadoop YARN 作為資源管理器的環境。YARN ResourceManager 負責管理集群中的資源&#xff0c;包括 CPU、內存等&#xff0c;并…