久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Leaflet+GeoServer+PostGIS WebGIS全鏈路架構(gòu)與實(shí)戰(zhàn)

Leaflet+GeoServer+PostGIS WebGIS全鏈路架構(gòu)與實(shí)戰(zhàn) 簡(jiǎn)介WebGIS開發(fā)中前端地圖渲染與空間數(shù)據(jù)服務(wù)的結(jié)合是關(guān)鍵。Leaflet作為輕量級(jí)地圖庫(kù)GeoServer作為標(biāo)準(zhǔn)地圖服務(wù)發(fā)布器PostGIS作為空間數(shù)據(jù)庫(kù)三者構(gòu)成了一套穩(wěn)定、開源的三層架構(gòu)。其核心原理是PostGIS負(fù)責(zé)空間數(shù)據(jù)存儲(chǔ)GeoServer將其發(fā)布為WMS/WMTS等標(biāo)準(zhǔn)地圖服務(wù)Leaflet在瀏覽器端完成圖層加載與交互渲染。該架構(gòu)具備安全性高、性能優(yōu)異、協(xié)議標(biāo)準(zhǔn)化的技術(shù)價(jià)值支持按需加載、坐標(biāo)轉(zhuǎn)換與數(shù)據(jù)獨(dú)立更新廣泛應(yīng)用于智慧城市、資源管理、環(huán)境監(jiān)測(cè)等場(chǎng)景。基于zip完整工程示例從PostGIS數(shù)據(jù)入庫(kù)、GeoServer圖層發(fā)布到Leaflet前端調(diào)用逐層拆解全鏈路實(shí)現(xiàn)細(xì)節(jié)并針對(duì)坐標(biāo)系偏移、跨域訪問、中文亂碼、緩存失效等高頻問題給出實(shí)用排查經(jīng)驗(yàn)適合WebGIS入門與工程實(shí)踐參考。 直接說結(jié)論這一套 leaflet geoserver postgis 的組合是當(dāng)前 WebGIS 項(xiàng)目里最常見、最穩(wěn)的架構(gòu)之一而且從標(biāo)題里的 zip 包也能看出來這是一份可以直接跑通的完整工程示例。但很多人拿到壓縮包之后要么配半天環(huán)境起不來要么圖層出不來要么數(shù)據(jù)怎么都加載不上最后卡在一個(gè)很尷尬的位置。這篇文章不打算只講“怎么點(diǎn)按鈕”我會(huì)把這套鏈路從數(shù)據(jù)存儲(chǔ)到前端渲染從頭拆一遍把里面最容易出問題、也最值得深挖的環(huán)節(jié)逐個(gè)講透。它的核心價(jià)值一句話就能概括PostGIS 負(fù)責(zé)存空間數(shù)據(jù)GeoServer 負(fù)責(zé)把數(shù)據(jù)發(fā)布成標(biāo)準(zhǔn)地圖服務(wù)Leaflet 負(fù)責(zé)在瀏覽器里把服務(wù)渲染成可交互的地圖。這套架構(gòu)的好處是每一層都可以獨(dú)立替換、獨(dú)立擴(kuò)展而且全部基于開源方案沒有任何商業(yè)授權(quán)成本。適合正在做畢業(yè)設(shè)計(jì)、想入門 WebGIS 的開發(fā)者也適合已經(jīng)在做前端但第一次接觸空間數(shù)據(jù)服務(wù)的同學(xué)參考。1. 整體架構(gòu)與設(shè)計(jì)思路拆解1.1 為什么是 Leaflet GeoServer PostGIS 這條鏈路先說結(jié)論這套組合之所以在中小型 GIS 項(xiàng)目里被大量使用核心原因是它把“數(shù)據(jù)管理”“服務(wù)發(fā)布”和“前端展示”三個(gè)職責(zé)拆得非常干凈。PostGIS 是 PostgreSQL 的空間擴(kuò)展本質(zhì)是把空間數(shù)據(jù)點(diǎn)、線、面當(dāng)成一種普通數(shù)據(jù)類型存儲(chǔ)在數(shù)據(jù)庫(kù)里并且提供空間索引和空間函數(shù)。GeoServer 是一個(gè) Java 寫的開源地圖服務(wù)器它能連接 PostGIS把數(shù)據(jù)庫(kù)里的矢量數(shù)據(jù)發(fā)布成符合 OGC 標(biāo)準(zhǔn)的 WMS、WFS、WMTS 服務(wù)。Leaflet 是一個(gè)輕量級(jí)的前端地圖庫(kù)負(fù)責(zé)在瀏覽器里請(qǐng)求這些服務(wù)然后把地圖渲染出來。這個(gè)三層架構(gòu)最舒服的地方在于前端不直接連數(shù)據(jù)庫(kù)也不直接讀 Shapefile 文件而是通過一個(gè)標(biāo)準(zhǔn)化的服務(wù)層來拿數(shù)據(jù)。這樣做的好處非常實(shí)際。第一是安全。數(shù)據(jù)庫(kù)的連接信息只暴露給 GeoServer前端拿到的只是圖片或者 GeoJSON 數(shù)據(jù)不需要擔(dān)心數(shù)據(jù)庫(kù)賬號(hào)密碼泄露。第二是性能。GeoServer 會(huì)在服務(wù)端完成空間過濾、坐標(biāo)轉(zhuǎn)換、樣式渲染前端只需要展示結(jié)果這對(duì)低配置的客戶端設(shè)備尤其友好。第三是標(biāo)準(zhǔn)。你換掉 Leaflet 改成 OpenLayers或者換掉 GeoServer 改成 MapServer其他部分基本不用動(dòng)因?yàn)榇蠹叶甲裱?WMS/WMTS 這些標(biāo)準(zhǔn)協(xié)議。1.2 與直接加載 GeoJSON 的方案對(duì)比我之前見過很多前端開發(fā)者用 Leaflet 的時(shí)候習(xí)慣直接加載 GeoJSON 文件。說實(shí)話這種方式在數(shù)據(jù)量小、不需要更新的場(chǎng)景下完全夠用但一旦進(jìn)入真實(shí)業(yè)務(wù)場(chǎng)景問題就出現(xiàn)了。直接加載 GeoJSON 意味著所有數(shù)據(jù)都要一次性傳到瀏覽器端。五萬個(gè)多邊形是什么概念算下來大概幾十兆甚至上百兆的 HTTP 響應(yīng)瀏覽器直接卡死。而且數(shù)據(jù)是靜態(tài)的如果服務(wù)端數(shù)據(jù)庫(kù)里的數(shù)據(jù)變了前端拿到的還是舊數(shù)據(jù)。用 GeoServer 發(fā)布 PostGIS 數(shù)據(jù)則完全不一樣。前端請(qǐng)求的是瓦片圖片或者按需請(qǐng)求的矢量數(shù)據(jù)GeoServer 會(huì)在服務(wù)端做空間過濾每次只返回可視范圍內(nèi)的數(shù)據(jù)。數(shù)據(jù)更新只需要改數(shù)據(jù)庫(kù)前端刷新頁面就能看到最新數(shù)據(jù)。坐標(biāo)轉(zhuǎn)換、樣式調(diào)整、比例尺縮放級(jí)別控制這些事也都在服務(wù)端幫你處理好了不需要寫一堆前端代碼去處理。所以在項(xiàng)目起步階段就應(yīng)該想清楚如果你做的是演示項(xiàng)目直接讀 GeoJSON 沒問題但如果你的項(xiàng)目要落地、要迭代甚至要支撐多個(gè)業(yè)務(wù)系統(tǒng)走 GeoServer 這條路才是正解。2. PostGIS 端的數(shù)據(jù)準(zhǔn)備與建模細(xì)節(jié)2.1 空間數(shù)據(jù)入庫(kù)的基本操作既然 GeoServer 發(fā)布的是 PostGIS 里的數(shù)據(jù)那第一步就是把空間數(shù)據(jù)放進(jìn)去。最常見的方式是用shp2pgsql這個(gè)命令行工具把 Shapefile 導(dǎo)入到 PostGIS 數(shù)據(jù)庫(kù)。假設(shè)你有一個(gè)cities.shp文件里面的坐標(biāo)系是 WGS84EPSG:4326導(dǎo)入命令大概是這樣的shp2pgsql -s 4326 -I -W utf8 cities.shp public.cities | psql -U postgres -d gisdb這條命令里幾個(gè)參數(shù)都很關(guān)鍵。-s 4326指定源數(shù)據(jù)的 SRID-I表示導(dǎo)入的同時(shí)創(chuàng)建空間索引-W utf8指定字符編碼很多中文亂碼問題都是因?yàn)檫@里沒指定對(duì)。如果文件編碼原本是 GBK這里就要改成-W gbk。導(dǎo)入完成之后可以用下面這條 SQL 快速驗(yàn)證SELECT ST_SRID(geom) AS srid, ST_GeometryType(geom) AS geom_type, COUNT(*) AS cnt FROM public.cities GROUP BY srid, geom_type;我習(xí)慣先做這一步檢查確認(rèn)空間參考和幾何類型都符合預(yù)期再進(jìn) GeoServer 配置。很多人忽略了這個(gè)環(huán)節(jié)結(jié)果發(fā)布之后圖層顯示不出來回頭排查才發(fā)現(xiàn)是坐標(biāo)系對(duì)不上。2.2 空間索引與 SRID 選擇對(duì)性能的影響PostGIS 里最常見的性能殺手就是表里沒有空間索引??臻g索引用的是 PostgreSQL 的 Gist 索引機(jī)制它把地理對(duì)象按空間位置進(jìn)行預(yù)排序查詢的時(shí)候能快速砍掉大量無關(guān)記錄。CREATE INDEX idx_cities_geom ON public.cities USING GIST (geom);這個(gè)語句一定要建而且要在數(shù)據(jù)導(dǎo)入完成后盡快建。沒有空間索引的話GeoServer 在做空間過濾查詢時(shí)會(huì)對(duì)整張表做全表掃描數(shù)據(jù)量一大前端地圖拖動(dòng)起來就是一卡一卡的嚴(yán)重影響體驗(yàn)。SRID 的選擇同樣重要。Web 地圖服務(wù)里最常用的兩個(gè)坐標(biāo)系一個(gè)是 EPSG:4326就是經(jīng)緯度坐標(biāo)另一個(gè)是 EPSG:3857也就是 Web Mercator它是 Google Maps 和絕大多數(shù)在線底圖用的坐標(biāo)系。Leaflet 默認(rèn)用的就是 EPSG:3857所以如果你的數(shù)據(jù)是 4326 的GeoServer 在發(fā)布時(shí)會(huì)自動(dòng)做坐標(biāo)轉(zhuǎn)換。這個(gè)過程是無感的但如果數(shù)據(jù)精度要求很高要注意轉(zhuǎn)換本身會(huì)引入微小的偏差。3. GeoServer 發(fā)布 PostGIS 圖層的完整流程3.1 創(chuàng)建數(shù)據(jù)源與配置參數(shù)GeoServer 的數(shù)據(jù)源在它的術(shù)語里叫 Store對(duì)應(yīng)的就是一個(gè) PostGIS 數(shù)據(jù)庫(kù)連接。進(jìn)入 GeoServer 管理界面之后在“數(shù)據(jù)存儲(chǔ)”里選擇“添加新的存儲(chǔ)”然后選“PostGIS - PostGIS 數(shù)據(jù)庫(kù)”。這里要填的參數(shù)有幾個(gè)容易踩坑的地方。連接參數(shù)如果本機(jī)測(cè)試主機(jī)名填localhost或者127.0.0.1都可以端口默認(rèn) 5432。數(shù)據(jù)庫(kù)名、用戶名、密碼按實(shí)際填但有一個(gè)容易被忽略的選項(xiàng)是“Schema”如果表不在默認(rèn)publicschema 里這里會(huì)查不到表。填完數(shù)據(jù)庫(kù)連接之后建議先點(diǎn)一下“驗(yàn)證連接”按鈕確認(rèn)能看到“連接成功”的提示。我自己遇到過很多次數(shù)據(jù)庫(kù)連接沒問題但密碼里包含特殊字符導(dǎo)致一直連不上的情況。還有一次是 GeoServer 服務(wù)器上沒裝 PostgreSQL 客戶端驅(qū)動(dòng)折騰了很久才發(fā)現(xiàn)。3.2 圖層發(fā)布與坐標(biāo)參考系設(shè)置數(shù)據(jù)源創(chuàng)建成功之后GeoServer 會(huì)列出這個(gè)數(shù)據(jù)庫(kù)里所有帶幾何字段的表。選擇你要發(fā)布的表進(jìn)入“發(fā)布圖層”頁面這里有幾個(gè)關(guān)鍵項(xiàng)要認(rèn)真看。“坐標(biāo)參考系”這塊是重點(diǎn)。如果數(shù)據(jù)庫(kù)里的數(shù)據(jù)已經(jīng)指定了正確的 SRIDGeoServer 會(huì)自動(dòng)識(shí)別“聲明 SRS”的值如果識(shí)別不了就需要手動(dòng)填。很多新手在這里直接默認(rèn) 4326也不管數(shù)據(jù)實(shí)際是什么坐標(biāo)系最終結(jié)果就是圖層位置對(duì)不上底圖得偏移到天邊去。建議發(fā)布圖層前先在查詢工具里執(zhí)行一段 SQL確認(rèn)幾何字段的 SRIDSELECT DISTINCT ST_SRID(geom) FROM public.cities;還有一個(gè)“原生邊界”和“經(jīng)緯度邊界”的按鈕發(fā)布頁面上有“從數(shù)據(jù)計(jì)算”和“從 SRS 計(jì)算”兩個(gè)選項(xiàng)。建議首次發(fā)布時(shí)選擇“從數(shù)據(jù)計(jì)算”讓 GeoServer 自動(dòng)算出數(shù)據(jù)的實(shí)際范圍能避免很多顯示問題。圖層發(fā)布完成后可以先用 GeoServer 自帶的“Layer Preview”預(yù)覽一下。如果能在這個(gè)頁面正常顯示說明服務(wù)端已經(jīng)沒問題接下來就可以安心寫前端代碼了。3.3 WMS、WMTS、WFS 三種服務(wù)怎么選GeoServer 發(fā)布圖層之后同一份數(shù)據(jù)可以同時(shí)提供好幾種服務(wù)這一點(diǎn)很多人沒意識(shí)到。WMSWeb Map Service返回的是圖片適合直接鋪在 Leaflet 上做底圖WMTSWeb Map Tile Service返回的是預(yù)先切好的瓦片性能最好WFSWeb Feature Service返回的是矢量數(shù)據(jù)適合做屬性查詢和編輯。實(shí)際項(xiàng)目中我一般用 WMS 作為默認(rèn)方案因?yàn)榕渲煤?jiǎn)單、樣式渲染在服務(wù)端完成但如果圖層涉及的瓦片數(shù)量很多、需要兼顧高并發(fā)訪問就優(yōu)先上 WMTS。WFS 雖然靈活能拿到屬性數(shù)據(jù)但要注意這種服務(wù)把真實(shí)數(shù)據(jù)直接暴露給了前端有權(quán)限管控要求的場(chǎng)景必須做權(quán)限校驗(yàn)不能隨意開放。4. Leaflet 前端調(diào)用與核心代碼實(shí)現(xiàn)4.1 通過 L.tileLayer.wms 加載 WMS 服務(wù)Leaflet 里加載 WMS 服務(wù)最直接的方式是用自帶的L.tileLayer.wms方法。以下是一個(gè)可用的最小示例const map L.map(map, { center: [39.9, 116.4], zoom: 10 }); L.tileLayer(https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png, { maxZoom: 19 }).addTo(map); const geoserverUrl http://localhost:8080/geoserver/gisdb/wms; const postgisLayer L.tileLayer.wms(geoserverUrl, { layers: gisdb:cities, format: image/png, transparent: true, version: 1.1.0, srs: EPSG:3857 }); postgisLayer.addTo(map);這里面幾個(gè)參數(shù)要解釋一下。layers是工作區(qū)名加冒號(hào)加圖層名例如gisdb:cities這個(gè)值在 GeoServer 的圖層列表里有現(xiàn)成的復(fù)制粘貼避免手誤。transparent: true表示只顯示數(shù)據(jù)背景透明這樣才能疊加在其他底圖上面。format: image/png是推薦的圖片格式如果需要背景透明必須用 png。這里有個(gè)我自己踩過坑的地方version參數(shù)不寫的話GeoServer 默認(rèn)可能返回 1.3.0 版本而 1.3.0 的 WMS 里坐標(biāo)軸順序從x,y換成了lat,lon導(dǎo)致個(gè)別場(chǎng)景出現(xiàn)偏移。我的習(xí)慣是顯式指定為 1.1.0省得后續(xù)出問題再排查。4.2 用 WMTS 實(shí)現(xiàn)更高效的瓦片加載如果你的圖層不需要頻繁更新但訪問量很大那我強(qiáng)烈建議用 GeoWebCache 把圖層切成瓦片然后讓 Leaflet 按xyz方式直接加載。GeoServer 內(nèi)置了 GeoWebCache不需要額外部署。切完瓦片之后圖層會(huì)多出一個(gè) WMTS 地址在 Leaflet 里可以用下面的方式接const wmtsLayer L.tileLayer( http://localhost:8080/geoserver/gwc/service/wmts? layergisdb:citiesstyletilematrixsetEPSG:3857 ServiceWMTSRequestGetTileVersion1.0.0 Formatimage/pngTileMatrix{z}TileCol{x}TileRow{y}, { maxZoom: 19 } );要注意tilematrixset必須和 GeoServer 里配置的切片矩陣集一致否則請(qǐng)求會(huì)返回空白。另外 WMTS 的瓦片是固定級(jí)別緩存的如果修改了原始數(shù)據(jù)需要執(zhí)行“重新切片”否則看到的還是舊瓦片。4.3 用 GeoJSON 圖層做交互查詢瓦片服務(wù)的好處是性能好但缺點(diǎn)也很明顯圖片里的要素沒法直接點(diǎn)擊獲得屬性。如果你需要點(diǎn)擊要素然后彈窗顯示屬性信息就需要用 WFS 服務(wù)加載 GeoJSON然后通過L.geoJSON渲染。const geojsonLayer L.geoJSON(null, { onEachFeature: function (feature, layer) { layer.bindPopup( 名稱 feature.properties.name br 編碼 feature.properties.code ); } }); $.ajax({ url: http://localhost:8080/geoserver/gisdb/ows, type: GET, data: { service: WFS, version: 1.0.0, request: GetFeature, typeName: gisdb:cities, srsName: EPSG:3857, outputFormat: application/json }, success: function (res) { geojsonLayer.addData(res); map.addLayer(geojsonLayer); } });這里有一個(gè)非常實(shí)際的性能問題如果表里有很多要素一次性GetFeature會(huì)把所有數(shù)據(jù)拉到前端頁面瞬間崩潰。我的經(jīng)驗(yàn)是務(wù)必加范圍限制用bbox參數(shù)把請(qǐng)求范圍限制在地圖當(dāng)前可視范圍內(nèi)然后配合count限制返回條數(shù)還可以用CQL_FILTER加條件過濾比如只查詢某個(gè)字段等于某個(gè)值的數(shù)據(jù)。// 在請(qǐng)求參數(shù)里加上 bbox 和 CQL 過濾 data: { bbox: map.getBounds().toBBoxString(), CQL_FILTER: code LIKE 010% }這樣返回的數(shù)據(jù)量就能控制在很小的范圍內(nèi)頁面交互也會(huì)流暢很多。5. 常見問題與排查技巧實(shí)錄5.1 圖層顯示空白或偏移的排查思路很多人在 Page Preview 里能看到圖層但是到 Leaflet 里就顯示不出來或者偏移得離譜。這類問題絕大部分出在坐標(biāo)系匹配上。GeoServer 發(fā)布 4326 數(shù)據(jù)但前端用 Web Mercator 瓦片疊加兩者如果不做正確轉(zhuǎn)換坐標(biāo)就會(huì)偏。排查第一步先確認(rèn) GeoServer 預(yù)覽地址的返回結(jié)果是否正常。如果 Geoserver 預(yù)覽正常說明服務(wù)端沒問題第二步確認(rèn)前端代碼里srs參數(shù)或者crs配置是否正確第三步檢查圖層范圍有時(shí)候數(shù)據(jù)范圍本身不在你的初始視圖中心那自然看不到內(nèi)容。我踩過最詭異的一次坑是cities表里混入了幾條坐標(biāo)異常的數(shù)據(jù)字段值是空的GeoServer 發(fā)布時(shí)沒有報(bào)錯(cuò)但渲染結(jié)果始終有一塊空白最后用 SQL 查出來SELECT * FROM public.cities WHERE geom IS NULL OR NOT ST_IsValid(geom);清理掉這些臟數(shù)據(jù)之后圖層立刻就正常了。所以數(shù)據(jù)入庫(kù)前的質(zhì)量檢查非常重要不要嫌麻煩。5.2 跨域訪問問題與靜態(tài)資源部署Leaflet 頁面和 GeoServer 不在同一個(gè)端口的情況下瀏覽器會(huì)發(fā)起跨域請(qǐng)求。GeoServer 本身支持 CORS但需要確認(rèn) web.xml 里是否配置了跨域過濾器。如果你是自己打包的 GeoServer可以參考以下方式確認(rèn)打開webapps/geoserver/WEB-INF/web.xml搜索cors或cross-origin如果沒有相關(guān)過濾器需要手動(dòng)加上跨域配置后重啟 GeoServer如果不想動(dòng) Java 容器配置另一個(gè)更實(shí)用、更推薦的辦法是用 Nginx 做反向代理把 GeoServer 和靜態(tài)頁面放在同一個(gè)域名下。比如location /geoserver/ { proxy_pass http://127.0.0.1:8080/geoserver/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; }這樣前端請(qǐng)求/geoserver/...的路徑和請(qǐng)求靜態(tài)資源同源不存在跨域問題以后遷移服務(wù)器也方便只改 Nginx 配置就行。5.3 中文亂碼問題最常見的亂碼來源有兩個(gè)。一個(gè)是 Shapefile 轉(zhuǎn)數(shù)據(jù)庫(kù)階段的編碼問題另一個(gè)是 GeoServer 樣式文件編碼問題。前者用shp2pgsql導(dǎo)入時(shí)指定-W GBK或-W utf8基本能解決后者如果是用內(nèi)置的 SLD 文件要確保文件頭聲明了 UTF-8。如果圖層屬性查詢結(jié)果在 GeoServer 頁面顯示正常但 Leaflet 彈窗里亂碼那大概率是 HTTP 響應(yīng)的字符集問題??梢栽谡?qǐng)求 WFS 時(shí)加一個(gè)參數(shù)強(qiáng)制指定編碼data: { outputFormat: application/json; charsetutf-8 }前端 Ajax 請(qǐng)求也建議顯式聲明scriptCharset: utf-8雙保險(xiǎn)。5.4 圖層緩存問題本地調(diào)試時(shí)經(jīng)常遇到改了數(shù)據(jù)庫(kù)數(shù)據(jù)頁面還是舊數(shù)據(jù)的情況。如果用的 WMS 且沒開 GeoWebCache通常不會(huì)緩存如果走的是 WMTS 或者打開了 WMS 的緩存策略那就需要手動(dòng)清緩存。我常用的解決辦法是在 GeoServer 管理界面里找到對(duì)應(yīng)圖層的 Tile Caching 選項(xiàng)選擇“清空緩存”然后刷新頁面。還有一種臨時(shí)開發(fā)技巧在預(yù)覽 URL 后面拼接一個(gè)隨機(jī)參數(shù)比如_tDate.now()強(qiáng)制瀏覽器繞過緩存。但這個(gè)只適合調(diào)試不能帶到生產(chǎn)環(huán)境。6. 性能優(yōu)化與生產(chǎn)環(huán)境部署經(jīng)驗(yàn)6.1 從 WMS 升級(jí)到 WMTS 的實(shí)踐建議如果項(xiàng)目訪問量上來了第一個(gè)性能瓶頸通常出現(xiàn)在 WMS 動(dòng)態(tài)渲染上。WMS 的每一次請(qǐng)求都會(huì)實(shí)時(shí)查數(shù)據(jù)庫(kù)、渲染圖片并發(fā)越高越吃力。GeoServer 里啟用 GeoWebCache 之后可以把渲染結(jié)果按瓦片緩存下來大幅降低重復(fù)計(jì)算開銷。在“圖層”列表里找到你要發(fā)布的圖層進(jìn)入 Tile Caching 選項(xiàng)創(chuàng)建緩存切片矩陣集一般選EPSG:3857它會(huì)自動(dòng)生成全球 0-22 級(jí)瓦片。然后選擇“手動(dòng)播種”也就是預(yù)生成指定范圍的瓦片。建議先只生成實(shí)際業(yè)務(wù)涉及的范圍和 8-16 級(jí)避免一開始把全世界都切片白白浪費(fèi)存儲(chǔ)和計(jì)算時(shí)間。WMTS 和 WMS 展示效果在視覺上幾乎沒差別但資源占用完全是兩個(gè)量級(jí)。對(duì)前端來說WMTS 就是普通圖片瓦片加載速度極快對(duì)服務(wù)端來說切片之后基本是純靜態(tài)文件輸出QPS 能成倍提升。6.2 離線部署與 Leaflet 離線加載有些項(xiàng)目運(yùn)行在政務(wù)內(nèi)網(wǎng)或沒有外部網(wǎng)絡(luò)的環(huán)境里這時(shí)候“l(fā)eaflet 離線加載”就變得非常關(guān)鍵。我做過幾次這種項(xiàng)目總結(jié)一下經(jīng)驗(yàn)。第一步底圖瓦片必須先準(zhǔn)備好。可以用離線的 XYZ 瓦片目錄也可以把在線瓦片批量下載到本地 Nginx 靜態(tài)目錄。Leaflet 加載本地底圖瓦片很簡(jiǎn)單只需要把 URL 指到本地路徑L.tileLayer(./tiles/{z}/{x}/{y}.png, { minZoom: 3, maxZoom: 18 }).addTo(map);第二步GeoServer 本身可以運(yùn)行在同一臺(tái)內(nèi)網(wǎng)機(jī)器上數(shù)據(jù)、服務(wù)都在內(nèi)網(wǎng)不需要連接外網(wǎng)。只要瀏覽器能訪問到內(nèi)網(wǎng)的 GeoServer 地址整個(gè)地圖應(yīng)用就能正常跑起來。這樣整套系統(tǒng)就完全離線化了。第三步要特別注意本地瓦片目錄的命名和層級(jí)必須規(guī)范。我之前遇到過下載工具產(chǎn)出的目錄層級(jí)和 Leaflet 期望的不一致結(jié)果瓦片怎么都加載不出來。最穩(wěn)妥的方式是先放一張測(cè)試瓦片到{z}/{x}/{y}.png對(duì)應(yīng)目錄用瀏覽器直接訪問那張圖片能打開就說明結(jié)構(gòu)沒問題。6.3 配合 Nginx 部署的前端工程Leaflet 應(yīng)用本質(zhì)上是純靜態(tài)頁面打包構(gòu)建后直接丟給 Nginx 托管就行。如果是以 Vue 或 React 工程形式開發(fā)構(gòu)建完會(huì)生成dist目錄里面是index.html和一堆靜態(tài)資源。Nginx 配置大致如下server { listen 80; server_name your.domain.com; root /var/www/leaflet-app/dist; index index.html; location / { try_files $uri $uri/ /index.html; } }注意try_files這一行的作用很重要前端路由如果是 history 模式刷新頁面時(shí) Nginx 會(huì)按路徑去找文件。不加這行子路徑刷新就會(huì) 404。雖然 Leaflet 本身是純頁面地圖不一定用路由但工程化項(xiàng)目基本都會(huì)用到框架路由寫上這行更保險(xiǎn)。另外建議 Gzip 壓縮開啟尤其對(duì) JS、CSS、JSON 這類文本資源能明顯減小傳輸體積gzip on; gzip_types text/plain text/css application/json application/javascript image/svgxml;6.4 GeoServer 本身部署時(shí)的 JVM 參數(shù)項(xiàng)目上線前GeoServer 的 JVM 堆內(nèi)存設(shè)置值得檢查一下。GeoServer 是 Java 應(yīng)用默認(rèn)啟動(dòng)腳本可能只給了 256M 或 512M一旦遇到大規(guī)模 WFS 請(qǐng)求或大量瓦片并發(fā)很容易觸發(fā)內(nèi)存溢出。在啟動(dòng)腳本或環(huán)境變量里調(diào)整export JAVA_OPTS-Xms1024M -Xmx2048M -XX:MaxPermSize256m具體數(shù)值根據(jù)機(jī)器內(nèi)存來定一般-Xmx設(shè)置到物理內(nèi)存的一半左右比較合理但別超過物理內(nèi)存否則也會(huì)導(dǎo)致系統(tǒng)整體變慢。7. 一個(gè)完整的小型實(shí)踐案例7.1 場(chǎng)景描述與數(shù)據(jù)準(zhǔn)備說了這么多理論最后用一個(gè)完整的小例子把流程串起來。假設(shè)我們手頭有一批全國(guó)主要城市的點(diǎn)數(shù)據(jù)存在public.cities表里字段有name城市名、province省份、pop人口數(shù)量、geomPoint 幾何字段。目標(biāo)是在 Leaflet 地圖上把這些城市展示出來點(diǎn)擊城市彈窗顯示名稱和人口并且支持輸入關(guān)鍵字篩選。先把數(shù)據(jù)準(zhǔn)備好確認(rèn)字段如下SELECT name, province, pop, ST_AsText(geom) FROM public.cities LIMIT 5;如果輸出的 geom 是坐標(biāo)點(diǎn)數(shù)據(jù)基本可用。7.2 GeoServer 發(fā)布操作記錄我在 GeoServer 里的操作流程是這樣新建工作區(qū)gisdb。添加 PostGIS 數(shù)據(jù)存儲(chǔ)連接gisdb數(shù)據(jù)庫(kù)。發(fā)布cities圖層設(shè)置 SRS 為EPSG:4326邊界從數(shù)據(jù)計(jì)算。在“圖層預(yù)覽”里驗(yàn)證選OpenLayers預(yù)覽方式能看到散點(diǎn)圖即表示發(fā)布成功。編輯樣式用 SLD 自定義點(diǎn)顏色和大小。開啟 Tile Caching對(duì) 0-10 級(jí)做預(yù)切片。這套流程熟練之后十分鐘左右就能完成前期慢主要是因?yàn)閷?duì)界面布局不熟。7.3 Leaflet 頁面實(shí)現(xiàn)交互前端頁面我寫了兩個(gè)核心功能塊。第一塊是常規(guī)的地圖初始化和點(diǎn)標(biāo)記加載用 WFS 加載 GeoJSON 點(diǎn)數(shù)據(jù)第二塊是關(guān)鍵字查詢城市。查詢功能本身可以用瀏覽器端過濾 GeoJSON 數(shù)據(jù)來做但如果數(shù)據(jù)量大我建議直接走后端 CQL 過濾實(shí)現(xiàn)方式是在請(qǐng)求 WFS 時(shí)加上CQL_FILTERfunction queryCity(keyword) { geojsonLayer.clearLayers(); $.ajax({ url: http://localhost:8080/geoserver/gisdb/ows, type: GET, data: { service: WFS, version: 1.0.0, request: GetFeature, typeName: gisdb:cities, srsName: EPSG:3857, outputFormat: application/json, CQL_FILTER: name LIKE % keyword % }, success: function (res) { geojsonLayer.addData(res); } }); }這個(gè)實(shí)現(xiàn)方案在中小數(shù)據(jù)量下表現(xiàn)很好響應(yīng)時(shí)間基本在幾百毫秒以內(nèi)用戶體驗(yàn)非常流暢。8. 項(xiàng)目目錄結(jié)構(gòu)與體積優(yōu)化備注如果你下載的 zip 解壓之后是一個(gè)完整的前端工程里面通常包含index.html主頁面js/Leaflet 及相關(guān)插件css/樣式data/本地?cái)?shù)據(jù)緩存或離線瓦片目錄本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天爽人人综合免费7799| 日韩欧美中文日韩欧美色| 黄色二级片网站| 欧美真人抽搐一进一出gif | 欧美性第1页| 天天综合网~69| 国产亚洲精品美女久久久m| 性综合网| 国产精品一区在线播放| 内射中国少妇高清视频免费视频| 天美传媒AV国产在线| 狠狠色婷婷7777久| 青娱乐久久艹| 丁香五月天堂| 最近的最新的中文字幕视频| 婷婷丁香五月天综合东京热| 香蕉热人人精品| 亚洲天堂资源网| 欧洲亚洲天堂精品| 欧美东京热青青草| 人人妻人人爽一区二区三区| 欧美97超碰| 国产夫妻性生活视频| 玖玖草久草99蜜月一区二区三区| 欧美 亚洲 另类 综合| 日本免费不卡二区| 99re这里只有精品3| 欧美拳交在线播放| 欧美极品女人的天堂| 人妻AV在线| 久久精品国产72国产精品福利| 欧美精品99久久久**| 日本免费人成视频播放120秒| 亚洲无码com| 国产老女人久久毛| 一区操逼| 亚欧免费| 久热这里| 久9久精品视频| 天美一二三在线观看Av| 欧美一区二区传媒| 久久爱超碰网| 亚洲情色欧美| 日本www操操操| 一线黄色免费性爱片| 思思热免费在线视频| 亚洲人妻在线一区| 日韩素人无码一区二区三区三州| yirendaxiangjiashipin| 久久天天性久久伊人| 骚货| 亚洲情色1区| 日本东京热大香蕉a片| 伊人久久久日韩一区| 东北女人| 2020天天色综合| 91综合天天看| 日韩av在线精品观看| 久久伊人最新网址视频| www.婷婷五月天| 天天干天天干天天| 超碰97男人| 欧美在线 亚洲| 精品国产乱码久久久影院| 骚熟女AV网| 97免费视频在线| 久久性生大片免费观看性| 精品中文字幕第一页| 日韩激情中文字幕有码| 很黄很污的免费网站| 久久久久9| 亚洲玖玖爱| 久久久久国产精品久久久| 最近2018中文字幕在线高清第一页| 久久久久亚洲AV无码专区少妇| 中文字幕 国产区| 国产日本熟女顶级一区二区三区视频 | 精品欧美А∨无码黑人大荫蒂| 欧美日韩国内不卡| 操学生天天| 亚洲天天自拍| 一区二区三区视频国产免费| 久久精品国产精品亚洲艾通辽熟妇| 国产又大又粗又长视频在线| 大肥女高潮bbwbbwhd视频| 强奸乱伦资源| 加勒比色综合| 九九视频黄色片| 日本护士高潮| 日本精品九九九| 日韩欧美性吧婷婷乱伦大香蕉| 狠狠色噜噜狠狠狠狠狠色综合久久| 99热精品在线在线| www.成人无码| 欧亚免费视频| 青青草影视蜜久久| 热九九精品| 妇女性内射冈站HDWWWCOM| 国产午夜福利专区综合| 69精品在线| 久久视频,这里只有精品 | 最新啪啪视频| 欧美在线视频播放| 中文字幕中文字幕一区二区| 亚洲综合99999| 亚洲天堂男人| 青青草日本无码| 亚洲图片欧美另类综合免费视频大大香| 性久久久| 色五月天AV| 国模无码人体一区二区三| 思思99热| 超碰在线91| 色情五月丁香| 国产日韩美女小穴视频网站不卡| 秋霞免费AV| 中国小夫妻勾搭露脸淫荡对白 | 欧美日韩资源在线| 日本熟妇人妻中出视频| 日韩无码第3页| www久久99| 伊人国产AV| 五月激情综合网| 大香蕉中文网| 欧日韩不卡视.频| 欧美97免费| 五月婷婷激情综合| 97超碰站| 日本99一区二区| 内射老妇BBWX0C0CK| 日韩少妇丰满亚洲| 五月丁香拍拍激情综合三级| 亚洲美腿丝袜香蕉影视欧美成人| www.五月天| 欧美亚洲激情| 欧美色图下一页| 2021久久国产综合精品青草| 亚洲高潮影院| 日韩天堂av电影在线观看| 无码一区免费在线不卡| 98福利在线视频| 久久久国产av美女私房| 热热色AV| 女同性恋一区二区三区精品视频| 再深点灬舒服灬太大了好硬好爽| AV乱伦国产| 天天日天天射天天干| AVE乱伦| 久久久久久中文版| 久久激情网| 日韩欧美日韩| 超碰97人人乐| 97色诱| 老司机射| 91丝袜在线观看| 操b网站亚洲无码| 97人人操人人摸人人爱| 精品蜜乳AV免费观看| 91成人久久| 国产又粗又又黄又猛| 波多野42部激情无码喷潮| 日韩精品国模| 亚洲日本男人天堂网| 韩日性爱av| 欧美色日| 国产精品熟女AV中文字幕在线播放| 欧美另类精品xxxx| 精品国产一区探花在线观看| 亚洲激情视频| 九九热只有精品| 91殴美大片| 99久久网站| 26uuu欧美日韩| 亚洲色婷婷综合久久久久中文| 天天综合欧美综合| 日本福利社| 欧美亚洲尤物久久| Av手机版天堂网| 精品一区二区三区麻豆| 日产精品久久久一区二区| 五月天伊人| 婷婷五月天伊人| 亚洲一级特黄大片在线播放91| 亚洲色图欧美| 色九久| 精品一区99999| 青青草十区九区爱夜| 久久女婷| 激情五月天视频| 国产成人一级av88| 亚洲 欧美 制服 另类 自拍| 精品综合久久久久久五月天| 日本大香蕉综合网| 91精品国产91熟女| 91国产操逼视频| 青娱乐91| 欧洲精品二区| 国产在线能看的你懂的| 秋霞色色影院| 欧美成熟性爱精品| 人人弄人人摸| 国内毛片热久久思思热| 日本孕妇一区二区视频操逼免费看| 国产精品久久久久久久久久久久久久吹| 亚洲色图综合网| 九七毛片九九毛片| 97国产精品久久久久 | 黄色av一区二区在线| 国产尤物AV尤物在线观看不卡| 91搞逼视频| 久草精品国产99| 九九九精品成人免费视频小说| 亚洲色图 欧美| 91天天综合| 日韩字幕一区| 亚洲伊人a线观看视频| 无码免费在线观看黄色片| 亚洲一区日韩精品| 福利视频一区二区微拍| 久操不卡视频| 欧美中文字幕男人天堂久久精品 | 亚洲AV无码乱码| 热99这里有精品综合久久 | 成人三级片一区二区三区视频| 亚洲综合在线91| 天天干嫩逼网| 亚洲无码超碰免费| 亚洲欧美日韩精品久久久一区二区 | 亚洲中文字幕97久久精品少妇| 久久免费精彩视频| 欧美性,亚州色| 色香综合天天影视综合 | 啊啊啊啊好疼| 国产在线能看的你懂的| 色乱二区| 999日韩中文精品观看视频。| 红桃视频高潮| 日日骚av| 17c在线成人免费A片观看| 在线观看色视频| 日韩三级一区| 日韩美女高潮喷水视频| 东京热毛片调教| 久久婷婷电影网| 亚洲精品第一| 伊人97色天使| 久久精品成人| 天天躁日日躁xxxxx| 日韩免费性爱视频在线观看| 天天香香欲综合| 色五月AV在线| 老子午夜伦不卡影院| 国内精品久久久久影院亚洲| 亚洲AO在线| 中文字幕一品色图| 黄色AAAAAAAAAAA大片| 夜色五月天| 久久97超碰香蕉| 日韩福利电影网| 成人性爱高清视频免费看| 啊啊啊好湿久久| 在线播放中文字幕| 久久久亚洲欧美综合| 91 在线亚洲| 天天综合站| 91精品微拍福利| 亚洲精品男人的天堂| 午夜精品久久久久久久99热影院| 欧美+日产+中文| 日韩激情啪啪啪| 第二页中文字幕| 男女国产精品| 欧美日韩国产中文精品字幕自在自线,| 欧美人人天天网| 黄色免费一级在线毛片| 天天综合91在线| 中文字幕欧美精品亚洲日韩蜜臀| 波多野结衣先锋影音| 中文久久一区| 色婷婷国产精品一区在线观看| 黑人无码一区二区| 日本孕妇孕交| 国产精品无码在线| 丰满人妻一区二区中文| 国产AV毛片| 男人精品天堂一区| 福利在线观看一区二区| 成人在线视频一区| 久久美女国产| 亚洲高清在线se| 日本天天操| 91国产美女丝袜足交精品视频| 天堂v无码免费视频| 嗯嗯嗯啊啊啊在线免费观看| 精品人妻一区二区三区日产| 狠狠搞 亚洲91| 欧美一级美片在线观看免费| 国产偷人妻精品一区二区在线| 欧美偷拍区| 男人 天堂 日 亚洲| 亚洲伊人久久综合97| 丝袜制服字幕在线| 日韩高清黄片| 伊人午夜福利视频| 偷拍伦理视频| 超碰99热中文字幕| 国产99999久久精品| 日韩无码第3页| 一区二区不卡免费| 男人的天堂视频精品乱在线| 欧美日韩国产男人| 暴力av在线| 99热官网| 岛国黄片网站| 亚洲精品美女操逼| 日韩无码黄色片| 亚洲青色欧美| 欧美一级黄片视频在线| 成人网欧美风情| 波多野42部无码喷潮在线观看| 97碰碰日本乱偷人妻中文的| 91麻豆va国产精品| 乱伦强奸区日韩| 四虎影视在线| 大色综合网| 天天色综合影视网| 伊人伊人LD| 色官网在线| 亚州91| 九九热精彩视频| 天美麻花大全视频| 免费家庭乱伦视频| 九九人妻| 亚洲综合另类欧美久久久| 国产女乱淫真高清免费视频| 久久久久久加勒比| 久久久禁| 天天操天天射青青草| www.91逼逼.com| 啊啊啊啊无码| 蜜桃狠狠色伊人亚洲综合 | 特级大荫道BBwBBwBBW| 人人操人人操草草| 超碰在线欧美性爱激情| 1024精品在线| 91美女視頻| 91久久久久久久久久久| 日本 欧美 国产一区| 在线播放成人高清免费视频| 亚洲欧美日韩中文播放| 一二三四区电影| 日韩精品99久久久久久中文字幕| 激情五月天色播| 国产91啪| 一区操逼日比视频| 黄色成人网久久久久久| 欧美综合色,www| 欧美亚洲涩涩| 人妻人人澡人人爽人人| 欧美大香蕉卡久久| 亚州色交| 日韩精品区二区三区不卡| 奇米狠999| 中文字幕美女91| 91老司机在线| 人妻久久一区二区三区| 青青青在线高清视频在线一二三四区 | 免费农村成人少妇人妻Aa一区二区视频 | 久久精品72| 91大学精品激情戏| 国产精品一二三区福利| 丁香色婷婷| 殴美大黄片| 成人精品一区二区91毛片不卡| 久96热在线观看视频| 91综合网站| 午夜传煤十二区精品| 色777999综合| 神马久久免费电影观看| 超碰97综合网| 超碰97丝袜| 97欧美日韩精品| 老色鬼成人精品视频下载大在线观看| 97精品视频网站| 美女的肌被草喷水视频| 中文字幕十五区| 在线黄色污污网站| 校园春色宗合网| 亚洲高清少妇| 久久婷婷苹果| 女优大全 - 91n| 啊啊啊好想要| 日本熟女不卡视频| 国产美女mm131爽爽爽爽| 岛国片国产成人亚洲播放| 一级黄色视频网| 国产AV精久久| 久久久久久久久久8888| 99自拍B亚洲| 91麻豆天美国产| 一本大道综合伊人精品热热| 一区二区三区男女操逼黄色小电影| 久久婷婷伊人| 顶级少妇BT天堂| 亚洲限制级| 亚州精品人妻一二三区| 无码人妻一区二区三区免费九色| 91综合无码| 啊啊啊想要| 国产精品网址| 五月天丁香| 日少妇亚洲版| 欧美日韩系列| 日韩欧美福利视频看看| 岛国艾薇凹凸视频天堂| 91久久久久免| 内射中国少妇高清视频免费视频 | www.五月天| 欧美色66| 国产综合久| A片A5445444| 日韩欧美国产高清视频| 肉丝网站91| 亚洲人精品午夜不卡| 久九九九| 最新国产精品久久精品| 欧美A√综合网 | 熟妇色99| 亚洲精品人妻吞精av | 男人的天堂 在线一区| 国产精品美女久久久久AⅤ国产馆| 一级久久性爱视频| se,,,亚洲欧美| 99热这里都是精品| 天天综合网日韩7799| 国产成人亚洲精品自产在线| 少妇久久久免费| 日韩一级久久毛片| 亚洲天堂综合AV| 久欲AV| 无色无码| 四虎在线播放| 综合av社区| 婷婷五月天丁香| 97丝袜亚洲在线播放| 2019天天干| 久99视频| 91欧美情色| av午夜影院在线播放| 不卡九肏| 国产1024在线播放| 91扒丝袜综合在线| 91综合色| 狼人综合婷婷激情四射| 麻豆成人AV| 国产成人无码网站在线视频| AV男人天堂网| 婷婷激情五月天小说网| 亚洲人久久久网| 日韩免费三级黄片电影| 亚洲区限制级 99| 国产成人精品必看| 久操在97| 福利视频一区二区微拍| 99热日| 乱伦图一区| 美性中文综合网| 一本色道久久天天射天天干| 99re8免费高清在线| 日韩免费福利在线观看| 亚洲国产综合久久久性感熟妇| 亚洲不雅视频1区二区| 午夜精品久久久久久久久久蜜桃| 天天添天天干电影| 性色AV网站| 欧美 亚洲 大香| 性久久久| 亚洲九九爱| 日韩国产乱子伦App| 呦女网站| 久久精彩免费视频| 国产色产精品在线观看| 91欧美美女日韩国产婷婷| 国产精品一区二区久久精品| 欧美激情超碰777| 亚欧性爱无码| 中文字幕免费看| 91碰碰碰| 呦呦影院| 亚洲鸥美色图| 成人五月香网在线| 人人看人人插| 久久久久久九九九九九九| 综合一区中亚洲国产成人综合精品 | 亚洲人精品久久久| 天美精品av| 丁香婷婷五月| 亚洲 欧美 综合 91| 色色色综合网| 免费av高清无码| 啊啊啊不要嗯嗯在线观看| 97国产成人精品免费视频| 躁躁躁日日躁2020| 天美传媒在线一区| 色色99| 日韩免费福利在线观看| 日韩97精| 蜜臀在线免费观看在线免费观看| 色嗨嗨在线| 一区二区视频在看| 蜜臀色乳| 999日韩中文精品观看视频。| 色欲三区| 精品一区二区三区18| 精爱久久| 六六久久日韩不卡| 国产网站在线播放| 韩国手机不卡无码三级视频| 高颜值美女口爆高潮浪叫| 亚洲激情 欧美色图| 欧美色综合影院| 中字幕人妻一区二区三区| 国产伊人精品在线| 欧美第二页午夜| 伊人97色天使| 色激情五月天| 立川理惠无码一区二区| av无线看| 99久久精品欧美国产| 啪啪啪综合| 天天躁狠狠躁av| 青青操97| 91原创在线观看| 日本精品成人无码| 欧美一区二区三区蜜桃| 欧美福利视频啊啊啊啊| 啊啊啊啊好疼| 午夜视频久久久| 性交一区二区在线播放| www.高清无码诱惑一区.com | 亚洲欧洲另类| 亚洲各类熟们中文字幕| 91强热人妻| 久久五十路熟女人妻| 国产精品白领在线观看| 色悠久| 97se亚洲综合自| 9久9久9久9久视频网站| 人妖欧美一区二区| 四虎精品亚洲| 亚洲 欧美 日本 国内 首页| 人妻 欧美亚洲| 欧美综合传媒| 日韩特一级久久| 91色伦| 久久精品成人| 97欧美日韩综合| 99999国产| 91狠狠综合久久| 久操国产在线| 天天日天天干天天操| 亚洲色图亚洲| 久久成人国产精品| 国产精品 久久久精品一牛| 超清福利精品视频在线| 日本免费一级AAA大片器 | 91jk色拍| 青青草成人视频在线观看二区| 一直超碰| 91国产伊人大香蕉| 97超碰欧美精品| 欧美人妻少妇| 亚洲激情在线观看一区| 在线观看色视频| 日韩精品视频在线观看一卡二卡| 99久视频| 久久9亚洲| 久久超碰98| 日韩色图 一区二区| 一卡二卡三卡| 97精品一区二区视频| 国产精品人人爽人人做可爱福利| 欧亚性爱啪啪| 蜜臀久久99精品久久久老,,| 日韩二级| 久久华人网| 91天堂| 国产精品日韩在线一区| 日本高清有码网址视频| 开心五月天激情网| 乱码熟妇人妻久久久| 日韩精品电影| 午夜在线播放| 色官网色综合| 久久99热这里只频精品6学生| 北条麻妃99精品青青久久| 超碰在线97国产| 亚洲深夜福利| 国产AV精久久| 久久国产精品91| 亚洲高清男人天堂| yiqicaoav| 日韩精品在线观看网站| 99re不伦| 97在线观| 欧美一区二区观看在线| 精品久久久av| 青草伊人网| 两女互慰AV高潮喷水在线观看| 二色av| 丝袜亚洲91| 超碰免费人妻在线| 99久久综合网| 91无码人妻| 亚洲 无码 偷拍| 激情小说五月天| 亚洲天堂资源| 性暴力欧美猛交在线直播| www.色婷婷| 亚洲天天精品| 亚洲伊人a线观看视频| 欧美嫩性色| 九九九999久久久网站| 无码WWW免费视频网站| 天天香香欲综合| 九九九精品一区二区无码| 日本2020一区二区| 91小视频| 嗯~啊~快点 死我视频免费看网站| 免费精品国偷自产在线在线| 欧美另类色图片| 嗯嗯不要 视频| 激情抓乳插进去啪啪啪日韩 | 亚洲天堂 视频你懂的| 999九九精品| 黄色av网站在线播放| 一区二区三区四区姦女| 校园春色综合网| 91久久久久免| 91 丝袜在线播放| 99激情| 少妇无码999| 色色婷婷五月天| 国产农村妇女毛片精品久久| 婷婷五月天影院| 久久久999国产精品| 国产欧美日韩在线不卡第一页| 久久高清无码夜夜操| 操逼逼中文字幕| 亚洲丰满很很操| 国产粉嫩出水在线播放| 啊啊啊操死我了| 亚洲激情av| 日逼97| 欧美.亚洲.另类.丝袜.制服.诱惑| 日韩91网站| 骚货| 欧美日韩电影成人在线| 亚洲鸥美色图| 色综合婷婷| 91五十路| 久久综合女优| 在线中文字幕极品av| 日本一卡二区在线| www.久久| 中文字幕在线免费观看2| 久草婷婷| 日韩欧美国产高清视频| 蜜臀AV午夜精品久| 亚洲瓯美色图| 九色在线熟女国产黑人| 国产sv美女内射| 无码一区二区三区四区五区六区七区八区九区十区视频 | 91色综合激情| 日本色色色视频| 美女诱惑久久| 欧美暴力猛交| 久久丁香五月天| 99久久国产精品免费高潮| 久草毛片电影怡| 久久精品性| 精品一区二区国产日韩| 国产吹潮女在线观看| 天天综合91在线| 亚洲av综合色| 欧美性暴力| 中文字幕文字幕无码一区二区三区电影99 | 久碰视频| 免费超碰97在线观看| 色色九区| 操淫穴亚洲五月丁香 | 日韩av在线精品观看| 亚洲色图第四色| 18一区二区三区| 最新国产亚洲精品精品国产亚洲综合| 亚洲毛片基地专区| 天天爱综合网| 熟女中出视频| 五月天激情小说| 国产精品嫩草影院免费| 精品99999| 国产不卡的视频| 天天亚洲综合| 婷婷五月色| 亚洲欧洲精品视频发布| 立川理惠被中出无码| 成人九九| 激情小说亚洲视频| 青久操| 老鸭窝亚洲毛片| 国产av美女被艹的乱叫| 人人操人人摸人人看人人插| 精品一区二区三区丰满熟女-亚洲欧美一区| 欧洲与亚洲欧美精品中文字幕| 天天摸,夜夜摸| 看黄片视频免费| 国模私拍一区二区三区神乳| 欧美天天射| 免费视频观看60秒| 大屁股熟女一区二区三区| 在线天堂999| 欧美有码激情视频一区二区三区| 性色av网站| 国产精品女生av| 无码直播久久久| 激情综合网激情综合| 色香av| 久久线上视频免费看| 国产自啪精品视频网站黑丝| 粉嫩久久久久| 色老汉玖玖爱| 亚洲天堂,男人| 狼人久草| 99热久| 久操操| 狠狠狠狠狠| 亚洲色婷婷| 九九热视频在线观看| 亚洲无码色| 女优免费一区二区永久| 99久热| 亚洲色图久久成人| 爆乳免费黄网站| 禁止观看美女黄| 91女网站| 久久久久ab| 久久精品中文| 麻豆区久久久久亚| 凹凸 69堂 在线播放| 久久在肏| 欧美性天天| 欧美不卡在线一区二区| 日韩精品一区二区日韩| 亚洲色图日韩精品| 蜜乳av首页| 99激情| 欧美 传媒 麻豆 日韩 偷拍| 性爱欧美五月| 精品一区二区2| 少妇熟女一区二区三区| 视频国产成人精品日本亚洲18| 69视频入口| 免费一级特黄特色大片在线观看看| 日韩精品1区2区中文字幕| 立川理惠无码一区二区| 偷拍欧美综合| 精品网站99999| 超碰欧美97资源| 天天日天天看| 欧美姓爱综合网| 国产免费小视频| 一本色道无码DVD中文字幕| 日韩精品一区二区日韩| 91精品久久久久久77777| 亚洲AV无码天美传媒一区| 闷骚老熟女15P| 色香网| 亚洲码在线中文在线观看| 免费簧片在线观看| 日韩精品一区二区三区四虎影视| AV天堂男人的天堂| 午夜操一视频一区| 性爱视频免费网址| 桃花色涩综合影院| 青青草在线视频欧美| 天天操天天干美女网址导航| 女人与公拘交酡2020视频| 日韩不卡a级视频专区| 99re3这里只有精品| 999熟女精品| 亚洲国产丝袜熟女av| 大香网站| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 日韩图色| 岛国1区2区3区在线观看| 国模少妇一区二区三区| 亚洲 欧美 小说| 射久久| 人人射人人操人人摸| 午夜久久一区二区无码中出| 欧美日韩人妻精品一区二区三区| 无遮挡又黄又刺激的视频| 丁香色五月 97干| 人妻爽爽啪视频| 大香蕉综合网| 午夜性生活av免费在线看| 首页亚洲国产高跟丝袜诱惑视频| 色拍偷亚洲| 九九九九热| 色色色99| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 夜夜综合| 91综合色噜噜| 亚洲欧美精品91| 亚州色图欧美色图| 免费看A片毛毛片在线播| 精产国品一区二三产品| 七月婷婷综合| 色哟哟的毛片| 欧美熟妇精品黑人巨大91| www网站黄| 97天天在线| 3P乱轮视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 成人免费福利在线观看| 97人人中文网| 黄色无码高清黄色无码网站| 亚洲日本成人动漫| 九久9精品| 丁香六月激情| 久久香蕉国产线看观看亚洲女人| 日韩黄色电影网站| 国产丝袜高跟美女av免费观看| 亚洲三区视频| 色综合20p| 2021久久国产综合精品青草| 亚洲AV在线资源| 久久一级无码精品毛片6| 日本中文字幕熟妇| 国产亚洲日本精品在线| 四虎影视永久在线观看精品免费网站| 成年人黄色小视频网站| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 一个人免费视频观看在线WWW| 成 人 影视 一区 二区 三区 四区 | 最新三级网址| 色亚州人久干视频在线观看免费版| 综合 欧美 亚洲 日本| 美女91av| 色色色99| 91天天综合| 黄色高清久久无码依人| 国产日逼视频| 欧美日韩国产色五月综合在线| 无码伊人久久大杳蕉中文无码| 欧美九九九| 992这里有精品| 97在线免费观看| 一级黄碟在线观看| 日韩激情中文字幕有码| 亚洲色婷婷综合久久一区二区三区| 国内外色色色色色成人视频| 91在线欧美| 精品久久久久久久久久久久| 强奸乱伦av电影| 欧美国产婷婷久久| 久久久久9999妇女| 9色在线| 日韩性爱啪啪视频| 亚洲日韩乱码中文无码蜜桃臀网站 | 97在线免费看| 午夜视频好爽啊| 欧美中日韩XXXX| 熟女色图在线| 国产亚洲日本精品在线| 精品亚洲天堂| 九九国产热| 男人的天堂啪啪啪啪啪蜜桃不卡| 美女操逼A A| 97色欧洲| 干B| 97电影院超碰| 综合久久久久久久综合网| 蜜臀久久99精品久久久久久成人小说| 天天日日本| 婷婷伊人网| 久久五十路熟女人妻| 2020中文字幕在线观看| 欧美91网站| 天综合网| 国产日韩欧美三级片| 久久精品国产亚洲妲己影视| 久久午夜神马| 1024午夜激情男人的天堂| 亚 欧 美 综合| 亚洲黄色a级片| 玖玖爱在线视频免费观看| 国产91啪| 激情婷婷综合久久| 久九九九九九九九热| 欧美国产一区二区三区麻豆传媒 | 在线情色电影 91大 | 伊人操操| 日本一区二区电影网站| 无码自拍SM| 中文字幕一区二区在线日韩精品| 欧州91高潮| 久久r精品| 伊人aaa| 久久偷拍人| www.四虎在线| 大香蕉123| 中文字幕 码精品视频网站| 欧美久久人人网| 91av一区二区在线观看| 在线观看中文字幕| 欧美综合色,www| 亚洲男人天堂2| 内射卯月麻衣| 国产久久日| 91久久18禁| 嗯嗯嗯啊啊啊操的我好爽| 超踫中文字幕| 六月丁香啪啪| 综合一区中亚洲国产成人综合精品| 97在线精品观看视频| 成人免费视瓶| 日韩日本欧美在线观看| 蜜臀久久99精品久久久久久婷婷| 老熟乱一区二区三区四区| 激情四射婷婷六月天| 97视频新免费| 欧美色图在线视频少妇| 国产情色第一第二页在线观看| 最新av在线| 久久动漫精品视频这里只有精品| 丁香婷婷激情五月天无毒不卡| 亚州色站 日韩电影| 爽爽爽免费视频| 91天美传媒精品| 91网站18在线| 伊人久久蜜月| 欧美日韩精品青青| 欲香欲色综合天天伊人| 色九久| 尤物视频视频官网| 国产9 9在线 | 亚洲| 亚洲 日本 国产 综合| 亚洲精品无码成人久久久99| 久久一级无码精品毛片6| 亚洲精品aa久久伊人| 亚洲中文字幕三级在线| 久久久人妻| 亚洲乱色视频一区、二区在线| 9热9热综合网| 91n免费处女| 传媒在线观看一区二区三区| 久操免费在线| 91色人妻| 亚洲一卡2卡3卡4卡乱码网站 | 午夜天堂精品久久久久91| 91在线页| 最新中文字幕av| 大香交| 成人小电影网站tex| 黄骗免费网站| 免费超碰97在线观看| 久久久久久久久成人av解说| 久久99网站| 97色论| 熟女高潮精品一区二区| 乱欲视频| 亚洲成熟国产精品美女| 91粉芽高清在线一区二区| 熟女一区二区| 熟妇高潮二区三区| 97香蕉网| 久久性爱网站| 荡小穴在线观看| 中文字幕av丝袜| 欧美日韩资源| 中国女人内射6XXXXX| 大奶啊啊好爽 | 亚洲一区在线观看欧洲| 国产麻豆一级精品视频| 9久久9综合| 91精品在线播放| 国产精品4p在线观看| 成人黑料社久久| 日本999精品视频| 亚洲欧美变态| 九月激情婷婷| 熟妇熟女亚洲天堂网| 色香91| 人人看人人插| 啊啊啊啊一区| 日本天堂在线播放| 欧美日韩性爱电影在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | AV中文字幕剧情1区2区3| 久久加勒比| 蜜臀操逼黄色视频操的好爽| 色好看av| 色妇综合网| 亚洲av乱伦色图网站| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 熟女少妇一区二区三区| 性爱边摸边日免费AV| 超碰97资源中文字幕| 亚洲熟妇A V黑人| 欧美疯狂做爰xxxx| 丝袜亚洲91| 成全动漫视频观看免费下载| 99re视频在线观看这里只有精品| 另类专区加勒比| 日本精品网站在线中文| 天天摸夜夜摸| 男人的天堂2019| 深爱五月婷婷| 欧美日本不卡在线| 新版天堂中文资源8在线| 无码人妻精品一区二区三区九九| 亚洲欧美国产中文视频| 大香蕉伊利av| 囯产精品久久久久久久久久二区三区| 熟女视频久久| 青青青草原| 国产伦乱91| 大香交| 欧美一区二区三区日韩| 超碰 国产熟女精品一区| 日本无码1| 91美女視頻| 国产剧情AV不卡在线观看| 大香蕉之青青草原| 日韩欧美tv一区二区在线观看| 乱老熟女一区二区三区| Av手机版天堂网| 热久日综合| 国产高清成人mv在线观看| 亚洲第91页| 欧美人妻精品一区二区| 偷拍片久久| av凤凰久久久| 女生看匆91网站| 夜夜嗨一区二区| 在线视频97| 天天综合香 ld视频| 国产一区免费午夜视频| 欧美激情久| 亚洲av淫乱| 日本精品九九九| 熟女人妻一区二区三区| 久操频道免费在线呗看| 人妻少妇精品一区二区三区| 天天综合网网欲色| 欧美久久久15P| 97人人操人人摸| 男人的天堂三级| 91久久久久免| 欧亚无码视频| 青草影院内射高潮| 丁香九月激情啪| 亚洲精品九九九| 麻豆福利视频导航| www.黄色在线| 男人的天堂视频精品乱在线| 麻豆天美国美国产| 少妇厨房愉情理伦片bd在线观看| 91欧美丨精品丨入口| 色色色99| 性色AV蜜色av色欲av| 久久熟女久| 欧美国产日韩清纯唯美| 亚洲黄色视频在线观看视频| 国产一| 日本久久久久久久久| 99老司机精品视频在线观看| 疯操AV| 性欧美体内射精| 手机看片1024你懂的国产| 白丝一区| …中文字幕亚洲乱,97人妻无码费视… | 亚州 综合 色图| 婷婷综合网| 两女互慰AV高潮喷水在线观看| 97精品视频在线| 欧美日韩222| 蜜乳AV色欲AVAV无码| 天天综合亚洲综合| 狠狠爱AV| 99国产天美| 99久热| 成人麻豆av电影网站| 亚洲天堂2020| 免费99精品国产自在在线| 好湿好紧好爽 视频| 色综合久久88色综合久久天天| 3PAV乱伦视频| 久9爱精品| 色综合20p| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 俺也射| 久视频在线观看| 国产伦精品一区二区三区在线观 | 热久久99999| 青青操青娱乐| 精品国产久热在线观看| 国产精品一区二区亚洲人成毛片| 欧美精品黑人猛交高潮| 大屁股熟女一区二区三区| 激情图片亚洲色图| 亚洲91少妇| 国产激情视频在线观看| 久久亚洲AV无码专区国产精品| 亚洲自拍偷拍视频在线| 欧洲视频在线| 精久久久| 亚洲综合情色| 狠狠干精品一二三四五六2022| 欧美亚洲综合色| 爱射综合| 静品嫩模一区二区| 蜜乳性色无码专日粉嫩骚逼AV| 强奸乱伦免费网站| 日韩在线观看三级电影| 青青草大香蕉视频| 欧美综合自拍亚洲综合图| 69久久久久久久久久久久久| 中文字幕av久久爽Av| 操九九九九九九| 欧美综合骚| 天天日老熟妇| 欧美性爱97超碰| 91熟女熟妇视频网站| 国产亚洲色婷婷久久99精品91| 久久久精品成人国产| 国产精品爽爽va在线观看98| 美女尤物人人操| 亚洲乱熟女一区二区三区大香蕉| AV乱伦专区| 欧美人与动性人交a| 久久的免费性爱视频| 免费AV中文网在线观看| 91丝袜在线观看| 日日爱99| 国产亚洲色婷婷久久99精品91 - 百度| juliaann丝袜| 啊啊啊啊啊啊啊啊在线观看| 黄色成年| 玖玖久久久| 91综合色| 日韩字幕一区| 亚洲欧洲综合成人av一区| 中文精品一区二去| 草草影院最新网址| 黄色av片三级三级三级免费看| 欧美久久伊人| 九九热精品视频在线观看| 久久极品一区二区|