色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

GeoServer發(fā)布GDB全流程:GDAL直讀、格式轉(zhuǎn)換與運(yùn)維

GeoServer發(fā)布GDB全流程:GDAL直讀、格式轉(zhuǎn)換與運(yùn)維 1. GeoServer 讀不了 .gdb 文件夾先把原因刨到底很多人第一次把 GDB 數(shù)據(jù)往 GeoServer 上掛的時候遇到的畫面都差不多在新建數(shù)據(jù)存儲里翻遍了所有選項(xiàng)找不到一個叫 File Geodatabase 的類型或者硬著頭皮把.gdb目錄的路徑填進(jìn)去點(diǎn)保存GeoServer 彈一個紅色報(bào)錯提示 URL 無法識別。這里需要先把一件事說清楚GeoServer 本身并不具備解析 GDB 二進(jìn)制格式的能力它能讀什么格式完全取決于裝了哪些數(shù)據(jù)存儲擴(kuò)展。GDB 是私有二進(jìn)制格式規(guī)范由商業(yè) GIS 廠商制定開源棧里能讀它的那條路本質(zhì)上繞不開 GDAL/OGR 這一層翻譯層。搞明白這一點(diǎn)后面的所有操作才有方向感。我見過不少人拿著一個幾十 GB 的 GDB試圖直接改后綴、改連接參數(shù)、甚至把整個.gdb目錄壓成 zip 再上傳折騰一下午也沒進(jìn)展根子就在于把發(fā)布服務(wù)誤解成了上傳文件。GeoServer 發(fā)布圖層的本質(zhì)是它需要一條能持續(xù)訪問數(shù)據(jù)的連接并且這條連接的驅(qū)動棧認(rèn)識這種格式。GDB 恰好卡在第二點(diǎn)上。1.1 GDB 不是一個文件而是一套目錄約定先糾正一個非常常見的認(rèn)知偏差。.gdb在文件管理器里顯示成一個帶數(shù)據(jù)庫圖標(biāo)的文件夾點(diǎn)進(jìn)去是一堆名字像a00000001.gdbtable、a00000003.gdbtablx、gdb這樣的文件。這不是壓縮包也不是可以隨便拷一半走的目錄。它是一個小型的關(guān)系型存儲幾何、屬性、空間索引、域、子類型、關(guān)系類全在里面靠一套內(nèi)部表結(jié)構(gòu)組織起來。目錄里少一個.gdbtablx整個數(shù)據(jù)集可能就讀不出空間索引.gdb目錄還在被別的進(jìn)程占用時你去復(fù)制它拷出來的可能是殘缺的。這個特性直接決定了兩件事。第一GDB 適合被 GDAL 這類專門的庫一次性讀懂不適合被 GeoServer 直接當(dāng)文件打開。第二任何轉(zhuǎn)換動作都應(yīng)該是先讀全量、再寫出目標(biāo)格式中途斷掉會得到一個半成品比沒轉(zhuǎn)換更麻煩。還有一個隱藏細(xì)節(jié)GDB 內(nèi)部字符串默認(rèn)是 UTF-8 存儲的但字段名長度、別名、域值這些東西在轉(zhuǎn)換成其他格式時經(jīng)常會丟失。所以轉(zhuǎn)換前必須做一次數(shù)據(jù)體檢把圖層清單、字段清單、坐標(biāo)系、要素?cái)?shù)量全部摸一遍不然后面在 GeoServer 里發(fā)現(xiàn)字段少了、坐標(biāo)系錯了回頭重來一遍的成本比體檢高十倍。1.2 GeoServer 的讀取能力來自哪里GeoServer 的數(shù)據(jù)存儲是一個插件化的注冊表。裝完主程序默認(rèn)能讀 Shapefile、GeoPackage、PostGIS、MySQL、WFS 等GDAL、OGR、Oracle、SQL Server 這些統(tǒng)統(tǒng)是擴(kuò)展包得單獨(dú)下 zip解壓到WEB-INF/lib然后重啟。所以你在界面上看不到 GDB 選項(xiàng)不是操作錯了是擴(kuò)展沒裝。這里有個容易混淆的點(diǎn)GeoServer 官方提供的 GDAL 擴(kuò)展里面其實(shí)同時包含柵格 GDAL 支持和矢量 OGR 支持。矢量那部分才是我們關(guān)心的它的底層就是調(diào)用本機(jī)的 GDAL 動態(tài)庫Windows 上是gdal3xx.dll這一套Linux 上是libgdal.so。也就是說GeoServer 不自己解析 GDB它把活外包給了本機(jī)的 GDAL。這就解釋了為什么很多人裝完插件還是報(bào)錯——插件裝了本機(jī) GDAL 沒裝或者裝了但 Java 找不到它。提示判斷到底卡在哪一層有個很省事的辦法。先在命令行用ogrinfo打開同一個 GDB如果命令行也失敗問題在 GDAL/數(shù)據(jù)本身命令行成功而 GeoServer 失敗問題在插件、環(huán)境變量或 Java 的本地庫加載路徑上。這個二分法能省掉大量瞎猜。1.3 兩條可行路線直讀插件和格式轉(zhuǎn)換把思路收斂一下實(shí)際可走的就是兩條路。第一條是直讀給 GeoServer 裝 GDAL/OGR 擴(kuò)展配好本機(jī) GDAL 環(huán)境變量讓數(shù)據(jù)存儲直接指向.gdb目錄。優(yōu)點(diǎn)是數(shù)據(jù)不落地、改一處看一處缺點(diǎn)是環(huán)境依賴重、版本咬合緊、只讀場景下還行寫入基本別想。第二條是轉(zhuǎn)換后發(fā)布用ogr2ogr把 GDB 里的目標(biāo)圖層轉(zhuǎn)成 GeoPackage 或灌進(jìn) PostGIS然后 GeoServer 發(fā)布這個中間產(chǎn)物。優(yōu)點(diǎn)是部署干凈、性能可控、跨機(jī)器遷移簡單缺點(diǎn)是數(shù)據(jù)有副本需要一套更新機(jī)制。這兩條路不存在哪個更高級只有你的場景更適合哪個。下一節(jié)我把選型邏輯掰開講因?yàn)檫@一步選錯后面所有操作都是給錯誤方案打補(bǔ)丁。2. 直讀還是先轉(zhuǎn)格式三條路線的實(shí)際成本對照我做過不少類似的項(xiàng)目從一開始的能直讀就別轉(zhuǎn)慢慢變成了生產(chǎn)環(huán)境一律先轉(zhuǎn)。這個轉(zhuǎn)變不是技術(shù)偏好是被運(yùn)維成本教育出來的。下面這張表是這幾年的經(jīng)驗(yàn)匯總參數(shù)不是拍腦袋是實(shí)際折騰過的時間成本估算。維度GDB 直讀GDAL 擴(kuò)展轉(zhuǎn) GeoPackage 后發(fā)布灌入 PostGIS 后發(fā)布部署復(fù)雜度高需匹配 GDAL 版本與 Java 本地庫低GeoServer 原生支持中需數(shù)據(jù)庫服務(wù)首次配置耗時半天到兩天一小時內(nèi)半天讀取性能大圖層中等每次查詢都要穿過 OGR良好優(yōu)秀有真索引數(shù)據(jù)更新直接替換 GDB 目錄替換單文件 gpkg增量 SQL 或重新導(dǎo)入并發(fā)能力一般文件鎖是隱患一般強(qiáng)字段名保留完整完整完整遷移到別的機(jī)器極麻煩環(huán)境要重建復(fù)制一個文件備份恢復(fù)即可適合場景一次性出圖、臨時演示中小體量固定數(shù)據(jù)、單機(jī)部署長期運(yùn)行、多圖層、多用戶2.1 為什么直讀路線的隱性成本最高表面上看直讀最干凈——數(shù)據(jù)不需要復(fù)制原件更新了服務(wù)就跟著更新。但實(shí)際落地時成本集中在三個地方。第一是版本咬合。GeoServer 的 GDAL 擴(kuò)展會依賴特定大版本的 GDAL比如某個 GeoServer 版本配套的是 GDAL 3.x 某一系列你本機(jī)裝了個更新的或者更老的Java 加載動態(tài)庫時直接拋UnsatisfiedLinkError或者加載成功但驅(qū)動列表為空。這個報(bào)錯信息非常不友好經(jīng)常只說找不到 native library不說到底缺哪個。第二是環(huán)境變量。GDAL 需要GDAL_DATA指向投影定義數(shù)據(jù)目錄PROJ_LIB指向 PROJ 的轉(zhuǎn)換參數(shù)庫。這兩個變量在命令行里設(shè)好了不代表 GeoServer 的啟動進(jìn)程能繼承到——尤其是 Windows 下用服務(wù)方式啟動、或者用容器啟動的時候。我見過最典型的情況命令行ogrinfo一切正常GeoServer 里選 GDB 就報(bào)無法識別坐標(biāo)系。第三是文件鎖與并發(fā)。GDB 在讀取時會持有目錄層面的句柄如果同時有別的東西比如桌面軟件、同步盤、備份腳本在動這個目錄GeoServer 的查詢會間歇性失敗而且失敗得很隨機(jī)日志里看不出規(guī)律。2.2 什么情況下直讀仍然值得也不是全盤否定。有這么幾種場景我依然會選直讀。一種是臨時演示或驗(yàn)收。客戶現(xiàn)場要求服務(wù)必須直連原始數(shù)據(jù)庫不能有中間副本那你只能硬著頭皮上插件。這種場景通常數(shù)據(jù)量不大、并發(fā)很低把環(huán)境配好就行。另一種是數(shù)據(jù)天天變、且變化是整庫替換。轉(zhuǎn)格式每次都要跑一遍全量幾十 GB 的數(shù)據(jù)轉(zhuǎn)換加索引重建要按小時計(jì)而直讀只需要替換 GDB 目錄再清一下 GeoServer 的緩存。這種高頻全量替換的場景直讀反而省事。還有一種是你已經(jīng)在用 GDAL 生態(tài)做別的事機(jī)器上本來就有一套調(diào)好的 GDAL 環(huán)境插件只是復(fù)用邊際成本接近零。2.3 我為什么在長期項(xiàng)目里優(yōu)先選 PostGIS說個實(shí)在話只要圖層數(shù)量超過十幾個、或者有多個前端同時在拉 WMS/WFS我就直接上 PostGIS。原因很簡單GeoServer 的很多能力只有在關(guān)系型數(shù)據(jù)源上才是完整的。比如按屬性過濾的查詢下推、空間索引的自動利用、并發(fā)連接池、CQL 過濾的性能、圖層組的聯(lián)合查詢文件型數(shù)據(jù)源要么做不到要么做得很勉強(qiáng)。GeoPackage 是個很好的折中——單文件、自帶空間索引、支持 UTF-8、字段名不限長度、GeoServer 原生支持不用裝任何插件。中小體量單圖層幾百萬要素以內(nèi)的固定數(shù)據(jù)我基本都轉(zhuǎn)成 GeoPackage。它的短板是寫入并發(fā)差但發(fā)布地圖服務(wù)本來就是讀多寫少問題不大。提示轉(zhuǎn)換不是二選一的終局決定。我常用的做法是先在 GeoPackage 上把樣式、坐標(biāo)系、字段別名全部調(diào)通驗(yàn)證沒問題后再灌進(jìn) PostGIS 做最終上線。中間那一步只是驗(yàn)證GeoPackage 文件本身不用保留這樣既不浪費(fèi)時間也不會在上線階段才發(fā)現(xiàn)數(shù)據(jù)有問題。3. 環(huán)境搭建GDAL、插件版本、JVM 路徑三者的咬合關(guān)系如果確定走直讀路線這一節(jié)是最容易翻車的地方。我把踩過的順序整理出來先確認(rèn) GDAL 能用再確認(rèn)驅(qū)動存在再裝插件最后配環(huán)境變量并驗(yàn)證。順序錯了排查成本翻倍。3.1 版本對齊是第一道坎去 GeoServer 的下載頁找擴(kuò)展包時注意下載鏈接是按 GeoServer 版本分目錄的。比如你裝的是 2.24 系列就必須下 2.24 目錄下對應(yīng)小版本的 GDAL 擴(kuò)展跨小版本混用有一定概率出問題——不是必然崩但一旦崩了很難定位因?yàn)閳?bào)錯信息通常指向不到版本。另一個對齊點(diǎn)是 GDAL 大版本。擴(kuò)展包內(nèi)部對 GDAL 的調(diào)用接口是有版本要求的裝一個差了好幾個大版本的 GDAL癥狀是插件加載成功、數(shù)據(jù)存儲能建、但一預(yù)覽就報(bào)驅(qū)動不支持。我一般的做法是先在目標(biāo)機(jī)器上把 GDAL 裝好并跑通ogrinfo再去看 GeoServer 日志里打印的 GDAL 版本號兩者能對上再往下走。3.2 安裝 GDAL 并確認(rèn) GDB 驅(qū)動在不在Windows 上用現(xiàn)成的安裝包最省事裝完之后把bin目錄加進(jìn)PATH然后開一個新的命令行窗口驗(yàn)證ogrinfo --version看到版本號說明主程序通了。接下來是關(guān)鍵一步確認(rèn) GDB 驅(qū)動是否被編譯進(jìn)來ogrinfo --formats | grep -i gdbWindows 命令行沒有 grep用ogrinfo --formats | findstr /i gdb正常應(yīng)該能看到類似OpenFileGDB -vector- (ro): ESRI FileGDB這一行ro表示只讀。這對發(fā)布地圖服務(wù)完全夠用——我們只需要讀。如果這一行沒有說明你裝的 GDAL 構(gòu)建里沒帶這個驅(qū)動換一個完整構(gòu)建的安裝包或者用 conda 裝一份帶全部驅(qū)動的 GDAL。這一步不通后面所有的配置都是白做。3.3 裝插件、配變量、驗(yàn)證加載把擴(kuò)展包解壓到 GeoServer 的WEB-INF/lib注意是解壓出來的 jar 直接放進(jìn)去不要留一層目錄。然后處理環(huán)境變量。GeoServer 有兩種啟動方式處理方式不一樣。用startup.bat/startup.sh手動啟動的直接改啟動腳本里的JAVA_OPTS追加-Djava.library.path/path/to/gdal/bin同時在腳本開頭export GDAL_DATA/path/to/gdal/data和export PROJ_LIB/path/to/gdal/share/projWindows 用set。用服務(wù)方式啟動的環(huán)境變量要配到服務(wù)級別或者干脆改注冊表里的服務(wù)環(huán)境。這一步最容易漏因?yàn)槟阍谧约旱慕K端里配好了變量服務(wù)進(jìn)程根本繼承不到。重啟之后去 GeoServer 的關(guān)于頁面或者日志里搜 GDAL能看到版本信息就說明插件活了。這時候新建數(shù)據(jù)存儲列表里應(yīng)該出現(xiàn) GDAL 相關(guān)條目。填入 GDB 路徑時注意格式file:///D:/data/road.gdb三個斜杠、正斜杠不要用 Windows 的反斜杠直接拼。路徑里有中文或者空格時我建議先用英文路徑測試通過再回頭處理編碼問題——把兩個變量同時引入出問題根本分不清是誰的鍋。注意國內(nèi)很多單位的數(shù)據(jù)目錄帶中文名比如基礎(chǔ)地理數(shù)據(jù)/gdb。GDAL 在 Windows 上對非 ASCII 路徑的支持時好時壞具體取決于構(gòu)建時的字符集設(shè)置。穩(wěn)妥做法是把數(shù)據(jù)復(fù)制到一個純英文路徑下再發(fā)布或者改用轉(zhuǎn)換路線繞開這個雷。4. 用 GDAL 把 GDB 拆成可發(fā)布的數(shù)據(jù)體檢、轉(zhuǎn)換、修復(fù)走轉(zhuǎn)換路線的話這一節(jié)是核心操作。我把它拆成體檢、轉(zhuǎn)換、修復(fù)三步每一步都有具體的檢查項(xiàng)別跳。4.1 動手之前先做數(shù)據(jù)體檢體檢的目的很明確搞清楚這個 GDB 里到底有什么哪些能用哪些是坑。ogrinfo -so -al D:/data/road.gdb-so是只輸出摘要不輸出要素-al是列出所有圖層。輸出里要重點(diǎn)看四樣?xùn)|西。圖層數(shù)量與名稱。有些 GDB 里幾十個圖層其中一大半是注記、關(guān)系類、廢棄圖層。把真正要發(fā)布的挑出來別一股腦全轉(zhuǎn)轉(zhuǎn)完在 GeoServer 里一個個配樣式能累死人。幾何類型。看是 Point、LineString、Polygon 還是 Multi 版本混用。GDB 允許一個圖層里混幾何類型但很多目標(biāo)格式和 GeoServer 的渲染器不喜歡混?;煊玫膱D層要么用PROMOTE_TO_MULTI統(tǒng)一成多部件要么拆開。坐標(biāo)系。輸出里L(fēng)ayer SRS WKT那段能看到 EPSG 或者 WKT 定義。這里有個高頻坑GDB 里記錄的坐標(biāo)系可能是自定義的、帶七參數(shù)的、甚至只是未定義。如果顯示(unknown)就必須手工指定不能指望它自動識別否則發(fā)布出來位置能偏出去幾百米。要素?cái)?shù)量。Feature Count那行。這個數(shù)字決定你后面要不要分批轉(zhuǎn)、要不要加進(jìn)度條、轉(zhuǎn)換要等多久。幾百萬要素的圖層ogr2ogr跑起來十幾分鐘很正常。4.2 轉(zhuǎn)成 GeoPackage 的完整命令確認(rèn)完就動手。下面這條是我常用的模板參數(shù)含義后面逐個解釋ogr2ogr -f GPKG D:/out/road.gpkg D:/data/road.gdb ^ -nln road ^ -nlt PROMOTE_TO_MULTI ^ -t_srs EPSG:4490 ^ -lco SPATIAL_INDEXYES ^ -lco FIDfid ^ -progress-f GPKG指定輸出格式。-nln指定輸出圖層名不起這個名字的話會沿用原名原名如果帶中文或者特殊字符后面在 GeoServer 里做 CQL 過濾會很難寫。-nlt PROMOTE_TO_MULTI把單部件幾何統(tǒng)一提升為多部件避免混類型導(dǎo)致渲染異常。-t_srs做坐標(biāo)系轉(zhuǎn)換不帶這個參數(shù)就保持原樣——如果你不確定源坐標(biāo)系千萬別亂加這個參數(shù)轉(zhuǎn)錯了比不轉(zhuǎn)更難查。-lco SPATIAL_INDEXYES建空間索引這個對 GeoServer 的預(yù)覽和范圍查詢性能影響很大一定要開。-progress就是進(jìn)度顯示大圖層必備。如果只想轉(zhuǎn)其中一個圖層把 GDB 路徑后面加上圖層名ogr2ogr -f GPKG D:/out/road.gpkg D:/data/road.gdb road如果 GDB 里的圖層名有中文或者空格用引號包起來或者先用ogrinfo確認(rèn)準(zhǔn)確寫法。GDAL 對圖層名大小寫不敏感但對空格和特殊字符敏感。4.3 中文亂碼、字段截?cái)唷⑷掌陬愋偷木唧w處理這三個問題是 GDB 轉(zhuǎn)換途中最常見的數(shù)據(jù)看著轉(zhuǎn)了、用起來不對。中文亂碼。GeoPackage 內(nèi)部就是 UTF-8轉(zhuǎn)換過程中一般不會亂。真正會亂的是轉(zhuǎn)成 Shapefile 的時候——Shapefile 需要.cpg文件聲明編碼。如果目標(biāo)格式必須是 Shapefile加上-lco ENCODINGUTF-8并且在 GeoServer 里發(fā)布時把字符集也設(shè)成 UTF-8兩邊不一致就會出現(xiàn)屬性表里全是問號。我的建議是能不用 Shapefile 就別用字段名 10 字符限制、字段數(shù) 255 限制、日期類型丟失坑太多了。字段名截?cái)?。這個只在 Shapefile 出現(xiàn)。GDB 里叫ROAD_NAME_FULL的字段轉(zhuǎn)成 Shapefile 會變成ROAD_NAME_兩個字段如果前 10 個字符一樣直接沖突報(bào)錯。GeoPackage 和 PostGIS 都沒這個問題這也是我推薦它們的原因之一。日期類型。GDB 里日期字段轉(zhuǎn)出來經(jīng)常變成字符串或者變成一個奇怪的時間戳。這會導(dǎo)致 GeoServer 的 WMS 時間維度功能用不了。轉(zhuǎn)換時可以用-mapFieldType DateString顯式指定策略或者干脆在轉(zhuǎn)換后用 SQL 在 PostGIS 里改類型。GeoPackage 的日期支持相對好一些但 GeoServer 讀出來的類型仍需要在圖層配置頁確認(rèn)一眼。4.4 幾何有效性修復(fù)與自相交處理GDB 里的面數(shù)據(jù)經(jīng)常有自相交、環(huán)方向錯誤、零面積多邊形這些問題。它們在桌面軟件里能顯示但 GeoServer 的渲染器對無效幾何的容忍度低癥狀是某些多邊形消失、或者填充區(qū)域莫名其妙地連成一片。GDAL 3.4 之后ogr2ogr支持-makevalid直接修ogr2ogr -f GPKG D:/out/parcel.gpkg D:/data/parcel.gdb parcel -makevalid -nlt MULTIPOLYGON如果你的 GDAL 版本不支持退化方案是先轉(zhuǎn)出來再用ST_MakeValid在數(shù)據(jù)庫里修或者用 QGIS 的修復(fù)幾何工具批量處理。別指望 GeoServer 幫你兜底它不會。還有一個不起眼但很致命的點(diǎn)空幾何。有些圖層里混著幾何為 NULL 的記錄轉(zhuǎn)出來之后 GeoServer 在統(tǒng)計(jì)范圍時可能算出個無效的包圍盒導(dǎo)致圖層預(yù)覽一片空白你以為是樣式問題其實(shí)是范圍錯了。轉(zhuǎn)換時加-where SHAPE IS NOT NULL過濾掉或者轉(zhuǎn)完之后在目標(biāo)庫里DELETE FROM xxx WHERE geom IS NULL。5. 在 GeoServer 里把圖層真正掛上去數(shù)據(jù)準(zhǔn)備好了接下來是在 GeoServer 里走一遍完整流程。這一段看起來是點(diǎn)點(diǎn)鼠標(biāo)但有幾個必改項(xiàng)改漏了后面全是麻煩。5.1 新建數(shù)據(jù)存儲的填寫要點(diǎn)進(jìn)數(shù)據(jù)→新建數(shù)據(jù)存儲選 GeoPackage或者 PostGIS。GeoPackage 的路徑填法和 GDB 一樣file:///D:/out/road.gpkg注意格式。PostGIS 則填主機(jī)、端口、庫名、用戶名密碼這些沒什么好說的但有一個參數(shù)值得調(diào)連接池的min connections和max connections。默認(rèn)值偏保守并發(fā)上來之后會出現(xiàn)等待連接超時把 max 調(diào)到 20 左右視機(jī)器而定會穩(wěn)很多。工作區(qū)Workspace的選擇不是隨便點(diǎn)。它的作用相當(dāng)于命名空間后面 WMS 請求里的圖層名會是工作區(qū):圖層名。我習(xí)慣按項(xiàng)目或按數(shù)據(jù)主題劃分工作區(qū)別把所有東西堆在默認(rèn)工作區(qū)里后期做權(quán)限控制和圖層組的時候會感謝自己。5.2 圖層發(fā)布頁面里必須改的幾項(xiàng)點(diǎn)發(fā)布之后進(jìn)入配置頁這一頁信息很多但真正必須確認(rèn)的就幾個。坐標(biāo)系聲明。Native SRS是數(shù)據(jù)本身的坐標(biāo)系Declared SRS是對外聲明的坐標(biāo)系。這兩個如果不一致GeoServer 會做動態(tài)投影。絕大多數(shù)情況下應(yīng)該讓兩者一致把 Declared 設(shè)成跟 Native 一樣然后靠 WMS 請求里的SRS參數(shù)控制輸出投影。我曾經(jīng)遇到一個案例數(shù)據(jù)是投影坐標(biāo)Declared 被誤設(shè)成了經(jīng)緯度結(jié)果前端拿到的圖整體壓縮變形排查了半天才發(fā)現(xiàn)是這個字段。邊框Bounding Box。點(diǎn)從數(shù)據(jù)中計(jì)算和從原生邊框計(jì)算兩個按鈕。如果算出來是0,0,-1,-1這種明顯不對的值說明數(shù)據(jù)里有空幾何或者坐標(biāo)系識別錯誤回去查數(shù)據(jù)。邊框錯了WMS 的BBOX請求會返回空白圖而且不報(bào)錯最難排查。屬性勾選。Queryable要勾上否則 WFS 查詢不返回屬性。屬性列表里把不需要對外暴露的字段比如內(nèi)部 ID、敏感備注取消勾選減少傳輸量也順便做了脫敏。5.3 樣式手寫 SLD 還是從桌面軟件導(dǎo)出樣式這一塊我的實(shí)際經(jīng)驗(yàn)是簡單的單色/分級渲染直接在 GeoServer 里用界面生成復(fù)雜的多比例尺、標(biāo)注避讓、圖標(biāo)符號用桌面軟件配好再導(dǎo)出 SLD。界面生成的樣式存在 GeoServer 自己的樣式庫里改起來簡單但表達(dá)力有限。導(dǎo)出 SLD 的好處是所見即所得缺點(diǎn)是導(dǎo)出文件里常常帶一堆冗余定義而且不同版本的導(dǎo)出格式細(xì)節(jié)有差異導(dǎo)入時報(bào)錯的話得手工改。幾個實(shí)戰(zhàn)要點(diǎn)標(biāo)注Label一定要設(shè)label和font并且配一個VendorOption控制重疊比如conflictResolutionfalse加spaceAround10否則密集路網(wǎng)的標(biāo)注會糊成一團(tuán)。分級渲染用Intervals比一堆Rule好維護(hù)。圖層如果要素特別多樣式里加VendorOption maxDisplacement之類能明顯降低渲染耗時。5.4 預(yù)覽驗(yàn)證與切片緩存發(fā)布完之后不要只看圖層預(yù)覽里的 OpenLayers 頁面。那個頁面會帶上一堆默認(rèn)參數(shù)有時候恰好繞過了問題。我一般用三步驗(yàn)證OpenLayers 預(yù)覽看整體、GetFeatureInfo請求看屬性對不對、直接拼一個指定BBOX和SRS的GetMap請求看投影轉(zhuǎn)換有沒有偏。都通過之后再上切片。切片的圖層組方案要和前端的底圖對齊GridSet里的坐標(biāo)系、分辨率層級、瓦片尺寸必須和前端一致不一致就會出現(xiàn)瓦片錯位——放大時圖是清楚的一縮小就整體偏移半屏。緩存建好之后數(shù)據(jù)更新的那天記得清緩存不然前端看到的還是舊圖。6. 踩過的坑六個真實(shí)翻車現(xiàn)場與排查鏈路這一節(jié)是這篇文章里我最想寫的部分因?yàn)榍懊婺切┎襟E文檔里都能查到下面這些是查不到、只能踩出來的。6.1 插件裝了但驅(qū)動列表是空的癥狀數(shù)據(jù)存儲能建出來選 GDAL 類型路徑填對點(diǎn)保存報(bào)無法創(chuàng)建數(shù)據(jù)存儲。排查鏈路先看 GeoServer 日志搜 GDAL如果只有一行版本號沒有驅(qū)動列表說明本地庫加載了但驅(qū)動初始化失敗。最常見原因是GDAL_DATA沒指向正確目錄GDAL 找不到gcs.csv、proj.db這些數(shù)據(jù)文件。修復(fù)方法是把GDAL_DATA指向 GDAL 安裝目錄下的data新版可能在share/gdalPROJ_LIB指向share/proj重啟進(jìn)程再看日志。還有一個更隱蔽的原因機(jī)器上裝了多個 GDAL比如 Python 環(huán)境里一份、獨(dú)立安裝一份PATH里排在前面的那個版本和插件要求的不一致。用where gdalinfo看一眼到底用的哪一份把不對的從PATH里挪走。6.2 圖層預(yù)覽一片空白日志沒有任何報(bào)錯這是最消耗耐心的一類問題。排查順序我固定成四步。第一步看圖層配置頁的邊框是不是有效值。是0,0,-1,-1就說明數(shù)據(jù)范圍沒算出來回去查幾何和坐標(biāo)系。第二步用ogrinfo -al -geomSUMMARY打開源數(shù)據(jù)看第一條要素的坐標(biāo)大概是多少。如果坐標(biāo)是幾百、幾千量級說明是投影坐標(biāo)如果是 100 多、30 多說明是經(jīng)緯度。兩種情況下圖層配置里的 Native SRS 必須對得上。第三步手工拼 GetMap 請求把SRS、BBOX、WIDTH、HEIGHT全部顯式寫上看返回的 PNG 是不是全透明。第四步如果前三步都對但還是空檢查樣式。用一個最簡單的PolygonSymbolizer純紅色測試排除樣式表達(dá)式寫錯導(dǎo)致的渲染失敗。6.3 大字段和 BLOB 讓渲染慢到無法接受GDB 里經(jīng)常帶照片、附件、超長備注這類字段。轉(zhuǎn)出來之后這些字段還在GeoServer 在生成要素時會把它們一起讀出來即使樣式根本用不到。一個幾萬要素的圖層帶 BLOB 字段單次 GetMap 能慢到十幾秒。解決辦法很直接轉(zhuǎn)換時就不帶這些字段。ogr2ogr支持-selectogr2ogr -f GPKG D:/out/poi.gpkg D:/data/poi.gdb poi -select name,type,lng,lat-select里只寫要保留的字段其他一律不轉(zhuǎn)。如果字段已經(jīng)轉(zhuǎn)出來了在 PostGIS 里ALTER TABLE ... DROP COLUMN更快。這一步做完同一個圖層的出圖時間能從十幾秒降到一秒以內(nèi)。6.4 WMS 出圖中文標(biāo)注變成方塊這個問題的根源是字體。GeoServer 渲染標(biāo)注時用的是服務(wù)端字體如果 SLD 里指定的字體在服務(wù)器上不存在就會 fallback 到一個沒有中文字形的字體渲染出來全是方塊或者豆腐塊。修復(fù)分兩步先確認(rèn)服務(wù)器上裝了中文字體Linux 下把字體文件放進(jìn)/usr/share/fonts再fc-cache -fv然后在 SLD 里把font-family設(shè)成一個確定存在的字體名。GeoServer 后臺有個字體列表頁面能看到當(dāng)前能用的字體SLD 里寫的名字必須在這個列表里。我一般會寫一個字體棧比如先寫主字體再寫 fallback但 GeoServer 對字體棧的支持不如瀏覽器穩(wěn)定實(shí)測還是指定單一存在的字體最可靠。6.5 時間字段變成字符串時間維度功能失效前面提過日期類型轉(zhuǎn)換會丟。這個問題在發(fā)布帶時間維度的服務(wù)時會集中爆發(fā)——GeoServer 的 WMS 時間維度要求字段是java.sql.Timestamp或者Date如果是字符串配置頁面里那個時間選項(xiàng)卡根本不會出現(xiàn)。修復(fù)方式取決于目標(biāo)庫。PostGIS 里可以直接ALTER TABLE t ALTER COLUMN dt TYPE timestamp USING dt::timestamp前提是字符串格式規(guī)范。GeoPackage 里類型改起來麻煩通常的做法是轉(zhuǎn)換時就用-mapFieldType強(qiáng)制指定或者在桌面軟件里先規(guī)范格式。我遇到過一次數(shù)據(jù)里的日期是2023/5/1這種非標(biāo)準(zhǔn)寫法轉(zhuǎn)出來之后解析失敗全變 NULL最后是用 SQL 逐條清洗的。6.6 面圖層自相交導(dǎo)致部分要素不渲染前面提到過-makevalid這里說一個更細(xì)的坑有些自相交在轉(zhuǎn)換時被修成了空幾何。修完之后要素?cái)?shù)量沒變但幾何是空的GeoServer 渲染時直接跳過看起來就像是某些地塊憑空消失了。排查方法是轉(zhuǎn)完之后統(tǒng)計(jì)空幾何數(shù)量SELECT count(*) FROM parcel WHERE geom IS NULL OR ST_IsEmpty(geom);不為零就說明有要素被修沒了。處理方式有兩種要么回頭在源數(shù)據(jù)里手工修這幾個要素通常數(shù)量不多要么接受丟失但記錄下來。我一般選前者因?yàn)槊鏀?shù)據(jù)丟一個業(yè)務(wù)上可能就是一塊地沒了。7. 服務(wù)上線之后的三件運(yùn)維事發(fā)布成功只是開始真正讓人熬夜的是上線之后。這三件事我在每個項(xiàng)目里都會提前處理。7.1 連接池與 JVM 內(nèi)存GeoServer 默認(rèn)的 JVM 堆內(nèi)存偏小幾個大圖層一起渲染就容易OutOfMemoryError。啟動腳本里把-Xmx調(diào)大具體值看機(jī)器內(nèi)存一般給到物理內(nèi)存的一半以內(nèi)比較穩(wěn)。但要注意堆開太大Full GC 的時間也會變長反而造成請求卡頓所以不是越大越好。連接池方面文件型數(shù)據(jù)源GeoPackage沒有連接池概念但 PostGIS 有。max connections別設(shè)太高超過數(shù)據(jù)庫端的連接上限會直接拒絕。這個值我一般按前端并發(fā)數(shù) × 1.5估然后壓測驗(yàn)證。另外記得開validate connections數(shù)據(jù)庫重啟之后連接池能自動恢復(fù)不然會出現(xiàn)服務(wù)活著但所有查詢都失敗的情況。7.2 切片方案與緩存失效切片是性能和體驗(yàn)的分水嶺。有緩存和沒緩存同一個圖層的首屏?xí)r間差一個數(shù)量級。但切片有個前提圖層組、坐標(biāo)系、分辨率層級、瓦片尺寸必須和前端底圖完全一致。差一點(diǎn)都不行表現(xiàn)出來就是偏移或者縮放層級錯亂。緩存失效策略我通常配成兩種按圖層手動清以及按區(qū)域清。數(shù)據(jù)更新頻率低的更新完手動清一次就行更新頻繁的用 GeoServer 的 REST 接口在數(shù)據(jù)導(dǎo)入流程結(jié)束后自動觸發(fā)清理比人肉操作可靠。注意清緩存的時候別忘了 GeoServer 還有一層要素緩存配置頁里的Queryable附近有個緩存設(shè)置。圖層元數(shù)據(jù)緩存不清改完數(shù)據(jù)可能還是舊的范圍和要素?cái)?shù)看著像數(shù)據(jù)沒更新其實(shí)是緩存騙了你。7.3 數(shù)據(jù)更新的落地策略轉(zhuǎn)換路線的最大痛點(diǎn)是數(shù)據(jù)不是實(shí)時的。所以必須提前設(shè)計(jì)更新流程而不是等業(yè)務(wù)方問為什么昨天的圖還沒變才想。我的常規(guī)做法是保留一套腳本ogr2ogr轉(zhuǎn)換帶-append參數(shù)做增量追加前提是源數(shù)據(jù)有穩(wěn)定主鍵或者整表DROP后重建數(shù)據(jù)量不大時更簡單可靠。腳本跑完自動調(diào) GeoServer 的 REST 接口刷新數(shù)據(jù)存儲、清圖層緩存。整套流程串起來更新就是從人工操作半小時變成跑個任務(wù)等幾分鐘。如果數(shù)據(jù)源是別人提供的、更新時機(jī)不可控那就得在前端或者圖層配置里給個數(shù)據(jù)截止時間的說明至少讓使用者心里有數(shù)。這個細(xì)節(jié)看著不起眼但能省掉大量你們數(shù)據(jù)不對的扯皮。最后說一句個人體會GDB 轉(zhuǎn) GeoServer 這件事技術(shù)難度其實(shí)不高難的是把數(shù)據(jù)本身的問題摸清楚。我做過這么多類似的項(xiàng)目真正卡住人的從來不是插件裝不上而是坐標(biāo)系是自定義的、幾何是壞的、字段是重復(fù)的、編碼是亂的。所以每次開工我都會花半小時把ogrinfo的輸出從頭到尾讀一遍把可疑的地方記下來先處理掉。這半小時往往能把后面三天的返工省下來。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚州色阁| 免费观看国产小粉嫩喷水精品午| 欧美黑人精品一区二区| 久久精品亚洲东京热色播| 九九人妻| 美日韩一二三区| 日韩人妻丝袜中文字幕| 日韩亚洲美州欧洲综三区一品在线| 死我十八禁| 午夜乱轮操逼视频免费看| 精品熟女一区=区三区| 91美| 啊好大好舒服| 另类一区| 欧美色图第一页| 一起草精品人妻| 天堂亚洲精品久久老牛| 日韩欧美午夜视频在线| 青青草无码视频| 一个色导综合| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 影音先锋日本一区二区| 求求你操操我| 尤物视频一区| www.男人天堂| 亚洲精品a人片在线观看视| 无码九九九九| 激情综合婷婷| 久久一二三四| 亚射在线| 亚洲第一精品在线视频| 99re6国产精品99re| 性爱av网站| AV天堂因数| 97久久精品亚洲| JIZZJIZZ亚洲女人被躁| 国产亚洲精品美女久久久久久2021| 麻豆AV短剧| 中文操嬖片。| 91超碰在线| 91最新综合| 欧美东京热精品A∨| 欧美日韩美女精品久草一区二区三区| 伊人久久婷婷| 国产精品白领在线观看| 99后入| 亚欧性爱ab| www.久久超碰| 熟女一区二区| 人妻中文字幕日韩电影| a片 xxxx受爽视频| 亚洲天堂人人妻| 最新国产精品久久精品| 国产精品人妻无码久久久老鸭窝| 欧美激情久| 婷婷尹人大香蕉免费| 国产精品久久久 | 韩日自拍| www四虎| 伊人影院综合是一个与深夜成人在线| 亚洲高清视频在线免费观看| 精品妇操一区二区三区| 亚洲综合色男人网| 欧美日韩不卡a片| 色欲久久99精品久久| 免费看污网站| 色婷婷网| 婷婷精品| 久久夜黄色无码A级大片| 亚洲成人在线乱码色午夜| 欧色综合| 99国产人成精品| 四虎午夜影院| 蜜桃天美传媒AV一区二区三区| 激情99| 大二网站亚洲| 五月情色天| 欧美精品第四五页中文字幕在线观看| 91操操| 天堂v无码免费视频| 欧美性生活内射| 东京热免费视频| 日本黄色大片一级视频免费麻豆| 绑缚麻绳人妻寝取完整版| 极品尤物在线观看| 国产日韩精品人妻久久久久色欲网站| 国产精品成人久久一区二区三区| 好爽免费视频| 亚州精品人妻一二三区| 久草资源欧美在线视频| 亚洲色图久久成人| 九九色精品| 亚洲天堂中文字| 夜夜爽夜夜操| 久久久九| 懂色av中文字幕| 97超碰天天| 婷婷精品视频| 在线精品福利免费播放| 亚洲精品乱码线路中文字幕| 精品国产Av无码久久久伦古装| 伊人色综合欧美| 精品99999久久久久久| 一级免费啪啪片| 大香蕉一区二区在线观看.| 偷拍导航视频网站| 九九九九97| 偷拍在线观看视频| 啊啊啊啊啊啊啊网址在线观看| 色综合91| 97网址www| 欧美色色色| 欧美黑人精品一区二区| 秋霞无码av鲁丝片一区| 为用户提供免费看黄网址在线观看| 国产白丝网站| 国产高清自拍| 凹凸视频在线观看伊人| www.色婷婷色综合| 丁香色五月 97干| 国产AV激情无码久久无码 | 精品美女少妇一区二区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 乱伦色图网址是多少| 密臀视频三区免费网站| 欧美性高潮| 久久久青青草| 久久久久夜夜夜夜| 日本乱人伦片中文三区| 日B操| 91久久免费视频互動交流| 免费观看啪视频| 国产黄片精品在线| 亚洲成a人在线观看久| 国产精品亚洲天堂网址| 免费AV播放| 国产免费永久精品无码| 丁香六月婷婷综合| 婷婷国产精品九区| 99黄页网站| 超碰精品人妻狠狠干| 九九九九九九九九九九精品视频| 欧美玖玖爱免费玖玖| 一区二区三区在线日韩影院观看| WWW美腿丝袜香蕉中文| 超碰偷拍| 国产精品成久久久久午夜午夜| 日韩免费中文字幕视频| 久久精品国产亚洲AV无码做| 日本人体九九九九九九| 亚洲经典啪啪| 国产97亚洲| 性感女人网页在线观看视频| 日韩有码 一区二区三区| 秋霞男人网| 精品久久久高清无码| 欧美老妇综合网| 亚洲一区日韩精品中文字幕| 啊啊啊啊操死我了| 精品区国产区一区二区三区| www欧美91| 情色AV电影| 美女啊啊啊啊啊啊啊| 91精片| 久久不卡一区二区| 夜夜草网站| 亚洲欧美另类图片| 美国三级日本三级久久99| 欧美人人AAA| 日日橹狠狠爱欧美超碰| 婷婷色网| 欧洲综合无码| 97超碰欧美精品| 91女网站| 黄aaaaaaaaaaaaaaaaaa色网站| 人妻丰满熟妇av无码区蜜桃| 久久9亚洲| 欧美人与性动交a美精品| 97天天插| 天美传媒国产原创中文字幕亚洲欧美另类| 91九色蝌蚪在线观看| 啊啊啊轻点在线观看| 五月婷婷大香蕉| 国产色产精品在线观看| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 91午夜无码| 久操精品网| 四虎国产精品永久在线囯在线| 伊人991| 丁香五月婷婷啪啪| 蜜乳AV一区二区三区四| 国产精品亚洲色婷婷久久久| 亚洲欧美首页| 欧美黑人168页欧美黑人167| 欧美三级免费伊人| 99热思思| 97久久精品亚洲| 中文字幕一区电影在线观看| 999综合网| 久久久久久无码人妻中文字幕| 二区熟妇韩日| 女色视频社区| 免费A V在线| av一区二区三区不卡| 91美女视频。| 久草成人影片| 加勒比性爱成人在线| 天天添天天干电影| 色婷婷99| 日韩在线观看中文字幕视频| 午夜福利精品| 深夜国产一区二区三区在线看| 久操精品| 国产精品久久久久久久久久久久| 99re这里只有精品2| 97超碰总站| 91在线色| 精品国产乱码久久久影院| 中文欧丝袜诱惑| 国产熟妇一区二区| 五十路六十路七十路熟婆| 少妇大屁屁| 日本熟妇自慰性高潮一区二区三区| 一区二区 电影 亚洲| 夜夜高潮夜夜爽高清视频一 | 七月婷婷综合| 国产婷婷综合在线观看| 少妇久久久久久| 性色A∨91| 少妇久久久久久久久| 欧美激情在线观看视频| 亚洲97在线观看| 91熟女丨91老女人| 国产精品96| 欧美黄业| 99亚洲精品| 国产成人综合在线播放| 天天色综合天天操| 五月婷丁香| 欧美亚洲性爱一区二区| 操b网站亚洲无码| 射丝袜高跟鞋99| 夜夜高潮夜夜爽| 熟妇一区二区三区| 91热| 91社区伊人| 日韩av免费一级电影| 97人人夜夜精品视频| 国产专区第一页| 激情久久av一区av二区av| 国产欧美一区激情交| 天天肏夜夜肏| 怡红院怡春院| 欧美 亚洲 综合 制服 另类| 欧美久久人体| 蜜乳中文字幕a在线| 免费观看网黄| 色色激情| 神马久久久久久久久久久久| 日夜伊人网| 亚洲男人综合| 婷婷亚洲天堂| 九九夜精品九九在线| 欧美成人精品一区二区三区| 天美麻豆一区二区三区| 级做a爱无码性色永久免费| 国产欧美日韩一区二区三区| 中亚精品极乱| 日日干夜夜骑| 成年无码动漫av片无尽在线 | 精品区国产区一区二区三区| 色啪网| 国产白丝在线| 色激情综合网站| 国产小黄片在线免费观看| 国产精品麻豆成人AV艾秋| 久久色激情一区二区三区| 日韩中文字幕精品一二三事国产精品| 日韩欧美日韩| 色色99| 国产精品密臀网在线观看| 天天在线91| 成人无码在线视频网站| 99热在线观看| 亚洲国产日韩精品久久久| 欧美精品一区二区少妇免费A片| 色99在线| 997色在线| 欧美一区二区福利在线| 亚洲情色五月天| 91激情国产| 久综合国内精品自在自线| 成人资源中文字幕在线观看天天| 久久久久元码视频| 亚洲国产奇米影视久久| 91精品成人| 欧美日韩在线小说 | 啊啊啊想要| 影视综合无码少妇| 极品一区二区三区免费| 最新亚洲人成网站在线影院| 美女的肌被草喷水视频| 在线中文字幕| 日韩少妇无吗| 国语国产操逼伊人AV网| 欧美性天天影院| 中文字幕精品一区欧美| 精品一区二区三区四区外站| 成人日韩3| 蜜桃视频一区二区三区在线观看| 波多野结衣之双飞调教在线播放 | 日本成人在线不卡一区二区三区| 天天综合精品| 欧美片第一页| 精品人妻视频一区二区三区蜜桃视频| 26uuu欧美日韩| 日韩ab网| 九九Av| 91大香蕉伊人| 亚洲无套久久嗯嗯| 亚洲人体视频在线观看| 四虎免费看黄| 国产熟女免费观看久久| 天美一二三在线观看Av| 男人高清无码一区二区| 97操碰| 91校园春色长篇| 日韩99999| 色婷婷六月| 久久久新亚洲AV| 亚洲、日韩、综合、另类| 曰韩人妻中文字幕在线 | 香蕉视频欧美一卡二卡| 九九热精品在线| 欧美欧美啪啪视频| 中出20p| 精品色色| 国产AAAAAABBBBB| 都市激情人妻一区二区青青操视频 | 伦激情人妻另类人妻| 四虎视频在线观看| www…国产操逼| 欧美色图91| 操逼精品视频| 色婷婷丁香五月| 操逼无码操逼| 青娱乐 青青青操 日逼| 中文字幕乱碼在线| www.色操逼| 五月婷亚洲精品天堂| 精品国产99| www.色操逼| 亚洲精品一二牛牛| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 日本91白丝| 人人摸.人人色| 久久女女| 骚熟女吞| 久久精品一区| 欧美性爱中文字幕无线码| 亚洲综合在线第一页| 97 九色| 97国产超湿| 人人看人人爰人人操| 日韩精品一二三| 青女在线| 97视频观看| 在线观看精品国产免费| 都市久久精品激情亚洲| 亚洲丝袜诱惑| 97欧美综合网| 国产天天骚| 久久久久久久国产a∨| 色黄污美女啪啪啪免费网站| 东京太热男人的天堂久久久| 国产精品欧美激在线| 亚洲天堂,男人| 成人性爱美曰韩| 日韩av不卡在线看| 久久久久久九九九九| 精品一级| 欧美,日韩,中文,另类| 1204金沙人妻懂旧版免费| 国内外色色色色色成人视频| 国产AV无码AV| 中国少妇XXXX做受| 国产黄片在线免费观看| 国产老女人久久毛| 久久超碰com| 密臀成人视频久久久| 国产青视频| 在线 亚洲 网爆 自拍| 九九这里只有精品| 久操大香蕉| 欧美做爰无码A片视频| 殴美大黄片| 国模不卡| 成人aⅴ一区二区三区| 夜夜操美女| 九九热九九| 最新制服中文第一页| 日韩欧视频| 久肏视频字幕| 久操免费观看| 婷婷午夜清品久久久久久久性色视频观| 国产又长又大又粗的视频| 男人的天堂在线| 亚洲风情综合网| 超碰超碰超碰超碰的大鸡吧操黑丝袜| www久久精品| 国产蜜臀精品一区二区尤物| 美女9118禁| 天天干18禁| 国产综合久久久麻桃个| 国产资源中文字幕在线| 欧美A片中文字幕| 亚洲天堂中文字| 久草视频观看视频在线| 国产家庭乱伦网址| 精品色色| 亚洲91网站| 夜夜免费视频| 777超碰| 9色国产精品一区粉嫩| 国产家庭乱伦性爱视频| 亚洲 国产 精品一区| 最新日韩黄片| 色婷婷aV一区二区三区麻豆综合| 成人A片男人的天堂| 亚热日本熟女| 久久 久久国内精品亚洲| 97资源站日韩| 欧美精品一区二区少妇免费A片 | A啊啊在线观看| 婷婷久草| 日韩熟女无码| 国产动漫操逼视频| 亚洲中文字幕妇伦久久| 揉揉揉夜夜| 日韩偷拍一区二区三区| 熟女六十路| www.狠狠干.coom| 欧美大香蕉97| 91制服丝袜| 国产在线综合网| 国产成人无码高清| 91日日| 日韩本不卡视频在线观看 | 欧美精品成人在线播放| 青青操97| 国产后入式在线观看| 91麻豆天美| 18禁美女裸体无遮挡啪啪| av中文在线| 亚洲熟女乱色一区二区三区久久久| 99999亚洲| 亚洲天堂中文字| 欧美爆操91| 国产午夜精品一区二区三区牛牛| 51一区二区三区| 超碰日本97美女人妻人人玩人人爱| 91精品国久久久久久无码| 欧美亚洲手机在线| 黄片免费久久久久久久| 久久鲁夜| 日韩中文字幕国产| 中文字幕91综合| 精品美女人人干| 黄色操人| 色好看av| 男人午夜天堂| 毛片视频白嫩| 青草成人免费视频一COm| 欧美国产伊人久久久久| 亚洲色性情三级| 欧美综合自拍| 爱媛媛久久国产福利| 国产欧美日产一区二区三区 - 国产欧美日 | 亚洲欧洲视频小说在线观看| 在线电影亚洲色图| 综合一区中亚洲国产成人综合精品 | 婷婷久草| 日本高清一区二区在线| 99热日| 日本性爱不卡视频| 99国产精品自在自在| 日韩激情无码影院| 欧洲乱码视频| 成 人片 黄色大片| 啊啊啊在线观看免费视频| 欲香欲色| 综合网久久| 亚洲国产美女久久久久| 久久精品免费| 国产v片在线免费观看| 日韩激情视频| 日本性爱网址| 蜜臀va69| 操操AV电影| 午夜视频黄| 欧亚日韩三区| 日韩精品碰碰| 男人的天堂kva| 天美麻花大全视频| 美女啊啊啊啊啊| www鬼畜国产男人的天堂| 久久大黄片| 日本一天色道久久久精品视频| 少妇高潮九九九九| 嫩草伊人久久精品| 日本视频一区二区三区| 97在线免费公开视频| 色欧美天天| av网站免费线看| 欧美亚洲日韩16色| 色综合色综合网| aa片毛片| 91精品久久久久久77777| 黄片免费视频2019| 欧美丝袜91| 中文字幕亚洲欧美在线不卡| 艹比视频国产精品| 综合久久9| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 天天射天天操天天干天天吃2018| 人妻人妻天天碰| 久热久| 无码精品人妻一区二区三区妖精 | 国产区性爱在线视频秋霞豆| 91制服丝袜中文字幕| 免费农村成人少妇人妻Aa一区二区视频| 色天使亚洲综合在线观看| 78m成人视线| 色999亚洲人成色| 亚洲人妻在线一区| 大香蕉中文在线| 天天综合网1| 99ri精品| 乳欲人妻办公室奶水| 欧美色视| 成人无码欧美一级A片狼牙直播| 区一二区日韩亚洲乱码av电影| 欧美网站免费| 欧美五十路熟| 日韩欧美加勒比| 9997se| 97色涩| 麻豆久久久久久久久丝袜| 99热欧美| 亚洲蜜桃V妇女| 91成人高清在线观看| 伊人九九九| 99色色网| 亲子敌伦对白在线播放| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 狠狠操狠狠| 探花在线免费观看视频国产一区| 人妻精品视频一区二区三区| 色偷偷超碰亚洲| 色色99| 欧美综合加勒比在线| 欧美日韩999| 人人摸人人添人人操| 亚洲国产成人精品999| 欧美日韩久久精品爱爱| 97国产精选| 白丝少妇一区二区| 97欧美日韩| 怡春院久久| 国产日本一区二区三区蜜臀在线观看| 91熟女丨老女人| 亚洲黄色AV电影| 欧美激情久操网| 性暴力欧美猛交在线直播| 日本 情色 1区| 嗯嗯不要视频| 一卡二卡三卡| 亚洲自拍97| 天天爽夜夜爽夜夜爽精| 久久久久久久强迫| 白天啪啪晚上啪啪视频| 高清国产av无码| 天天综合AV| 制服少妇欧美| 久久伊人影院| 狠狠色狠狠色狠狠五月| 啪啪一区| 91n免费处女| 日韩精品人妻| 成人八戒网站| 69AV女优男人的天堂| 亚洲情色一区二区三区| 网友自拍第1页| 国产一进一出视频网站| 色妺妺在线视频| se吧提供91精品国产91久久久久久| 婷婷美人网| 成人午夜小视频手机在线看| 日本精品第一视频在'| 嗯嗯啊啊啊好舒服| 欧美伊人电影| 亚洲九月丁香| 亚州色图欧美| 日韩欧美操逼xxx| 亚洲色诱惑| 自拍丝袜美腿人妻| 欧美国产婷婷久久| 日韩探花精品在线视频| 亚洲区限制级| 天天视频网站黄| 欧美熟妇乱码在线一区| 青草精品视频日本久久久久网站在线| 在线中文字幕极品av| 久久这里都是精品| 国产99热| 国产91美女高潮| 色97干| 欧美性爱五月天| 欧美东京热青青草| 97五月天| 五月丁香六月综合缴清无码| 不卡啪啪视频| 亚洲熟妇A V黑人| 亚洲.欧美.丝袜.中文.综合| 日天天九九天堂666| 9色在线| 国产一国产一级毛片古装| 麻豆人妻精品一区二区| 3PAV乱伦视频| 久热久操| 婷婷99狠狠| 91精品无码久久久久久久 | 一区麻豆 高清中文字幕| 玖玖爱在线视频免费观看| 中文字幕少妇色| 亚洲欧美日韩精品久久久一区二区| 少妇内射视频| 天天看片天天爽| 日本三级网页| 欧美情色男人的天堂| 黄色大片视频在线免费看| 密臀视频一区二区三区| 翔田千里av一区二区三区| 日本精品一区二区三区四区的功能| 亚洲国产精品乱码在线观看| av网站在线观看了| 久久久久久九九九| 巨爆乳一区二区爆乳区| 欧美大干日韩| 激情色播| 高清国产无码av| rion磁力链接| 四虎影视永久在线观看精品免费网站 | 国产日韩久久| www久久精品| 亚洲诱惑天堂 | 骚货 中文字幕 av| 亚州 综合 色图| 久久久久久久久久久97| 中文字幕高清20页视频| 国产毛片在线| 欧美日本国产日韩激情视频| 最新国内自拍av免费| 色网色网色网色网色网色| 东京热毛片调教| 精品熟妇视频一区二区| 国产精品夜夜夜| 中文字幕啊啊啊在线观看视频| 午夜天堂啪啪| 美女一区二区国产精品| 精品人妻av在线播放| 欧美老妇曰批的视频| av一区二区三区四区| 国产女s强制榨精视频| 香蕉视频精品亚洲一区二区三区在线播| SUV一区二区在线看| 啊啊啊啊啊舒服| 天天在线91| 人人操人人操人妻人| 亚洲欧美另类图片| a片久久久久久久久久久久 | 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 无码日韩人妻av一| 亚洲综合九九| 亚州色站 日韩电影| 亚州 综合 色图| 偷拍亚洲视频一区二区三区四区| 一二三四区操操Av| 校园春色五月天| 影音先锋日本一区二区| 99视频自拍| 中文字幕精品丝袜| 久久久亚洲熟妇资源| 欧美色日| 人妻一区二区三区四区视频| 国产AV激情无码久久无码| 欧美熟女激情| 日本肉体xxxx裸交| 玖玖玖玖精品国产剧情| 久久精品国产亚洲妲己影视| 看日韩操逼| 欧美天堂日韩三级国产传媒| 欧亚乱色熟一区二区三四区| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 久久九色| 婷婷六月色| 天美精品一区二区三区四区在线观看| yazhououmeizongya| 芊芊操逼视频无码| 蜜桃臀 后入 一区 二区 三区 在线| 91爱看| 一类无码操逼视频| 美骚妇av高清在线| 51国产午夜精品视频| 超碰国产情侣自拍网| 亚洲人精品久久久| 欧美久久伊人| 97超碰国产亚洲精品| 亚洲五月婷| 久九九九九九九九热| 国产 三级自拍| 91女优在线观看| 性色av婷婷久久一区二区点复制| 超碰在线97国产| 免费作爱一级视频| 青青草在线视频播放器| 97福利视频| 日本黄大片在线观看视频| 精品视频久久区| AV久日| 欧美麻豆成人同性GⅤ在线| 国产欧洲精品亚洲午夜拍精品| 乱伦AVxx| 青青草一区二区高清无码视频| 精品国产99| 99这里只有精品国产| 后入日本1234| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 囯产精品强| 99在线观看| 伊人网青青| 97色涩| 色综合久久av| 欧美色涩| 国模91| 五月天婷婷在线看| 欧美久久人人网| 久久久久久中文版| 素人一区二区三区日韩| 99re热| 色色婷婷丁香| 日韩黄色av中文字幕| 1024精品在线| 亚洲天天影视色综合| 人人妻人人操人人乐| 亚洲一区二区中文字幕| 久久国产免费激情视频| 欧美色图亚洲色| 亚洲综合色在线| 99热18| 亚洲成A∨人影院在线欢看| 超碰欧美| 舔足天天操天天射| 992大香蕉| 色噜噜人妻av中文字幕| 免费超碰97久久| 欧美一品道| julia ann久久| 蜜臀th| 免看60秒涩涩视频| 超碰这里有精品| 99re6在线视频精品免费完整版安卓版| 美腿色图| 久偷拍欧美日韩三区| 欧美视频激情久久久久久| 亚洲Av噜噜一区二区三区妖精| 四虎免费看黄| 久久亚码| 老熟女中文字幕高清| 丰满丝袜少妇AV| 日本高清一本二本免费不卡| a啊啊啊啊啊啊啊啊一区二区| 综合熟妇一区二区三区| 国产在线视频午夜精华在| 天天影视综合色| 国产操逼网站亚洲一级黄色| 国产特级毛片AAAAAA高潮流水 | 久久五月婷| 精品无吗久久| 玖色av| 国产辣妈在线视频福利| 97任你吞精| 乱老女人一区二区视频| 91麻豆天美国产欧美日| 亚洲自拍一区夜夜操| 欧美人妻一区二区| 国产探花日韩援交| 久久露脸国产老熟女| 116美女午夜| 狠狠操狠狠燥| 日本不卡高清视频| 极品五月天噜噜| 精品十八在线观看| 午夜福利激情在线视频| 色99视频| 日韩八十路老熟女| 26uuu欧美日韩| 伊人网在线点播| www..com操老师| 久久美女国产| 99亚洲精品| 青青草原av| 午夜福利成人免费视频| 六月丁香网| 久久久久国色αv免费观看| 少妇xx精品| 青青草啪啪网| 国产无码高清操逼视频| 精品国产一区二区三区久久久蜜臀| 日日97| 能看的av| 伊人网免费视频| 亚洲精品国产AV天美传媒| 中文字幕一二三| 黄页18禁| 在线毛片片免费观看| 嗯嗯啊啊好疼| 日本性爱不卡视频| 色97欧美| 人人色人人射人人妻| 岛国激情视频在线观看| 亚州欧美总和| 91精品综合久久久久久五月丁香| 操熟女91| 亚洲av热热色| 手机看片1025| 2020中文字幕在线观看| 国产盗摄美女如厕大神作品在线观看| 日日操免费视频| 亚洲高清在线se| ′ !γ}丶。。久久精品欧美一区二区三区 | 一本色道久久综合亚洲二区三区| 久久久久久精品免费看A级| 国产精品欧美在线观看| 超碰97最新人妻| 男人的天堂亚洲| 十八禁av无码免费网站APP| 久久噜噜噜精品国产亚洲综合| 熟女丰满人妻一区| 国产亚洲精品一区二区三区| 欧美肥臀在线| 99久热| 一区二区三区黄片免费观看| 九九av| 超碰在线人妻不卡| 男人的天堂网免费| 欧美一级A片在线看视频性色| 国产精品97视频| 超碰一区二区| 九九九久久久久| 91伊人影视综合| 日人妻视频91| 精品毛片av一区二区| 在线午夜成人无码视频| 精品九九淫乱男| 日日黄色三级网站| 国产天天看| 九九九九日本 | 成人三一级一片aaa| 蜜乳av一区二区| 中国特猛少妇色xxx| 在线观看啊啊啊啊啊| 色天堂在线观看| 日本精品第一视频在'| 91neishe| 亚洲天堂无码| 激情视频一二三| 亚洲女优有码无码高清| 韩日男人的天堂| 在线精品福利免费播放| 亚欧高清v| 五月色综合| 亚洲精品a人片在线观看视| 黄片色区软件| 五月激情影院| 日韩av三四区| 超碰久久综合| 98久久超碰| 性久久久| 美日韩男女操屄视频| 91一区二区三区蜜桃| 新久久AV| 五月天丁香| 久久一本大香蕉| 中国91AV| 国产精品无码av| 99热在线观看| 91美女在线视频| 精品久久97| 亚洲AV噜噜狠狠网址蜜桃动漫| 欧美国产日韩高清在线| 安徽熟妇视频| 超碰99re| 337p大胆噜噜噜噜噜91Av| 91人妻视频| 超碰97丝袜| 婷婷五月天成人网| 搡老女人老91妇女熟女| 亚洲国产天堂| 国产黄色av大片网站| 欧美成人一区二区| 亚洲欧美骚| 婷婷激情五月| 91美| 日本 欧美 亚中文字幕| 天天影视综合色| 综合欧美日韩在线观看| 综合激情婷婷| 极品色综合| 久久乐| 亚洲综合电影| 国产精品久久9| 欧洲欧美视频一区二区| 91红杏| 亚洲中文一区二区三区| 欧美亚性天堂| 亚洲精品久久久久久久蜜桃臀| 俺去也婷婷| 91人妻熟女| 懂色AV中文| 日本视频一区二区三区| 神马九九| 国产一区二区三区视频在线看| 富二代亚洲精品99| 亚洲自拍97| 亚洲色欲一区二区三区| 久久亚洲欧美中文字幕国语| 97硬碰| 日本中文字幕在线视频| 天天射天天色成人| 五月天婷婷色| 国产精品网址| 色九九久九九| 男生女生啊啊啊啊| 九九人人操| 日韩极品无码B| 97亚洲资源| 久久久婷婷婷| 小视频国产| 婷婷10月天青娱乐| 欧洲小说色图视频另类| 五月婷色| 国内毛片国产欧美拍| 久久成人东京热人妻| 美女超碰978| 超碰成人国产| 综合久久久久久久综合网| 国产亚洲色停停久久99精品91| 国产精品免费视频不卡| 一区二区三区探花在线观看| 亚洲欧洲小说图片视频| 日韩熟女乱伦中出| 国产成年女黄特黄| 国产精品不卡少妇白| 日韩av电影网站| 97视频新免费| 天堂九九九九九九九九九| 熟女视频久久| 中文自拍欧美影视| 国产亚洲中文不卡二区| 操操逼视频| 亚洲综合嫩| 久久精品区| 天堂性色| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 亚洲色欲天天天堂色欲网女| 欧美后入| 淫荡少妇免费| 欧美aaaaaaa| 久久精品国产亚洲妲己影视| 人人看人人爰人人操| 黄片com.| 91麻豆天美国产欧美日| 狠狠图片青青草| 91国产丝袜白虎| a男人的天堂久久一级A毛片| 国产麻豆福利av在线播放| 日日日日日| 国产高清午夜成人在线观看| 日韩在线观看三级电影| 国产家庭乱伦网址| 天天影视色香色欲| 伊人少妇久久久| 婷婷超| 日本久久久久久久久久| 偷拍导航视频网站| 欧美大香蕉久| 五月婷婷六月色| 2017大香蕉国产精品久久| 欧美色图欧美| 911av网站免费观看| 99色综合| 亚洲日韩97| 性暴力欧美猛交在线直播| 色色色综合网| 91久久精品国产| com 首页 18岁 禁区 女优 免费 精选 同城| 日本九九久久99| 在线人成亚洲视频免费观看| 日韩无码黄色片| 国产怡红院| 91欧美综合| 色婷婷香蕉| 麻豆区久久久久亚| 国产久久av| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | av片在线观看免费播放| 天天内射| 国产精品自在自拍视频| 国产精品午夜精品| 久久精品国产亚洲AV成人直播| 97超碰免费生活| 久综合网| 中文字幕99999| 超碰在线人妻不卡| 97精品熟女少妇一区| 看看日B真人视频| 天天干天天爽| 日韩有码 一区二区三区| 久久神马影院| 97中文字幕一区| 婷色五月| 亚洲色图尤物视频| 99999re| 大肥女高潮bbwbbwhd视频| 探花视频免费观看国产专区| 婷婷久久综合| 老熟女综合网 | 97色欧洲| 密臀在线免费观看| 国产三级中文有码在线视频| 999热日韩精品| 午夜福利久久久噜久噜久久综合| 日本东京热加勒比久久| 久操免费在线| 伊人久久亚洲色欲综合网站 | 久久国产999| 欧美一区二区在线资源| 久久xxxx| 无码抄逼网| 91人妻素女| 91人妻精华帖| 特级特黄一级毛片免费| 少妇无码999| 东京男人天堂| 风间由美日韩欧美久久| 日本性一区| 超碰久久网| 亚洲。天堂。日本在线观看| 老熟女阿 国产91| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 女生看匆91网站| 亚洲自拍小说| 久草看看看| 欧美亚洲综合高清在线| 91色花堂| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 夜夜综合| 亚洲drav色图| 91九九九吃| 一本久久久精品| 欧美se综合| 国产捆绑一区| 高清无码一区二区三区| 欧亚成人| 欧美顶级黄片AAAAA在线免费看| 亚洲黄色影视| 91丨国产丨白浆| 欧美综合在线91| 999九九九九国产动| 老熟女天天操| 乱操乱伦AV| 操高情无码| 久久99久久99精品免视看婷婷| 久久精品一区二区三区不卡| 精精夜夜| 屁股久久久久久久久| 91东北熟女| 强歼乱伦资源网| 五月天婷婷欧美三区| 97精品视频免费| 欧美黑人日韩少妇色情| 91老熟妇| 怡红院一区二区熟女人妻| 在线观看一卡二卡| 怡红院亚洲怡春院av| 在线观看中文字幕| 婷婷中文字幕| 久久久久国产精品人妻aⅴ天堂| 91日韩网站| 91oumei| 亚洲综合另类| 日本人人操人人操| 亚洲精品日韩国产欧美| 亚洲图片激情综合另类| 激情色图| 精品国产91内射久久| 欧美一级A片在线看视频性色| 欧美18禁91| 丁香婷婷五月| 96精品在线| 精品久久久久久久| 久久大香蕉| 天堂亚洲精品| 激情综合婷婷| 天天摸天天操视频| 天天弄天天操| 99少妇| 欧美性生活综合| 日韩精品亚洲一二三| 免费一级欧美片片线观看| 夜夜黄| 91在线|亚| 肏逼福利网站| 色女综合| 欧美 日韩 亚洲 春色| 天堂亚洲精品久久老牛| 国产亚洲精品美女久久久m| 大香蕉在线SuP| 密桃99999| 国产在线观看91精品一区| 中文字幕诱惑制服人妻丝袜美丝袜美| 无套内射人妻在线播放| 男人天堂最新手机版在线青青草| www九九热| 操操逼视频| 98超碰欧美| 美欧老女人97| 熟女被操视频网址| 日本一区二区中文字幕久久| 9精品在线| 91在线页| 日韩av不卡在线观看| 九九热AV| 老司机香蕉| 久久久久久久综合,国产| 久久这里都是精品| 伊人久久大香大香线蕉中文| 亚洲无992tv| 欧美性高潮在线| 60秒免费小视频| 精品妇女一区二区三区| 精品亚洲黄色片 国产精品导航一区二区| 理论久久婷婷网8| 久久国产999| 天美传媒在线一区| 97超碰色屌| 国产欧美一区二区| 爽爽淫人网| 国产激情综合五月久久|