整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          手把手教你做GIS地圖-第二節 wms、wfs用法

          手把手教你做GIS地圖-第二節 wms、wfs用法

          .背景

          1.1WMS簡介

          Web地圖服務(WMS)利用具有地理空間位置信息的數據制作地圖。其中將地圖定義為地理數據可視的表現。這個規范定義了三個操作:GetCapabitities返回服務級元數據,它是對服務信息內容和要求參數的一種描述; GetMap返回一個地圖影像,其地理空間參考和大小參數是明確定義了的;GetFeatureInfo(可選)返回顯示在地圖上的某些特殊要素的信息。

          GeoServer官網上對其WMS規范的描述地址為http://docs.geoserver.org/stable/en/user/services/wms/index.html。

          1.2WFS簡介

          Web要素服務(WFS)返回的是要素級的GML編碼,并提供對要素的增加、修改、刪除等事務操作,是對Web地圖服務的進一步深入。OGC Web要素服務允許客戶端從多個Web要素服務中取得使用地理標記語言(GML)編碼的地理空間數據,這個遠東定義了五個操作:GetCapabilites返回Web要素服務性能描述文檔(用XML描述);DescribeFeatureType返回描述可以提供服務的任何要素結構的XML文檔;GetFeature為一個獲取要素實例的請求提供服務;Transaction為事務請求提供服務;LockFeature處理在一個事務期間對一個或多個要素類型實例上鎖的請求。

          GeoServer官網上對其WFS規范的描述地址為http://docs.geoserver.org/stable/en/user/services/wfs/index.html。

          2.WMS請求規范詳解

          2.1GetCapabitities(返回服務級元數據)

          URL例子:

          http://localhost:8680/geoserver/wms?service=wms&version=1.1.1&request=GetCapabilities。

          參數意義:



          返回結果:

          其返回結果為一個描述性XML文檔,包含了以下三個要素:


          2.2GetMap(獲取影像)

          URL例子:

          http://localhost:8680/geoserver/urbanlayer/wms?LAYERS=urbanlayer%3ADIJI&STYLES=&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS=EPSG%3A3857&BBOX=10008053.503544,5274522.8578226,10039584.01305,5292493.614536&WIDTH=579&HEIGHT=330。

          參數意義:


          這里對返回的格式(format)有如下選擇:


          返回結果:


          注意:此請求同樣支持XML格式請求,如下:


          2.3GetFeatureInfo(返回要素信息)

          URL例子:

          http://localhost:8680/geoserver/urbanlayer/wms?REQUEST=GetFeatureInfo&EXCEPTIONS=application%2Fvnd.ogc.se_xml&BBOX=10008053.503544%2C5274522.857823%2C10039584.01305%2C5292493.614536&SERVICE=WMS&INFO_FORMAT=text/plain&QUERY_LAYERS=urbanlayer%3ADIJI&FEATURE_COUNT=50&Layers=urbanlayer%3ADIJI&WIDTH=579&HEIGHT=330&format=image%2Fpng&styles=&srs=EPSG%3A3857&version=1.1.1&x=315&y=147。

          參數意義:


          這里對返回的文本格式(info_format)有如下選擇:


          返回結果(忽略中文亂碼):



          3.WFS請求規范

          3.1GetCapabilities(返回服務描述文檔)

          URL例子:

          http://localhost:8680/geoserver/wfs?service=wfs&version=1.1.0&request=GetCapabilities。

          參數意義:


          返回結果:

          返回的結果為描述性XML,包含以下五個主要部分:


          3.2DescribeFeatureType(返回圖層描述信息)

          URL例子:

          http://localhost:8680/geoserver/urbanlayer/ows?service=wfs&version=1.0.0&request=DescribeFeatureType&typeName=DIJI。

          參數意義:


          返回結果:


          3.3GetFeature(獲取圖層要素)

          3.3.1GET查詢

          這里首先給出一個例子:


          http://localhost:8080/eGovaGISV14//home/gis/proxy.htm?http://192.168.101.14/geoserver/urbanlayer/wfs?request=GetFeature&version=1.1.0&typename=jianfudanhistory&Filter=%3CFilter%20xmlns:ogc=%22http://www.opengis.net/ogc%22%20xmlns:gml=%22http://www.opengis.net/gml%22%3E%3CIntersects%3E%20%3CPropertyName%3Ethe_geom%3C/PropertyName%3E%20%3Cgml:Envelope%20srsName=%22EPSG:4326%22%3E%09%20%3Cgml:lowerCorner%3E120.1762573834964%2030.280899047851562%3C/gml:lowerCorner%3E%20%09%20%3Cgml:upperCorner%3E120.18999029365265%2030.294631958007812%3C/gml:upperCorner%3E%20%3C/gml:Envelope%3E%3C/Intersects%3E%3C/Filter%3E&outputformat=json。此請求常見的參數有:typeNames,featureID,propertyName,Filter, count, sortBy。其中Filter參數最為重要,主要負責進行選擇過濾。關于Filter的具體描述可參考:http://docs.geoserver.org/stable/en/user/filter/function.html。

          返回結果為:

          {"type":"FeatureCollection","features":[{"type":"Feature","id":"jianfudan.322","geometry":{"type":"MultiPolygon","coordinates":[[[[30.276436000822056,120.20021],[30.275750000822033,120.20021],[30.22768400082126,120.22562],[30.245537000821543,120.17343000000001],[30.276436000822056,120.20021]]]]},"geometry_name":"the_geom","properties":{"limitid":71,"displayorder":null,"regionid":3,"validfromdate":"2016-05-15Z","validtodate":"2016-06-14Z","validflag":1,"media":null,"shape_length":null,"shape_area":null,"graphicid":322,"regionname":"江干區","eventtypes":null,"otherrequest":null,"limitname":"上報區域71"}},{"type":"Feature","id":"jianfudan.318","geometry":{"type":"MultiPolygon","coordinates":[[[[30.26407600082185,120.19668600000001],[30.26407600082185,120.196434],[30.262875000821833,120.20785],[30.24708200082157,120.203896],[30.255150000821704,120.187164],[30.26407600082185,120.19668600000001]]]]},"geometry_name":"the_geom","properties":{"limitid":72,"displayorder":null,"regionid":3,"validfromdate":"2016-05-04Z","validtodate":"2016-06-03Z","validflag":1,"media":"http://172.18.6.197:8081/MediaRoot/null/20160505/72/84989ee1-9bab-4640-8f24-4a7381f1c4e8/機票預訂.png","shape_length":null,"shape_area":null,"graphicid":318,"regionname":"江干區","eventtypes":"亂搭亂建,暴露垃圾,積存垃圾渣土,路面不潔,河道不潔(含溝渠、湖面)","otherrequest":"測試","limitname":"上報區域72"}}],"crs":{"type":"EPSG","properties":{"code":"4490"}}}

          3.3.1.1點查詢Filter

          <Filter xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
          
          <Intersects>
          
          <PropertyName>the_geom</PropertyName>
          
          <gml:Envelope srsName="EPSG:4326">     
          
          <gml:lowerCorner>120.15336460382575 30.2743621901609</gml:lowerCorner>
          
          <gml:upperCorner>120.167097513982 30.28809510031715</gml:upperCorner>
          
          </gml:Envelope>
          
          </Intersects>
          
          </Filter>

          3.3.1.2自定義多邊形查詢Filter

          <Filter xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
          
          <Intersects> 
          
          <PropertyName>the_geom</PropertyName>
          
          <gml:MultiPolygon srsName="EPSG:4326"> 
          
          <gml:polygonMember> 
          
          <gml:Polygon> 
          
          <gml:outerBoundaryIs> 
          
          <gml:LinearRing>
          
          <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts="">
          
          120.15677,30.2557 120.15677,30.26351 120.16833,30.26351 120.16833,30.2557 120.15677,30.2557
          
          </gml:coordinates>  
          
          </gml:LinearRing>  
          
          </gml:outerBoundaryIs>  
          
          </gml:Polygon>  
          
          </gml:polygonMember>  
          
          </gml:MultiPolygon>
          
          </Intersects>
          
          </Filter>


          3.3.2Post查詢

          因為GET請求的數據量大小在4kb以內,所以Post為更常用的方法。以下為一個具體的例子:


          其中直接發送的為一個XML文件,其Filter中可以填寫的內容和GET中的Filter一樣。

          具體內容如下:

          <?xml version='1.0' encoding='GBK'?><wfs:GetFeature service='WFS' version='1.0.0' outputFormat='JSON'
          
          xmlns:wfs='http://www.opengis.net/wfs'
          
          xmlns:ogc='http://www.opengis.net/ogc'
          
          xmlns:gml='http://www.opengis.net/gml' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd'>
          
          <wfs:Query typeName='cell'>
          
          <wfs:PropertyName>the_geom</wfs:PropertyName>
          
          <wfs:PropertyName>test1</wfs:PropertyName>
          
          <ogc:Filter>
          
          <Or>
          
          <PropertyIsEqualTo><PropertyName>test1</PropertyName><Literal>valuetest1</Literal></PropertyIsEqualTo>
          
          <PropertyIsEqualTo><PropertyName>test2</PropertyName><Literal>valuetest2</Literal></PropertyIsEqualTo>
          
          </Or>
          
          </ogc:Filter>
          
          </wfs:Query>
          
          </wfs:GetFeature>

          3.4 Transaction(編輯要素)

          該方法支持對要素的增刪改。這里直接給出Post請求中發送的XML組織格式:

          3.4.1添加要素

          <wfs:Transaction service="WFS" version="1.0.0"
          outputFormat="GML2"
          xmlns:opengis="http://www.cetusOpengis.com"
          xmlns:wfs="http://www.opengis.net/wfs"
          xmlns:ogc="http://www.opengis.net/ogc"
          xmlns:gml="http://www.opengis.net/gml"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">
          <wfs:Insert handle="someprj1">
          <opengis:someprj>
          <opengis:the_geom>
          <gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#3395" >
          <gml:coordinates decimal="." cs="," ts="">13404701.212,3850391.781</gml:coordinates>
          </gml:Point>
          </opengis:the_geom>
          <opengis:ssds>13</opengis:ssds>
          <opengis:qqybh>12</opengis:qqybh>
          <opengis:status>0</opengis:status>
          </opengis:someprj>
          </wfs:Insert>
          </wfs:Transaction>

          3.4.2修改要素

          <wfs:Transaction service="WFS" version="1.0.0"
          outputFormat="GML2"
          xmlns:opengis="http://www.cetusOpengis.com"
          xmlns:wfs="http://www.opengis.net/wfs"
          xmlns:ogc="http://www.opengis.net/ogc"
          xmlns:gml="http://www.opengis.net/gml"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">
          <wfs:Update typeName="opengis:qqyproject">
          <wfs:Property>
          <wfs:Name>qqybh</wfs:Name>
          <wfs:Value>12</wfs:Value>
          </wfs:Property>
          <ogc:Filter>
          <ogc:PropertyIsEqualTo>
          <ogc:PropertyName>qqybh</ogc:PropertyName>
          <ogc:Literal>0</ogc:Literal>
          </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          </wfs:Update>
          </wfs:Transaction>

          3.4.3刪除要素

          <wfs:Transaction service="WFS" version="1.0.0"
          outputFormat="GML2"
          xmlns:opengis="http://www.cetusOpengis.com"
          xmlns:wfs="http://www.opengis.net/wfs"
          xmlns:ogc="http://www.opengis.net/ogc"
          xmlns:gml="http://www.opengis.net/gml"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">
          <wfs:Delete typeName="opengis:qqyproject">
          <ogc:Filter>
          <ogc:PropertyIsLessThan>
          <ogc:PropertyName>qqybh</ogc:PropertyName>
          <ogc:Literal>12</ogc:Literal>
          </ogc:PropertyIsLessThan>
          <ogc:PropertyIsGreaterThan>
          <ogc:PropertyName>qqybh</ogc:PropertyName>
          <ogc:Literal>0</ogc:Literal>
          </ogc:PropertyIsGreaterThan>
          </ogc:Filter>
          </wfs:Delete>
          </wfs:Transaction>

          4.總結

          a.動態出圖可以使用WMS中的GetMap請求。

          b.矢量查詢可以使用WFS中的GetFeature請求。

          c.要素編輯可以使用WFS中的Transaction請求

          感謝:http://www.cnblogs.com/naaoveGIS/

          里以湖北省荊州市為例說明如何用ArcGIS API發布離線谷歌衛星地圖。

          在萬能地圖下載器中選擇湖北省荊州市的行政區劃,然后點擊“下載”按鈕新建下載任務。

          在新建任務對話框中選擇需要下載的級別,一般是從當前行政區劃顯示的級別開始選擇(這里是第9級),一直接選擇到第19級(國內19級清晰度效果最佳,19級以上基于19級放大),由于數據量非常大,這里只為了說明如何用ArcGIS API發布離線衛星地圖的方法,因此這里以選擇到第14級為例。

          在“新建任務”對話框中,點擊“導出設置”可以設置相關導出參數,我們可以選擇導出大圖、導出瓦片和導出離線包等三種方式。由于這里我們用ArcGIS API發布離線衛星地圖需要用的是瓦片格式,因此這里選擇“導出瓦片”選項。

          新建任務詳細參數說明,請參閱:

          新建地圖下載任務參數說明

          在“導出瓦片”選項的相關參數中,我們選擇瓦片格式為“TMS瓦片”、文件格式為PNG,坐標坐標投影為墨認的“WGS84 Web 墨卡托投影”,選擇“邊界范圍裁剪”,背景顏色為“透明”背景。

          導出瓦片詳細參數說明,請參閱:

          導出瓦片參數說明

          分別點擊“確定”按鈕開始下載任務,下載并自動導出后可以看到導出的瓦片目錄為8到13級而不是我們選擇的9到14級,這是因為軟件中的級別編號是從1開始,而標準的TMS瓦片命名規則都是從0開始,因此該情況屬于正常情況,瓦片的行列號編號規則同理。

          在ArcGIS API發布離線衛星地圖的源碼示例中,將“arcgis_js_v321_api.zip”解壓到當前文件夾。

          打開解壓后文件夾中的“install.html”可以查看ArcGIS API的安裝布署說明。

          ArcGIS API可以在Windows和Linux系統中安裝布署,這里我們以Windows為例,點擊“Windows”查看布署方法。

          從ArcGIS API的安裝布署說明中可以看到,需要將“\arcgis_js_api\library”文件復制到IIS默認站點下,該操作的目的是要將ArcGIS API放在Web站點中,說明它需要Web服務器支持。

          另外,文檔中說明了ArcGIS API有兩個版本,一個是普通版,一個是精簡版。

          現在,我們需要布署一個Web服務器,用于布署ArcGIS API源碼。

          一般來講,常用的Web服務器軟件工具有IIS、Apache和Tomcat,這里我們以Windows自帶的IIS為例。

          如何開啟IIS 功能,請參閱:

          如何在Win10中開啟IIS功能

          IIS功能開啟后,在電腦圖標的右鍵菜單中選擇“管理”菜單項。

          在“計算機管理”的功能樹列表中點擊“服務和應用程序\Internet Information”項,然后在“網站”節點的右鍵菜單中選擇“添加網站”項。

          在顯示的“添加網站”對話框中,可以為當前站點指定名稱(這里為“WebGIS”),將物理路徑設置為ArcGIS API解壓后的目錄,這里將端口號設置為“8080”,這樣不會與訪問Web頁面的80端口沖突,如果沒有布署過80端口的網站則不會有沖突。

          點擊新建的Web站點“WebGIS”后,再點擊“內容視圖”可以查看站點文件。

          Web站點布署好之后,我們再回過頭來看ArcGIS API的布署說明文檔,文檔中分別說明了普通版和精簡版中都需要對相關文件作修改編輯,這里我們以普通版本為例。

          根據ArcGIS API布署說明文檔中的說明,在指定的源碼路徑中找到init.js文件,并在右鍵菜單中選擇用記事本打開它。

          按文檔中的說明,將“https:/[HOSTNAME_AND_PATH_TO_JSAP]dojo”字符串修改為“https://<myserver>/arcgis_js_api/library/3.21/3.21/dojo”字符串。

          其中的<myserver>表示服務器地址,由于我們這里是以在本機上布署為例,因此它要相應的改為本機地址,即127.0.0.1或localhost,同時需要加上端口號,即最后的替換結果為:

          http://127.0.0.1:8080/arcgis_js_api/library/3.21/3.21/dojo

          注意:文檔中的Web地址頭為“https”,如果你的服務器不支持安全加密訪問,只需要將地址頭改為“http”即可。

          編輯修改成完成后,需要測試init.js文件是否可以通過Web地址正常訪問。

          在瀏覽器中如果打開以下地址顯示init.js文件內容,說明布署正確。

          http://127.0.0.1:8080/arcgis_js_api/library/3.21/3.21/init.js

          ArcGIS API安裝布署完成后,將ArcGIS API離線地圖發布源碼示例中的“extlayers”文件夾復制到“arcgis_js_v321_api\arcgis_js_api\library.21.21”路徑下。

          將下載的地圖瓦片目錄復制到ArcGIS API發布離線地圖的源碼示例中。

          用專業的WebGIS開發工具Visual Studio Code打開“arcgis_js_v321_api\arcgis_js_api\library.21.21\extlayers\gaodelayer.js”文件,將第133行中的“gaodeTiles”字符串修改為當前的瓦片目錄名稱,即“荊州市谷歌地圖TMS瓦片”。

          Visual Studio Code下載安裝教程,請參閱:

          如何安裝WebGIS開發工具Visual Studio Code

          雙擊ArcGIS API離線地圖發布源碼中的“map.html”文件,可以在瀏覽器中打開ArcGIS API發布的離線地圖結果。

          在瀏覽器中打開離線地圖發布結果如下圖所示。

          在該源碼示例中,除了能離線顯示谷歌衛星地圖外,還包括了基本的地圖標注等相關GIS功能。

          ArcGIS API for JavaScript在線實例請參閱:

          http://api.rivermap.cn/ArcGIS/map.html

          . 概述

          前段時間,給大家介紹了WeServer在內網中離線發布全國影像及高程DEM數據并在OsgEarth中調用的方法和在開源三維地球Cesium中如何離線加載衛星影像及高程DEM數據的方法。

          其中,OsgEarth是一個基于桌面端的三維地球開源平臺,而Cesium則是基于Web端的三維地球開源平臺。

          同樣地,我們也可以基于二維的開源平臺并結合WeServer在內網中離線發布全國衛星影像。

          關于二維的WebGIS開源平臺,我們推薦OpenLayers和MapBox兩種。

          其中,二維開源平臺OpenLayers在內網中離線加載衛星影像的方法已經作過分享了,現在我們再來分享一下MapBox在內網中加載顯示WeServer發布的離線衛星影像的方法。

          2. 準備工作

          在開始之前,需要先準備離線數據發布軟件、離線衛星影像示例數據、MapBox開發源碼和本機IP地址等。

          地圖發布軟件:需要在內網發布離線衛星影像,請確保地圖發布服務中間件版本為4.0.5以上,如果低于該版本,請通過私信回復"中間件"免費獲取最新版本安裝包,也可以直接在官網下載。

          離線示例數據:本文提供的離線示例數據包括墨卡托投影和WGS84投影的衛星影像與地名標簽數據,由于這里主要是為了進行功能性演示,因此只提示前10級影像數據。

          衛星影像示例數據


          另外,由于MapBox默認僅支持墨卡托投影數據,不支持WGS84坐標系經緯度正投的影像數據,因此這里只需要從百度網盤的共享數據中下載"SatelliteForMercator"和"LabelFroMercator"文件夾中的數據即可。

          私信“示例數據”獲取示例數據。

          MapBox開發源碼:MapBox源碼可以從MapBox官網下載最新版,但由于下載的方法略微有點復雜(后面會介紹方法),因此也可以通過私信回復"MapBox"獲取MapBox開發源碼文件。

          本機IP地址:由于會用到本機IP作為訪問地址,可以通過在DOS窗口中運行"IPConfig"命令或其它方式獲取本機IP地址以備用,如下圖所示。

          獲取本機IP地址


          3. MapBox源碼下載

          由于MapBox的源碼下載略微有點復雜,我們有必要在這里為大家分享一下它的下載的方法,如果你已經從百度網盤下載了MapBox源碼,請略過本節。

          首先打開MapBox官網,然后點擊"Documentation\Mapbox GL js",如下圖所示。

          MapBox官網


          在顯示的頁面點擊"Install"按鈕,如下圖所示。

          開始下載安裝


          從顯示的提示可以看出,這里下載代碼需要執行一個CMD命令"npm install mapbox-gl --save"進行下載,如下圖所示。

          下載方法


          打開CMD命令窗口,并進入到需要下載保存的目錄路徑,這里我們將下載內容保存到"F:\MapBox"目錄,如下圖所示。

          執行下載


          執行下載后的結果,如下圖所示。

          下載結果


          CMD命令窗口中的警告信息提示缺少"package.json"文件,我們可以通過執行"npm init -f"命令,將會在目錄中自動生成該文件,如下圖所示。


          生成PACKAGE文件


          成功生成了"package.json"文件之后,又提示缺少了描述信息和"repository"字段,如下圖所示。

          警告提示信息


          我們打開"package.json"文件,發現"description"字段為空,且沒有"repository"字段,如下圖所示。

          PACKAGE原文件內容


          為了避免出現警告信息,可以為"description"添加描述內容,并添加"repository"字段。

          "repository"用于指定你的代碼存放的地方,這個對希望貢獻的人有幫助。

          如果git倉庫在github上,那么npm docs命令能找到你,如下所示。

          "repository" :

          { "type" : "git"

          , "url" : "http://github.com/isaacs/npm.git"

          }

          URL應該是公開的(即便是只讀的)能直接被未經過修改的版本控制程序處理的url。不應該是一個html的項目頁面,因為它是給計算機看的。

          這里,我們只需要將項目設置為私有即可,即在文檔中添加"private"字段并設置為"true",如下圖所示。

          修改PACEAGE文件


          在"package.json"文件中設置完成并保存后,我們再次執行"npm install mapbox-gl --save"命令,就不會再顯示警告信息了,如下圖所示。

          執行結果


          以上就是MapBox源碼下載的全過程,后面我們會專門說明如何在IIS中部署MapBox源碼的方法。

          4. WGS84衛星影像離線發布

          軟件的安裝與離線衛星影像的發布方法,請參閱"全球衛星影像離線發布神器《水經注地圖發布服務中間件4.0》正式發布"一文。

          由于MapBox是二維應用,因此這里不需要發布高程。

          但需要注意的是,要將投影設置為"Web_Mercator",且確保設置的端口號沒有被其它程序占用,如下圖所示。

          安裝配置


          安裝完成后,會顯示如下圖所示信息。

          安裝完成


          打開Windows任務管理器,如果WeServer服務的狀態顯示"正在運行",則說明中間件服務安裝成功并已經正常運行,如下圖所示。

          服務運行正常


          WeServer成功發布后,接下來我們需要將下載的MapBox在本地進行部署。

          5. MapBox源碼的本地離線部署

          我們通過IIS對MapBox源碼進行本地化部署,如果你對IIS網站部署非常熟悉,請略過本節。

          MapBox源碼解壓之后,如下圖所示。

          MapBox源碼目錄


          在Windows控制面板中打開"管理工具",如下圖所示。

          管理工具


          打開IIS網站管理器,如下圖所示。

          打開IIS


          在"網站"樹節點單擊鼠標右鍵,然后選擇"添加網站"菜單,如下圖所示。

          添加網站


          網站名稱可以任意取,這里我們取名為"MapBox",物理路徑設置為MapBox源碼的"node_modules\mapbox-gl"文件目錄,并將端口號設置為沒有被其它程序或Web站點所占用的端口號,這里默認為"80",如下圖所示。

          配置網站參數


          配置完成并點擊"確定"按鈕之后完成MapBox源碼的本地網站配置,如下圖所示。

          完成配置


          現在,MapBox源碼在本地就離線部署好了,但還需要新建一個衛星影像的離線加載顯示頁面才可以進行訪問。

          6. 衛星影像的離線加載顯示

          在MapBox源碼目錄"F:\MapBox\node_modules\mapbox-gl"中新建一個"SampleForMercator.html"Web頁面頁文件,如下圖所示。

          新建Web頁面文件


          在"SampleForMercator.html"網站頁面文件中添加衛星影像與地名標簽加載代碼,如下圖所示。

          添加影像加載代碼


          通過關注私信回復"MapBox"可獲取MapBox源碼文件,解壓后在目錄中,已經為你提供了"SampleForMercator.html"源碼文件,但需要特別注意的是需要將IP地址改為本機IP地址,前文我們已經提到過了獲取本機IP的方法。

          打開網址"http://192.168.0.5/SampleForMercator.html",可以顯示加載本地影像如下圖所示。

          WGS84衛星影像加載效果


          至此,MapBox在內網中加載顯示WeServer發布的離線地圖的目的就達到了。

          這樣一來,當前這臺電腦在內網中就是一臺標準地圖服務器,內網中任何一臺電腦都可以通過打開網址離線查看地圖,但需要注意的是需要將網址中的IP改為本機IP地址。

          7. 總結

          最后再次申明,由于本文中提供的數據為示例數據,旨在說明地圖發布服務中間件的內網離線發布功能,因此衛星影像數據和地名標簽都僅僅提供全球前10級數據。

          你可以通過私信回復"免費數據",領取一個省的高清衛星影像數據,然后更新到對應的數據目錄即可!


          主站蜘蛛池模板: 冲田杏梨AV一区二区三区| 国产剧情一区二区| 久久se精品一区精品二区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 日韩精品一区二区三区中文版| 毛片无码一区二区三区a片视频| 国产精品一区二区毛卡片| 亚洲中文字幕丝袜制服一区 | 精品无码人妻一区二区三区不卡| 91一区二区三区| 国产精品区一区二区三| 国产内射在线激情一区| 成人区人妻精品一区二区三区 | 久久久一区二区三区| 国产成人欧美一区二区三区| 亚洲中文字幕丝袜制服一区 | 国产SUV精品一区二区88L| 久久国产视频一区| 爆乳熟妇一区二区三区| 午夜性色一区二区三区不卡视频| 波多野结衣久久一区二区| 国产精品一区不卡| 国产精品久久久久一区二区三区 | 国产亚洲自拍一区| 精品久久久中文字幕一区| 韩国福利影视一区二区三区| 国产高清精品一区| 无码人妻精品一区二区三区夜夜嗨 | 精品国产一区二区三区| 一区二区和激情视频| 亚洲AV无码一区二区三区久久精品 | 另类国产精品一区二区| 亚洲一区二区三区久久久久| 日本不卡免费新一区二区三区| 久久精品人妻一区二区三区| 一区二区免费国产在线观看| 精品一区二区三区免费观看 | 日韩精品一区二区三区中文版| 国产精品99精品一区二区三区 | 国产福利电影一区二区三区,日韩伦理电影在线福 | 国偷自产视频一区二区久|