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

ARTICLE DETAIL

資訊詳情

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

Python讀取HDF格式星球圖數(shù)據(jù):從文件結(jié)構(gòu)到地理可視化

Python讀取HDF格式星球圖數(shù)據(jù):從文件結(jié)構(gòu)到地理可視化 1. 項(xiàng)目概述為什么HDF格式的星球圖數(shù)據(jù)成了繞不開的硬骨頭最近幫某高校遙感實(shí)驗(yàn)室處理一批火星表面高程與礦物成分聯(lián)合觀測(cè)數(shù)據(jù)拿到手就是一串后綴為.hdf的文件——不是常見的.tif或.png也不是規(guī)整的.csv表格。打開文件管理器雙擊系統(tǒng)直接報(bào)錯(cuò)“無法識(shí)別此文件類型”用常規(guī)圖像查看器打開一片漆黑拿Python的PIL或cv2去imread拋出UnidentifiedImageError。那一刻我意識(shí)到這不是一張“圖”而是一張被精心封裝的“數(shù)據(jù)地圖”。它里面可能藏著幾十個(gè)波段的光譜反射率、三維地形高程矩陣、大氣校正參數(shù)、時(shí)間戳、經(jīng)緯度投影信息甚至還有儀器標(biāo)定系數(shù)——全塞在一個(gè)文件里像一個(gè)帶密碼鎖的多層抽屜柜。HDFHierarchical Data Format正是為這種復(fù)雜科學(xué)數(shù)據(jù)而生的。它不追求“人眼友好”而是追求“機(jī)器可追溯、結(jié)構(gòu)可嵌套、元數(shù)據(jù)可自描述”。在行星探測(cè)、氣象衛(wèi)星、地球觀測(cè)領(lǐng)域HDF幾乎是事實(shí)標(biāo)準(zhǔn)NASA的MODIS、ESA的Sentinel系列、我國(guó)某深空探測(cè)任務(wù)的原始數(shù)據(jù)包90%以上都以HDF4或HDF5格式交付。但問題來了——很多剛接觸遙感或空間數(shù)據(jù)的開發(fā)者第一反應(yīng)是“這不就是個(gè)圖片嗎用PIL讀一下不就完了”結(jié)果卡在第一步連數(shù)據(jù)長(zhǎng)什么樣都不知道。更麻煩的是HDF文件內(nèi)部結(jié)構(gòu)高度自由有的把圖像數(shù)據(jù)存在/Data_Fields/Reflectance路徑下有的藏在/HDFEOS/GRIDS/MyGrid/Data_Fields/里還有的用SDSScientific Data Set方式組織根本不像普通圖像那樣有統(tǒng)一的width × height × channels維度。你得先“摸清門牌號(hào)”再“敲開門”最后“找到抽屜里的東西”。所以這個(gè)項(xiàng)目標(biāo)題看似簡(jiǎn)單“Python讀取星球圖數(shù)據(jù)—HDF格式圖像文件”實(shí)則直指三個(gè)關(guān)鍵斷層第一層是認(rèn)知斷層——誤把HDF當(dāng)普通圖像第二層是工具斷層——不知道該用h5py還是pyhdf該查Dataset還是Group第三層是語義斷層——即使讀出了數(shù)組也不知道哪個(gè)維度代表經(jīng)度、哪個(gè)是波段、縮放因子scale_factor怎么用、填充值_FillValue怎么剔除。這篇文章就是我踩過至少7次坑、重裝過4次環(huán)境、對(duì)照NASA官方文檔逐行調(diào)試后整理出的一套“星球圖HDF數(shù)據(jù)破壁指南”。它不講抽象理論只說你在終端里敲什么命令、在代碼里寫哪幾行、看到什么輸出才說明走對(duì)了路。適合正在處理火星軌道器影像、木衛(wèi)二冰面雷達(dá)剖面、或某行星地質(zhì)圖的你——無論你是剛學(xué)完pandas的研究生還是需要快速交付數(shù)據(jù)接口的工程師。2. 核心思路拆解為什么不能用OpenCV/PILHDF的“分層”到底分在哪2.1 普通圖像庫為何集體失效本質(zhì)是數(shù)據(jù)模型錯(cuò)配我們先看一個(gè)典型失敗案例。假設(shè)你拿到一個(gè)名為mars_terrain.hdf的文件直覺操作如下from PIL import Image img Image.open(mars_terrain.hdf) # 報(bào)錯(cuò)cannot identify image file或者import cv2 img cv2.imread(mars_terrain.hdf) # 返回None毫無提示為什么因?yàn)镻IL和OpenCV的設(shè)計(jì)哲學(xué)是“面向像素流”pixel stream。它們預(yù)設(shè)文件是一個(gè)連續(xù)的、按RGB/BGR順序排列的字節(jié)數(shù)組頭部有固定的magic number如PNG的89 50 4E 47能快速定位寬高、位深、壓縮方式。而HDF文件完全不是這樣。它是一個(gè)自描述的樹狀容器self-describing hierarchical container底層基于類似文件系統(tǒng)的B樹索引結(jié)構(gòu)。你可以把它想象成一個(gè)U盤里面不是一堆照片而是一個(gè)帶目錄樹的硬盤根目錄下有/Metadata文件夾存?zhèn)鞲衅鲄?shù)、/Geolocation文件夾存經(jīng)緯度網(wǎng)格、/Data_Fields文件夾存真正的高程數(shù)值每個(gè)文件夾里又可能有子文件夾。PIL試圖把整個(gè)U盤當(dāng)成一張JPEG來解析自然失敗。提示HDF文件頭前4字節(jié)是0x89 0x48 0x44 0x46ASCII碼對(duì)應(yīng).HDF但這只是標(biāo)識(shí)“這是HDF容器”不包含任何圖像尺寸信息。真正的數(shù)據(jù)位置、維度、類型全在后續(xù)的“對(duì)象目錄”O(jiān)bject Directory里動(dòng)態(tài)索引。2.2 HDF4 vs HDF5選錯(cuò)庫等于從起點(diǎn)就迷路HDF有兩個(gè)主流版本HDF41993年發(fā)布和HDF51997年發(fā)布。雖然名字像升級(jí)版但二者文件結(jié)構(gòu)、API設(shè)計(jì)、Python綁定庫完全不同混用必報(bào)錯(cuò)。判斷你的文件屬于哪一類最可靠的方法不是看后綴.hdf可能是HDF4也可能是HDF5而是用命令行工具探查# Linux/macOS下安裝hdf5-utils h5dump -n mars_terrain.hdf # 如果能輸出Group/Dataset列表是HDF5 # 或者用通用工具 file mars_terrain.hdf # 輸出含HDF5 data即為HDF5含HDF data則為HDF4HDF5文件現(xiàn)代主流支持超大文件2TB、并行I/O、壓縮過濾器gzip、szip、更靈活的屬性attributes系統(tǒng)。Python生態(tài)主力是h5py庫它把HDF5的Group組類比為Python字典Dataset數(shù)據(jù)集類比為NumPy數(shù)組上手極快。HDF4文件老系統(tǒng)遺留較多如部分早期MODIS產(chǎn)品結(jié)構(gòu)更復(fù)雜有SDScientific Data、VDVdata、VSVgroup等多種對(duì)象類型。Python中需用pyhdf庫其API更底層需顯式調(diào)用SD.start()、SD.select()等方法學(xué)習(xí)曲線陡峭。我處理過的某火星探測(cè)數(shù)據(jù)集官網(wǎng)文檔寫的是“HDF格式”但實(shí)際下載下來用h5dump一查是HDF4——結(jié)果我按HDF5教程寫了半天h5py.File()一直報(bào)OSError: Unable to open file (File signature not found)。后來才發(fā)現(xiàn)HDF4文件頭簽名是0x0E 0x03 0x13 0x01和HDF5的0x89 0x48 0x44 0x46完全不同。選錯(cuò)庫不是語法錯(cuò)誤而是根本沒打開門就試圖找房間。2.3 “讀取圖像”的真實(shí)含義在HDF里圖像是哪一層回到標(biāo)題中的“星球圖數(shù)據(jù)”這里“圖”是廣義的它可能是單波段灰度圖如火星全球高程圖也可能是多波段偽彩色圖如用近紅外、紅、綠波段合成的礦物分布圖還可能是帶地理坐標(biāo)的柵格圖GeoTIFF的HDF替代品。但在HDF里它從來不是/image.png而是某個(gè)Dataset對(duì)象其路徑和結(jié)構(gòu)需手動(dòng)勘探。舉個(gè)真實(shí)例子NASA發(fā)布的MOLA火星激光高度計(jì)數(shù)據(jù)典型HDF5文件結(jié)構(gòu)如下/ ├── /Data_Fields/ │ ├── Elevation_Data (dataset, shape: 720x1440, dtype: float32) │ └── Slope_Data (dataset, shape: 720x1440, dtype: float32) ├── /Geolocation/ │ ├── Latitude (dataset, shape: 720, dtype: float64) │ └── Longitude (dataset, shape: 1440, dtype: float64) └── /Metadata/ └── Attributes: { scale_factor: 0.5, add_offset: -1000.0, _FillValue: -9999 }注意兩點(diǎn)第一Elevation_Data才是你要的“圖”但它是個(gè)二維數(shù)組不是RGB圖像第二它的值需要經(jīng)過raw_value * scale_factor add_offset才能得到真實(shí)高程單位米且-9999是無效值必須屏蔽。如果你直接plt.imshow(h5f[/Data_Fields/Elevation_Data])畫出來是一片混亂的色塊——因?yàn)闆]做物理量轉(zhuǎn)換也沒剔除填充值。所以“讀取星球圖”的核心動(dòng)作鏈?zhǔn)嵌ㄎ籇ataset → 讀取原始數(shù)組 → 應(yīng)用縮放與偏移 → 屏蔽填充值 → 可選重采樣/投影 → 可選轉(zhuǎn)為RGB可視化。每一步都不可跳過而HDF的分層結(jié)構(gòu)恰恰是為了讓這四步操作有據(jù)可查、可追溯。3. 實(shí)操細(xì)節(jié)解析從零開始勘探HDF文件定位你的“星球圖”3.1 環(huán)境準(zhǔn)備與庫選型三行命令搞定基礎(chǔ)依賴別急著寫代碼先確保環(huán)境干凈。HDF庫對(duì)編譯環(huán)境敏感尤其在Windows上容易因MSVC版本沖突報(bào)錯(cuò)。我的實(shí)測(cè)經(jīng)驗(yàn)是優(yōu)先用conda而非pip安裝因?yàn)閏onda會(huì)自動(dòng)解決底層C庫如HDF5.dll依賴。# 創(chuàng)建獨(dú)立環(huán)境推薦避免污染主環(huán)境 conda create -n hdf-reader python3.9 conda activate hdf-reader # 安裝核心庫h5py用于HDF5pyhdf用于HDF4 conda install -c conda-forge h5py pyhdf netcdf4 # netcdf4可選但常用于讀取HDF-EOS格式 # 驗(yàn)證安裝 python -c import h5py; print(h5py.__version__) # 應(yīng)輸出如3.9.0 python -c from pyhdf.SD import SD; print(pyhdf OK)注意netcdf4庫雖名含NetCDF但底層基于HDF5能無縫讀取大量HDF5格式的遙感數(shù)據(jù)如CMIP6氣候模型輸出且API更接近xarray對(duì)多維數(shù)據(jù)友好。如果項(xiàng)目涉及時(shí)間序列分析建議一并安裝。3.2 第一步無損勘探——用命令行和Python快速“掃描”文件結(jié)構(gòu)在寫任何讀取邏輯前必須先看清HDF文件的“地圖”。我習(xí)慣分兩步先用命令行粗篩再用Python細(xì)查。命令行快速篩查L(zhǎng)inux/macOS# 查看文件基本信息大小、修改時(shí)間、HDF版本 ls -lh mars_terrain.hdf # 對(duì)于HDF5列出所有Group和Dataset路徑-n參數(shù) h5dump -n mars_terrain.hdf | head -20 # 只看前20行避免刷屏 # 對(duì)于HDF4用hdfview圖形工具需單獨(dú)安裝或pyhdf腳本 python -c from pyhdf.SD import SD sd SD(mars_terrain.hdf) print(File info:, sd.info()) print(Datasets:, [d[0] for d in sd.datasets().items()])Python交互式勘探推薦Jupyter Notebookimport h5py # 或 from pyhdf.SD import SD # 打開文件只讀模式避免誤寫 with h5py.File(mars_terrain.hdf, r) as f: print(文件根組內(nèi)容:, list(f.keys())) # 輸出如 [Data_Fields, Geolocation, Metadata] # 進(jìn)入Data_Fields組 data_group f[Data_Fields] print(Data_Fields下數(shù)據(jù)集:, list(data_group.keys())) # 輸出如 [Elevation_Data, Slope_Data] # 查看Elevation_Data數(shù)據(jù)集詳情 elev_ds data_group[Elevation_Data] print(Elevation_Data形狀:, elev_ds.shape) # (720, 1440) print(數(shù)據(jù)類型:, elev_ds.dtype) # float32 print(是否壓縮:, elev_ds.compression) # gzip print(縮放因子屬性:, elev_ds.attrs.get(scale_factor, 未定義))這段代碼的關(guān)鍵在于f.keys()和ds.attrs。HDF5中keys()返回的是當(dāng)前Group下的子對(duì)象名字符串列表attrs是一個(gè)類似字典的對(duì)象存儲(chǔ)所有用戶定義的元數(shù)據(jù)attributes。90%的“讀出來是亂碼”的問題根源都在忽略了attrs里的scale_factor、add_offset、_FillValue這三個(gè)黃金屬性。它們就像數(shù)據(jù)的“使用說明書”不讀就用必然出錯(cuò)。3.3 第二步精準(zhǔn)提取——讀取、校正、清洗三步得到可用數(shù)據(jù)假設(shè)勘探確認(rèn)目標(biāo)數(shù)據(jù)集路徑為/Data_Fields/Elevation_Data且其attrs包含{ scale_factor: 0.5, add_offset: -1000.0, valid_min: -8000.0, valid_max: 20000.0, _FillValue: -9999.0 }那么正確讀取流程如下import numpy as np import h5py def read_hdf5_elevation(file_path): with h5py.File(file_path, r) as f: # 1. 讀取原始數(shù)據(jù)注意不要用[:]直接讀全量大文件會(huì)爆內(nèi)存 ds f[/Data_Fields/Elevation_Data] # 2. 獲取屬性 attrs ds.attrs scale attrs.get(scale_factor, 1.0) offset attrs.get(add_offset, 0.0) fill_value attrs.get(_FillValue, None) # 3. 分塊讀取關(guān)鍵防內(nèi)存溢出 # 假設(shè)數(shù)據(jù)太大只讀取中心區(qū)域做測(cè)試 h, w ds.shape y_start, y_end h//2 - 100, h//2 100 x_start, x_end w//2 - 100, w//2 100 raw_data ds[y_start:y_end, x_start:x_end] # 切片讀取 # 4. 應(yīng)用物理校正 calibrated raw_data.astype(np.float32) * scale offset # 5. 屏蔽填充值注意np.nan不能直接比較要用np.isnan if fill_value is not None: calibrated np.where(calibrated fill_value, np.nan, calibrated) # 6. 可選應(yīng)用valid_min/valid_max裁剪異常值 valid_min attrs.get(valid_min, -np.inf) valid_max attrs.get(valid_max, np.inf) calibrated np.clip(calibrated, valid_min, valid_max) return calibrated # 調(diào)用 elev_map read_hdf5_elevation(mars_terrain.hdf) print(校正后數(shù)據(jù)范圍:, np.nanmin(elev_map), to, np.nanmax(elev_map)) # 輸出應(yīng)類似-8000.0 to 15000.0單位米這里有幾個(gè)極易被忽略的實(shí)操要點(diǎn)分塊讀取Chunked ReadingHDF5支持?jǐn)?shù)據(jù)分塊存儲(chǔ)chunkingds[y_start:y_end, x_start:x_end]會(huì)智能加載僅需的塊比ds[...]全量加載省內(nèi)存10倍以上。對(duì)于10GB級(jí)的全球DEM數(shù)據(jù)這是救命功能。數(shù)據(jù)類型轉(zhuǎn)換原始uint16數(shù)據(jù)乘以float32縮放因子時(shí)若不顯式轉(zhuǎn)為float32可能因整數(shù)溢出產(chǎn)生負(fù)值。務(wù)必加astype(np.float32)。填充值處理_FillValue通常是特定數(shù)值如-9999但有些數(shù)據(jù)集用NaN。np.where比calibrated[calibrated fill_value] np.nan更安全避免原地修改風(fēng)險(xiǎn)。valid_min/max非必需但強(qiáng)烈建議它比_FillValue更寬泛能捕獲儀器飽和、云遮擋等導(dǎo)致的異常值。NASA的Landsat產(chǎn)品就常用此機(jī)制。3.4 第三步地理配準(zhǔn)——把數(shù)字矩陣變成“有經(jīng)緯度的圖”讀出elev_map只是個(gè)二維數(shù)組要讓它成為可疊加到GIS軟件或Web地圖上的“星球圖”必須賦予地理坐標(biāo)。HDF文件通常在/Geolocation組下提供經(jīng)緯度網(wǎng)格。繼續(xù)以MOLA為例假設(shè)/Geolocation/Latitude是長(zhǎng)度720的一維數(shù)組/Geolocation/Longitude是長(zhǎng)度1440的一維數(shù)組。那么elev_map[i, j]對(duì)應(yīng)緯度lat[i]、經(jīng)度lon[j]。構(gòu)建坐標(biāo)網(wǎng)格只需import numpy as np # 讀取經(jīng)緯度向量 with h5py.File(mars_terrain.hdf, r) as f: lats f[/Geolocation/Latitude][:] # shape: (720,) lons f[/Geolocation/Longitude][:] # shape: (1440,) # 生成二維經(jīng)緯度網(wǎng)格廣播機(jī)制 lon_grid, lat_grid np.meshgrid(lons, lats) # shape: (720, 1440) # 此時(shí) lon_grid[i,j] 和 lat_grid[i,j] 就是 elev_map[i,j] 的地理坐標(biāo) print(經(jīng)緯度網(wǎng)格形狀:, lon_grid.shape, lat_grid.shape) # (720, 1440)有了lon_grid、lat_grid、elev_map三者你就可以用matplotlib繪制帶坐標(biāo)軸的圖import matplotlib.pyplot as plt plt.pcolormesh(lon_grid, lat_grid, elev_map, cmapterrain) plt.xlabel(Longitude (deg)) plt.ylabel(Latitude (deg)) plt.colorbar(labelElevation (m))導(dǎo)出為GeoTIFF需rasterio庫import rasterio from rasterio.transform import from_origin # 計(jì)算地理變換參數(shù)左上角坐標(biāo)像元大小 transform from_origin(lons[0], lats[0], np.diff(lons).mean(), # 經(jīng)度分辨率 np.diff(lats).mean()) # 緯度分辨率 with rasterio.open( mars_elevation.tif, w, driverGTiff, heightelev_map.shape[0], widthelev_map.shape[1], count1, dtypeelev_map.dtype, crsprojlonglat a3396190 b3376200 no_defs, # 火星橢球體參數(shù) transformtransform ) as dst: dst.write(elev_map, 1)注意火星、月球等天體的CRS坐標(biāo)參考系統(tǒng)與地球不同。a3396190是火星赤道半徑米b3376200是極半徑。這些參數(shù)必須從數(shù)據(jù)文檔中獲取不能硬編碼地球值。4. 完整實(shí)操流程從下載文件到生成可發(fā)布圖像的端到端演示4.1 場(chǎng)景設(shè)定復(fù)現(xiàn)NASA MOLA全球高程數(shù)據(jù)處理我們以公開的MOLA數(shù)據(jù)集文件名mola_128ppd.hdf128像素/度約16MB為實(shí)戰(zhàn)樣本。該文件可在NASA PDS行星數(shù)據(jù)系統(tǒng)網(wǎng)站免費(fèi)下載是典型的HDF5格式星球圖。步驟1下載與初步驗(yàn)證# 下載模擬實(shí)際URL需從PDS獲取 wget https://pds-geosciences.wustl.edu/mola/mess_mola_5/DOCUMENT/README.TXT # 實(shí)際數(shù)據(jù)文件在 /mola/mess_mola_5/DATA/ 目錄下 # 驗(yàn)證HDF5格式 file mola_128ppd.hdf # 輸出mola_128ppd.hdf: HDF5 data... h5dump -n mola_128ppd.hdf | grep -E (Group|Dataset) # 輸出應(yīng)含Group: /Data_Fields, Dataset: Elevation_Data步驟2編寫勘探腳本explore_hdf.py#!/usr/bin/env python3 HDF5勘探腳本打印文件結(jié)構(gòu)、數(shù)據(jù)集詳情、關(guān)鍵屬性 import h5py import sys def explore_hdf5(file_path): print(f 探勘文件: {file_path} ) with h5py.File(file_path, r) as f: print(根組鍵:, list(f.keys())) for key in f.keys(): obj f[key] print(f\n--- {key} ---) print(類型:, type(obj).__name__) if isinstance(obj, h5py.Group): print(子組/數(shù)據(jù)集:, list(obj.keys())) for subkey in obj.keys(): subobj obj[subkey] if isinstance(subobj, h5py.Dataset): print(f {subkey}: {subobj.shape}, {subobj.dtype}) print(f 屬性: {dict(subobj.attrs)}) elif isinstance(obj, h5py.Dataset): print(f{key}: {obj.shape}, {obj.dtype}) print(f 屬性: {dict(obj.attrs)}) if __name__ __main__: if len(sys.argv) ! 2: print(用法: python explore_hdf.py hdf5_file) sys.exit(1) explore_hdf5(sys.argv[1])運(yùn)行python explore_hdf.py mola_128ppd.hdf輸出關(guān)鍵信息根組鍵: [Data_Fields, Geolocation, Metadata] --- Data_Fields --- 類型: Group 子組/數(shù)據(jù)集: [Elevation_Data] Elevation_Data: (720, 1440), float32 屬性: {scale_factor: 0.5, add_offset: -1000.0, _FillValue: -9999.0} --- Geolocation --- 類型: Group 子組/數(shù)據(jù)集: [Latitude, Longitude] Latitude: (720,), float64 Longitude: (1440,), float64步驟3核心讀取與可視化腳本process_mola.py#!/usr/bin/env python3 MOLA數(shù)據(jù)處理讀取、校正、地理配準(zhǔn)、可視化 import numpy as np import h5py import matplotlib.pyplot as plt from matplotlib.colors import LinearSegmentedColormap def read_and_calibrate(file_path): 讀取并物理校正Elevation_Data with h5py.File(file_path, r) as f: ds f[/Data_Fields/Elevation_Data] attrs ds.attrs scale attrs.get(scale_factor, 1.0) offset attrs.get(add_offset, 0.0) fill_value attrs.get(_FillValue, None) # 全量讀取此文件小可接受 raw ds[:] calibrated raw.astype(np.float32) * scale offset if fill_value is not None: calibrated np.where(calibrated fill_value, np.nan, calibrated) return calibrated def get_geogrid(file_path): 獲取經(jīng)緯度網(wǎng)格 with h5py.File(file_path, r) as f: lats f[/Geolocation/Latitude][:] lons f[/Geolocation/Longitude][:] return np.meshgrid(lons, lats) def plot_mola(elev_data, lon_grid, lat_grid, output_pathNone): 繪制MOLA高程圖 # 自定義火星地形色帶模仿NASA風(fēng)格 colors [#00008B, #2F4F4F, #8B4513, #DEB887, #90EE90, #00FF00] mars_cmap LinearSegmentedColormap.from_list(mars_terrain, colors) plt.figure(figsize(12, 6)) im plt.pcolormesh(lon_grid, lat_grid, elev_data, cmapmars_cmap, vmin-8000, vmax20000) plt.xlabel(Longitude (°)) plt.ylabel(Latitude (°)) plt.title(Mars Global Topography (MOLA)) plt.colorbar(im, labelElevation (m)) if output_path: plt.savefig(output_path, dpi300, bbox_inchestight) print(f圖像已保存至: {output_path}) plt.show() if __name__ __main__: # 主流程 file_path mola_128ppd.hdf print(正在讀取并校正數(shù)據(jù)...) elev_map read_and_calibrate(file_path) print(f校正后數(shù)據(jù)形狀: {elev_map.shape}, 有效值數(shù)量: {np.count_nonzero(~np.isnan(elev_map))}) print(正在生成地理網(wǎng)格...) lon_grid, lat_grid get_geogrid(file_path) print(正在繪圖...) plot_mola(elev_map, lon_grid, lat_grid, mola_topography.png)步驟4執(zhí)行與結(jié)果python process_mola.py輸出日志正在讀取并校正數(shù)據(jù)... 校正后數(shù)據(jù)形狀: (720, 1440), 有效值數(shù)量: 1036800 正在生成地理網(wǎng)格... 正在繪圖... 圖像已保存至: mola_topography.png生成的mola_topography.png將清晰顯示火星的兩大特征北半球低地藍(lán)色-4000m和南半球高地棕色5000m以及著名的奧林匹斯山Olympus Mons最高點(diǎn)約21km在圖中為白色尖峰。這張圖已具備科研發(fā)布級(jí)別——它不是“看起來像圖”而是每個(gè)像素都有精確的物理意義和地理坐標(biāo)。5. 常見問題與排查技巧實(shí)錄那些讓我熬夜到凌晨三點(diǎn)的坑5.1 問題速查表癥狀、原因、解決方案癥狀可能原因解決方案OSError: Unable to open file (File signature not found)文件是HDF4卻用h5py打開用file命令確認(rèn)版本改用pyhdf.SDKeyError: Elevation_Data數(shù)據(jù)集路徑不對(duì)或名稱含空格/特殊字符用explore_hdf.py完整列出所有鍵注意大小寫和斜杠AttributeError: Dataset object has no attribute attrs用pyhdf讀取時(shí)未通過sd.select()獲取Dataset對(duì)象sd SD(file); sds sd.select(Elevation_Data); sds.attributes()圖像顯示為全黑或全白忘記應(yīng)用scale_factor和add_offset或_FillValue未屏蔽打印np.min(raw),np.max(raw)對(duì)比attrs中的縮放參數(shù)內(nèi)存溢出MemoryError嘗試ds[...]讀取超大文件如10GB全球DEM改用切片讀取ds[start:end, start:end]或用dask.array延遲加載經(jīng)緯度網(wǎng)格錯(cuò)位圖歪了meshgrid順序顛倒或lats/lons方向與數(shù)據(jù)矩陣不匹配確認(rèn)lats是南北向長(zhǎng)度行數(shù)lons是東西向長(zhǎng)度列數(shù)meshgrid(lons, lats)正確5.2 獨(dú)家避坑技巧來自血淚經(jīng)驗(yàn)的3條鐵律鐵律1永遠(yuǎn)先print(dict(ds.attrs))再ds[:]我曾為一個(gè)木衛(wèi)二冰面雷達(dá)數(shù)據(jù)集調(diào)試兩天最終發(fā)現(xiàn)scale_factor1e-6原始值是微秒級(jí)時(shí)間戳不乘以1e-6就全是0。attrs是HDF數(shù)據(jù)的“出廠說明書”跳過它等于蒙眼開車。建議在所有讀取函數(shù)開頭強(qiáng)制添加# 強(qiáng)制檢查關(guān)鍵屬性 required_attrs [scale_factor, add_offset, _FillValue] for attr in required_attrs: if attr not in ds.attrs: print(f警告: 缺少必要屬性 {attr}可能需手動(dòng)指定)鐵律2HDF4的SD.select()必須配對(duì)endaccess()pyhdf的SD.select()會(huì)占用文件句柄不釋放會(huì)導(dǎo)致后續(xù)打開失敗。正確寫法from pyhdf.SD import SD, SDC sd SD(data.hdf, SDC.READ) try: sds sd.select(MyDataset) data sds.get() finally: sds.endaccess() # 必須 sd.end() # 必須漏掉endaccess()第二次運(yùn)行腳本就會(huì)報(bào)HDF error: Cant open file——因?yàn)榫浔绘i死。鐵律3用h5py的visititems()遍歷所有Dataset別信文檔官方文檔寫的路徑有時(shí)過時(shí)。某次處理歐空局火星快車數(shù)據(jù)文檔說數(shù)據(jù)在/HDFEOS/GRIDS/MarsElevation/Data_Fields/Height但實(shí)際在/HDFEOS/GRIDS/CTX_MOLA/Data_Fields/Height。用以下代碼一鍵窮舉def find_dataset_by_name(file_path, target_name): 在HDF5文件中搜索包含target_name的數(shù)據(jù)集 with h5py.File(file_path, r) as f: matches [] def visitor(name, obj): if isinstance(obj, h5py.Dataset) and target_name.lower() in name.lower(): matches.append(name) f.visititems(visitor) return matches print(find_dataset_by_name(mars.hdf, elevation)) # 輸出所有含elevation的路徑5.3 性能優(yōu)化實(shí)戰(zhàn)處理10GB級(jí)HDF5文件的3種策略當(dāng)面對(duì)全球1km分辨率的火星熱輻射圖文件大小常超10GB時(shí)常規(guī)讀取會(huì)崩潰。我的實(shí)測(cè)方案策略1分塊切片Chunked Slicing# 不要data ds[:] # 加載全部到內(nèi)存 # 要按需加載 chunk_size 1000 for i in range(0, ds.shape[0], chunk_size): for j in range(0, ds.shape[1], chunk_size): chunk ds[i:ichunk_size, j:jchunk_size] # 處理chunk如計(jì)算統(tǒng)計(jì)量、寫入新文件策略2用dask.array延遲加載import dask.array as da # 將HDF5 Dataset包裝為dask數(shù)組不立即加載 dask_arr da.from_array(ds, chunks(1000, 1000)) # 所有操作如mean, std都是惰性求值 global_mean dask_arr.mean().compute() # 此時(shí)才真正計(jì)算策略3HDF5外部鏈接External Links如果數(shù)據(jù)分散在多個(gè)文件可創(chuàng)建主HDF5文件用外部鏈接指向各分塊with h5py.File(master.hdf, w) as f: f[/Block_001] h5py.ExternalLink(block_001.hdf, /Data) f[/Block_002] h5py.ExternalLink(block_002.hdf, /Data) # 讀取時(shí)透明訪問像一個(gè)文件這三種策略讓我成功處理過單個(gè)18GB的木衛(wèi)二冰下海洋探測(cè)數(shù)據(jù)集全程內(nèi)存占用穩(wěn)定在2GB以內(nèi)。6. 工具鏈延伸從HDF讀取到專業(yè)分析的無縫銜接6.1 與xarray集成讓HDF數(shù)據(jù)擁有DataFrame般的靈活性xarray是科學(xué)計(jì)算的瑞士軍刀它能將HDF5的多維數(shù)據(jù)集自動(dòng)映射為帶坐標(biāo)標(biāo)簽的DataArray極大簡(jiǎn)化分析。import xarray as xr # 一行代碼加載HDF5并自動(dòng)解析坐標(biāo) ds xr.open_dataset(mars_terrain.hdf, engineh5netcdf) # 自動(dòng)識(shí)別/Data_Fields/Elevation_Data - ds[Elevation_Data] # 自動(dòng)關(guān)聯(lián)/Geolocation/Latitude - ds.coords[latitude] # 瞬間實(shí)現(xiàn)復(fù)雜操作 # 計(jì)算赤道附近±5°平均高程 equator_mean ds[Elevation_Data].where( (ds[latitude] -5) (ds[latitude] 5) ).mean(dim[latitude, longitude]) # 沿經(jīng)度做剖面如0°經(jīng)線 prime_meridian ds[Elevation_Data].sel(longitude0, methodnearest)注意需安裝h5netcdf引擎pip install h5netcdf它是xarray讀取HDF5的推薦后端比原生h5py支持更多NetCDF-HDF5混合格式。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人九九精| 色色综合网站| 综合色91| 男人天堂网手机版婷婷| 精品人妻一区二区免费蜜桃| 国产视频不卡在线观看| 91精品啪在线观看国产城中村| 欧美人妻少妇| 欧美BT 亚洲色图| 亚洲免费日韩在线一区二区| ′ !γ}丶。。久久精品欧美一区二区三区| 国产成人欧美一区二区三区的国产| 友优传媒精品在线一区二区| 青青操在线视频| 啊啊啊久久久视频| 久久久久密臀视频| 日韩精品9区| 二对二中文字幕。| 啊啊啊啊啊啊啊好爽不要| 亚洲男人天堂Av| 风流老熟女一区二区三区l| 欧美一区二区三区不卡高清视频| 欧美日韩资源| 丁香色狠狠色综合久久小说| 性久久久| 日韩在线观看三级电影| 久久久精品网站| 少好三P| 天天做天天爱天天爽AV| 老师充足的奶水小说| 又大又白奶子| 亚洲国产一区二区三区在线 | 97日视频| 成人片视频| 中文字幕乱碼在线| 久草毛片| yw尤物av无码点击进入麻豆| 操b在线观看| 欧美日本成人一区二区| 精品免费视频国产一区| 欧美v日韩v亚洲v最新在线| 97精品一区| 久久宗合97| 性感美女啊啊啊在线| 91精品久久久久久77777| 天天天肏屄欧美| 天操天操夜操夜月操月年年操| 好淫网一二三视区| 亚洲精品一卡二卡三卡福利视频网站| 夜草欧美| 91欧美www| 性猛交| 亚洲天堂久久久久久粉红视频| 91色香| 日韩精品资源专区二区| 18禁中文字幕| 蜜乳av首页| 亚洲欧洲偷拍一区| 久久久18禁| 日本最新1区2区3区| 天天综合网合集91| 精品久| 熟女人妻久久中文字幕一二区| 人妻天天夜夜爽一区二区| 精品人妻1237| 少妇色综合| 人妻色情天天操| 亚洲久9| 成年人网站在线免费观看| 免费啪啪av| 亚洲国产欧美中日韩成人综合视频| 大香蕉伊人久久| 欧美大码在线视频| 久九9精品| 综合五月天| 黄片www视频免费| 91成人高清在线观看| 欧美顶级黄片AAAAA在线免费看| 这里有精品| 欧美香蕉视xxx| 日韩欧美中文字亚洲慕| 影音先锋日本一区二区| 色噜噜狠狠色综合日日| 亚洲青色欧美| 99久久99久久免费精品蜜臀| 日韩色| 96久久科窝| 欧洲大香蕉| 精品久久久av无码免费| 俺去俺来也在线www| 91美乳| 国产精品诱惑| 超碰人人色| 亚洲男人的天堂网| 久久久久久久强迫| 少妇天堂网络| 大学生口爆吞精| 志村玲子视频一区二区| 久久97视频| 91在线视频观看国产| 中文字幕国产精品1区| 高清肉丝中文无码| 高清国产性猛交xxxx乱大交| 开心六月色| 久久 久久国内精品亚洲| 五十路熟女人妻一区二区三区四区五| 99爱精品| 国产精品国产精品国产| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 美女刺激久久国产欧美| 日韩本不卡视频在线观看| 999亚洲国产视频| 久久久久骚| 99re99| 3571色综合一区二区二区| 青青青草原| 亚洲AV噜噜狠狠网址蜜桃动漫| 性感女人网页在线观看视频| 亚洲五月婷婷| 亚洲天堂一区二区| 色综合婷婷| 欧美小说区视频区| 香蕉在线一区二区三区| 久久精品一区二区| 99re这里只有精品3| 97色伦97色伦国产欧美| 人妻丝袜肏逼| 91超碰人人| 起碰97| 91久久精品国产| 日日夜夜精品视频| 国语人妻精彩刺激| 九九九精品成人免费视频小说| 91啪9色| 26uuu最新| 噜噜噜久久亚洲精品色情| 激情 欧美 亚洲 小说| 国产农村妇女精品一| 欧美人与动性人交a| 欧美黑人猛交春色影视大全| 国产精品爆乳懂色蜜乳| 国产视频大全| 国产精品亚洲免费| 青春草莓视频在线观看网址| 自拍亚洲综合| 亚码激情| 高潮毛片无遮挡高清免费| 欧美色日| 蜜臀久久在线视频| 伊欧美综合视频| 蜜臀99久久精品久久久久| 日韩中文字墓| 啊啊啊不要好爽日韩无码一区| 在线色导航| 加勒比性爱成人在线| 丁香六月婷婷| 琪琪精品免费一区二区三区| 粉嫩av一区二区三区天美传媒 | 欧美在线天堂| 精品无码一二三四区| 在线强奷到舒服的无码视频| 91香蕉国产尤物视频| 性性久久| www.狠狠干.coom| 人妻啪| 97在线视频免费看| 美女诱惑在线一区| 亚洲AV高潮| 抽插无码高清一区| 92性色国产午夜福利在线661| 亚洲精品97中文字幕| 99精品在线观看| 中文字幕五月婷婷免费| 色综合天天爱去电影网| 欧美亚洲系列| 中出人妻中文字幕91在线| 麻豆国产av网| 人妻天天爽夜夜爽爽| 欧美国产伊人久久久久| 国产不良强奸视频免费看| 伊人在线大香蕉视频久久| 亚州操操穴网| 欧美极品女人的天堂| 成人乱码一区二区三少妇| 3PAV乱伦视频| 国产一级αv免费看片| 国产一区免费午夜视频| 97干97色| 欧美色网| 久久久新亚洲AV| 欧美综合在线第一页| 九九拍拍精品视频在线播放| 啊啊啊啊啊啊啊国| 尹人大香蕉视频在线| 性爱av在线免费观看| 人人艹亚洲| 久久精品人妻一区| 极品国产内射| 亚洲h片在线免费观看| 亚洲综合欧美| 久久产精品一区二区三区电影| 精人妻一区二区三区| nuu12国产麻豆精品| 国产精品熟女九九九| 一区二区三区四区姦女| 色爱欲亚洲| 亚洲视频一二区| 日韩少妇丰满亚洲| 青青草字幕AV| 97在线资源| 久草线上视频免费看| 欧美91精彩| 天天日天天舔东京热| 久久99国产综合精品女同| 天天做天天爱| 久久久啊啊| 大香蕉伊人一区在线观看| 欧美熟妇视频| 精品国产一区二区三区久久久蜜臀| 丰满少妇人妻久久久久久| 天天干2019| 在线天堂999| 欧美18禁91| 香蕉久久精品| 久久久天美| 91美女视频。| 久久久久97| 免费αV在线视频| 在线免费观看日韩一区| 久草视频分类在线| 天天插天天插| 日本999精品| 国产吹潮女在线观看| 亚洲日韩97| 久久午夜色播影院免费高清| 亚洲欧洲综合成人av一区| www.91人妻.com| 免费在线观看AV无码网站| 99色综合| 热久日综合| 美女天天干| 污色区网站| 欧美一区二区三区蜜桃| 殴美性色a级欧美| 亚洲欧美日韩有码| 黄片免费日韩| 青草视频在线看看看看看看看看看| 超碰 97国产熟女| 人人搡人人肉久久精品| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 人妻啊啊人妻啊啊| 欧美在线啊啊啊| 四虎884| 2024年最新色情网站在线观看| 波多野42部无码喷潮在线观看 | 殴美色网| 天天干夜夜一操| 99久久无色码| 午夜啊啊| 一区二区三区免费岛国片| 日本熟妇一区二区三区| 久久久久久久9最新免费视频观看| 精品国产乱码久久久| 欧洲欧美视频一区二区| 台欧久久精品视频| 精品人妻高清麻豆av| 国产在线观看91精品一区| 色五月综合| 亚洲一二三| 亚洲无992tv| 99性视频| 久久久久女教师免费一区| 一级片在线观看高清无码| 色婷婷电影| 久久精品电影| 国产精品久久久久久久AV大片| 亚洲婷婷五月天| 亚洲美女黄色| 日韩欧美综合激情| 亚洲Av噜噜一区二区三区妖精| 天天日天天干天天操| 性爱视频久久| 91熟女在线| 激情深爱五月天| 国产偷拍自拍在线视频| 乱伦熟女区| 婷婷五月色| 亚洲欧洲激情| 国产日韩色综合| 红桃视频高潮| 少妇熟女1区2区3区| 天天综合色| 亚洲女人毛茸茸91| 亚洲国产麻豆一区二区三区| 97在线资源| 国产综合网站在线播放 | 亚洲AV无线| 日韩中文字幕av在线播放| 凹凸视频在线一区二区| 日日天天久久啊啊aaa| 热99这里有精品综合久久 | www.狠狠操| 亚洲一区二区av| 怡红院一区二区熟女人妻| 91精品操美女| 欧美99| 欧美热图99| 欧美一级色| 久久精品无码熟妇一区二区三区视频导航| 九九在线视频| 中国AAAAAA黄色片| 91少妇香蕉久久精品| 国产女人高潮嗷嗷嗷叫小说 | 欧美日韩亚洲天堂| 男人下部插入女人下部 | 久久97资源 网| 亚洲欧综合另类无码一区| 国产精品国产| julia高潮后不停追击中出| 日本精品五区| 男人的天堂三级| 日日日日日| 翔田千里AV无码秘 三区| 国产精品久久久视频| 国内精品久久人妻性色av| 精品人妻一区二区三区夜夜| 日本岛国黄色网址| 精品人妻一二三| 大香蕉欧美国产日韩高潮| 日韩激情中文字幕有码| 久久久精品| 日本九九久久99| 丁香婷婷大香蕉| 性综合网| 丁香五月天激情综合| 一类av片在线看| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲色图综合| 亭亭在线资源| 97色插| 内射老妇BBWX0C0CK| WWW美腿丝袜香蕉中文| 91精品电影18| 92人人操人人| 99久久精品无码一区二区毛片免费 | 亚洲国产综合图区中文字幕| 亚洲色悠悠久久88| 欧插网站| 丁香五月综合| 操逼逼福利视频| 亚洲加勒比久久日本道| 校园春色 亚洲| 青青伊人久久| 天堂国产AV| 另类图片五月天| 国产高清MV操逼视频| 日韩性爱小视频| 久久97视频| 国产视频大全| 亚洲综合九| 欧美性,亚州色| 国产成人亚洲精品自产在线 | 亚洲在线欧美| 深夜国产福利| 中韩中文字幕在线观看| 五十路成人在线视频二区三区| 国产AV天美| 九九久久一区二区三区| 久久久久性熟视频| 青青草原狼av| 啊啊啊啊啊啊啊国| 北京专精特新企业招聘信息| 欧洲无码一区二区| 久久久亚洲精品电影免费看| 人人爽天天爽| 800zy一区二区| 99青草| 亚洲色图久久成人| 男人天堂站| 国产又黄又猛又粗又爽的网站| 乱老女人一区二区视频| A片三级无码| 乱伦AVxx| 无码伊人久久大杳蕉中文无码| 日韩人成网站在线播放| 女人午夜视频777| 激情五月天社区| 国产激情av女片自拍| 人妻在线视频| 色婷婷av在线观看| 青青草密桃在线播放| 加勒比无码一区二区三区| 伊人AAA| 一本一道人妻久久一区二区三区 | 五月婷婷激情| 欧美日韩婷婷中文| 最新9久久久9免费视频| 午夜啊啊| 操啊国产| 日韩亚洲中文字幕在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日本性爱网址| 东京热免费视频| 五月激情综合网| 久久亚洲骚逼综合| 9999亚洲电影| 亚洲第一视频 欧美风情 日韩| 精品丰满熟妇人妻一区| 国产精品黑人一区二区三区| 久久国产性爱| 久色网| 中文字幕乱码人妻一区二区三区,99精品 | 女人一区| 激情久久日韩精品中文字幕麻豆| 日本熟妇人妻一区二区三区| 人人弄人人摸| av凤凰久久久| 青青草原综合久久大伊人精品| 60秒免费小视频| 超碰欧美97资源| 大香蕉久久| 欧美日本中字另类在线| 天天日天天操心| 麻豆AV96熟妇人妻| 骚货操死你| 999精品国产高清一区二区| 91爆操视频| 夜夜操狠狠操| 99re6在线视频精品免费完整版安卓版| 一卡二卡三卡| 日韩高清黄片| 好吊妞转入那个网| 我想要啊 啊 啊| 国产色图乱伦| 激情色色| 精品女同一区| 久久东京伊人一本到鬼色| 色婷婷电影网| 果冻传媒A片一二三区| 亚洲国产精品成人久久蜜臀| 在线观看国产黄色| 日韩99神马视频片| 亚洲日韩电影| www.久久| 日韩综合第八区国产精品| 无码操逼视频一下| 99久久无色码| 亚洲熟女综合一区二区| av资源在线观看少妇| 国厂麻豆77q4| 亚洲国产一级黄色视频| 人妻在线中出视频| 欧美加勒比| 自拍偷拍2025在线观看| 国产欧洲精品亚洲午夜拍精品| 在线a亚洲视频播放在线| 九九RE视频在线精品| 国产亚洲日本| av在线观看不卡网站| 人妻插插人妻人| 亚洲全色网| 中文字幕成人| 午夜传煤十二区精品| 一起草精品人妻| 亚拍在线| 播播亚洲小说亚洲| 日本最新1区2区3区| 欧美激情性爱视频网站| 日本不卡二三区| 国产精品福利资源在线尤物| 青青草吊丝| 国产黄色视频久久| 日日黄色三级网站| 日韩欧美成人性爱在线| 91黑丝操| 人妻AV 中文字幕的| 日韩久射综合| 亚洲综合网电影91| 69麻豆天美| 国产精品对白内射| 成人av影院在线观看| 亚洲drav色图| 毛片电影一区二区三区| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 国产性刺激| 国产成久久综合片| 亚洲天天影视色综合| 日人妻视频91| 极品出轨视频网站| 四虎 精品 WWW| 中文字幕精品免费一区二区| 日本大香蕉| 在线视频日韩欧美国产| 成人怡红院| 97超碰色屌| 人妻人人做人人澡人人爽欧美一区| 久久久九九| 人妻嗯啊啊在线播放| 婷婷超| 亚洲第91页| 在线强奷到舒服的无码视频| 久久精品店| 激情综合av| 久久老子无码午夜伦不卡| 亚洲丝袜诱惑| 在线中文AV| 夜夜嗨一区二区| 狠狠操官网| 91老司机精品| 精品人妻一区二区乱码一区二区| 极品色www影院| 天美传媒精品一区二区| 亚洲少妇免费视频\| 一二三四免费视频| 免费观看的黄色的网站| 亚洲av成人精品一区| 97欧美久久久久久久| 9 9精品一区二区三区| 2017人人操,人人摸| 午夜噜噜噜| 亚洲日韩熟女人妻高清在线| 人妻天天爽夜夜爽爽| 欧美成人黄网色网站| 一区二区乱码福利| 后入精品| 男人天堂久久精品不卡| 成人久久精品| 超碰久久性爱| 色婷亚洲五月在线观看| 不卡一区二区日本视频| 搡老熟女免费视频| 999999精品| 久久激情视频| 曰韩少妇无码| 欧美91精彩| 天堂日本亚洲欧美| 亚洲 欧美 中文 日韩超碰| 亚洲精品人妻吞精av | 中文字幕在线2| 桃色六月天| 蜜臀国产AV中文字幕| 3p国产色噜噜一区| 欧美国产伊人久久久久| 岛国大片在线观看网站入口| www.亚洲成人一区| 中国操逼无码| 亚洲春色一区二区三区| 在线不欧美| 丰满人妻一区二区三区免费| 欧美色图99| 中文字幕无码不卡啪啪| 91少妇通奸网站| 精品二999| 亚洲欧美setu| 久久日本熟女精品一区| 青青草乱入乱欲视频在线观看| 夜夜狼人妻| 激情图片伦理国产一区二区日韩| 有码人妻系列| 欧美美女在线高潮999| 黑丝少妇麻豆| 美女主播色欲91抠b在线播放| 日日夜夜骑| 操一操摸一摸| 九九九九9999| 国产麻豆福利av在线播放| 91色图片| 黄色不卡视频| 欧美一级专区免费大片| 欧美色图在线视频少妇| 精品一区99999| 男人天堂最新手机版在线青青草| 97chaopenrihan| 极品少妇久久久久| 丰满人妻一区二区三区免费| 97爱综合| 国产毛片久久久久久久| 亚洲午夜福利在线影院| 国产精品秘 福利姬在线观看| 99久在线精品99re8热| 久久婷婷五月综合| 97精品国产97久久久久久户外免费| 精品网站9999| 久久宗合亚洲| 91中文字幕制服丝袜免费视频| 91成人无码| 大香蕉乱级| 日韩性爱再线视频| 91亚洲精品青草| 91成人社区| 9久久久久久| 亚洲影院365| 96久久精品一二三区色欲| 日本大片日本一区二区免费高清 | 青青操视频在线| 97操b| 欧美成年人性爱视频免费观看| 黄在线| 天天摸,夜夜摸| 躁躁日曰躁2020| 久区视频| 一起草日韩| 亚洲丝袜色| 亚洲欧美日韩国产丝袜自拍中文| 2020中文字幕在线观看| 久久国产乱子伦精品免费女人| www狠狠| 97国产天堂岛| 91啪啪| 成人性爱全视频观看| 天堂av2019| 韩国毛片一区二区三区| 99久久精品欧美国产| 久久怡红院| 99re在线视频国产| 成人26uuu| 91无码中出人妻视频| 日日骚精品视频| 精品国产Av无码久久久伦古装| 色香色欲天天综合网天天来吧| 91丝袜美女| 国内毛片四区| 国产成人bd在线观看| 亚洲免费日韩在线一区二区| 一本色道综合久久欧美日韩精品| 激情啪啪拍91| 色偷综合| 日本免费一级AAA大片器| 九九久久首页| 9久精品| 婷婷99| 欧美性少妇| 18禁网站在线播放| 亚熟hd视频在线| jizz啪啪| 伊人国产av| 老女人综合网| 久久人人妻| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 操屄不卡视频| 亚洲精品久久久久久| 一牛影视成人片免费| 青青草五月天| 精品无码久久久久久国产浪潮| 亚洲人在线| 国产精品国产亚洲区艳妇糸列| 97免费在线视频在线观看| 骚女天天综合网| 天天干天天插| 97爱爱爱| 欧美日韩免费专区在线| 人妻无一区二区三区| 97内射偷拍| 都市久久精品激情亚洲| 怡红院成人av| 郑州宾馆老熟女露脸啪啪| 欧美日韩人妻少妇 一区二区三区| 亚洲国产婷婷在线播放| 国产中午字一暮区| 99自拍视频在线观看| 日韩大香蕉AV影片| 啊啊啊啊啊啊啊国| 无码外流操逼视频| 欧美亚州色的图| 国产 日韩 另类 视频一区爱| 激情文学亚洲| 资源在线观一 二| 精品无码秘 人妻一区二区 | 久久人人爽爽人人爽人人片αV| 91 亚洲情侣偷拍 久久| 国产AV高清AV无码| 亚洲毛片基地专区| 成人在线视频一区| 综合一区中亚洲国产成人综合精品 | 另类老少妇| 女同在线视频一区| 少妇人妻好深太紧了vr91| 97jingpin| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 操老熟女AV| 大香蕉亚洲中文| 另类TS人妖一区二区三区| 女上位精品在线| 夂久色| 中文精品一区二去| 91亚洲最新在线| 射丝袜高跟鞋99| 天天干天天狼在线视频| 久久久97| 人人妻天天做天天爽| 欧美在线官网| 日本性爱网址| 亚洲麻豆av一区二区| 人人摸人人舔一区二区| 人妻天天夜夜爽一区二区| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 亚洲欧美精品一区天堂久久| 97在线视频观看网站| 96超碰网| 99re在线精品78| 日韩国语字幕| 蜜乳AV网址| 国产精品久久天天干| 欧美日本不卡在线| 97精品97久久| 天天综合影院91| 五月天大香蕉| 99久久久久久久久| 午夜a成v人电影| 国产精品欧美在线观看| 肉丝中文无码高清| 丰满搜索结果 -第18页- 久久高清无码| 一块操欧美性爱| 日韩激情啪啪啪| 国产女同在线观看视频| 97日亚洲欧美| 天堂av最新电影网| 曰韩香蕉97| 十八禁黄色成人网站观看| 欧美亚洲丝袜人妻制服99| 操婷婷逼| 人妻精品一区二区在线| 中文字幕一区二区韩| 黑人精品XXX一区一二区| 精品国产乱码久久久久久网站入口| 女上位精品在线| 亚州高清色综合| 国产AV人人 夜夜人人澡| 九九无码久久精品视频| 超踫中文字幕| 夜夜一区二区| 色色亚洲| 欧美性特| 女色视频社区| 爱爱动态120秒| 亚洲,欧美,春色,另类| 亚洲五月天激情| 99热精品在线播放| 色五月综合| 日本在线一二| 亚洲无套久久嗯嗯| 91蜜臀在线久久久久| 久jiu久神马影院| 久久理论字幕视频| 亚洲综合888| 插老姨肥穴| 丝袜av一区二区三区| 欧美色日本| 在线A日本| 国产色精品午夜大片| 亚州性色| 精品在线蜜臀| 中文字幕丰满人妻日本| 欧美夜夜草视频| 强奸乱伦AV一天堂网| 激情天天视频| 神马久久久久久伦理片| 粉嫩av在线一区二区| 国产小u女在线观看| 亚洲国产日韩欧美熟妇在线| 丁香五月影院| 日本女厕偷拍| 超碰97久久国| 欧美日韩小说| 性无码专区2020| 免费日韩黄片| 在线国产探花| 久久久久久久久久久久久久久性生活视频| 少妇免费视频| 无码男人天堂| 亚洲毛片久久| 免费少妇一区二区| 亚洲综合中文字幕有码| 亚洲综合激情五月久久| 亚洲综合888| 视频在线中文字幕| 操人妻视频| 欧 美 自 拍 偷 拍| 国产伦乱91| 99re这里只有精品中心播放| 91天美传媒在线观看| 四虎免费在线播放| 久久国产熟女影院| 偷看洗澡一二三区美女| 中文字幕视频一区视频二区| 国产AV线| 26uuu最新| 中文字幕av乱伦| 白丝AV网站| 久久久青青草| 双插性欧美一二三区| 色情综合网| 91天美传媒在线观看| 91亚洲综合在线| 先锋色眉乱伦资源| 四虎影视在线| 日韩天天综合| 国产精品黄色三级av| 日本熟妇一区二区三区| 美国三级日本三级久久99| 色色毛片| 九九成人| 997色在线| 无码外流操逼视频| 亚洲性综合9| 蜜臀va69| 天天干人人干天天日97| 国产白嫩精品久久| 亚洲图片91| 婷婷亚洲五月***久久| 91精品丝袜久久久久久无码人妻| 97超碰9| 日韩激情中文字幕有码| 九X超碰| 视频不卡中文字幕| 婷婷99狠狠| 日本不卡免费二区| 在线看片国产精品每日更新| 大香蕉国产中文自拍| 色激情综合网站| 99这里有精品| 久久日韩肥臀| 91粉嫩萝控精品福利网站_精品影音先锋国 | 伊人成人中文字幕久久网| 941超碰| 3028国产精品| 亚洲欧美国产va在线| 日婷婷| 春色校园综合网| 国产v亚洲v日韩v欧美v片另类| 人人摸人人干| 婷婷激情四射| 亚洲少妇色| 香蕉视频精品亚洲一区二区三区在线播| 亚洲乱熟女一区二区三区大香蕉| 91艹| 国产亚洲禁久一区二区| 999九九九九国产动| 日韩国产乱子伦App| 久久综合久色欧美综合狠狠| 天天看天天在线精品| 91超碰碰在线| 丝袜熟女一区二区三区| 亚洲青青草| 在线啊v一区| 欧日韩一二三f区| 久草婷婷| 日本操逼视频免费| 久久只有精品一区二区三区| 精品久久无码午夜福利| 91性感网站| 美女国产一区二区久久| 干b网| 天天插天天干| 秋霞一集毛片观看| 亚洲色图国产另类| 香蕉人人操tv| 好涩综合| 日本一区二区电影网站| 自拍偷拍草一草| 色女免费在线观看视频网址| 欧美黄片视频在线观看免费| 78精品在线| 在现视频女上位好爽| 强被迫伦姧在线观看无码网站| SS久久| 日韩激情中文字幕有码| 欧美一级二级三级| 精品人妻夜夜草| 国产av又色又爽又黄| 天天综合欧美黑人| 中文伊人大香蕉视频| 日韩av免费一级电影| 91男人天堂网| 精品久久視頻在线| 欧美一区二区日韩三区| 精品无码产区一区二| 长长久久88视频| 老子午夜伦不卡影院| 热热色综合网| 亚洲AV免费在线观看| 国产69精品久久久久99尤物| 特污精品女优骚货黄色视频在线免费观看| 禁止观看美女黄| japan日本高清乱xxxx| 91欧美色| 超碰欧美在线欧美| 日韩AV一区二区三区四四| 日本操色导航| 亚洲成人贴图| 亚洲人精品午夜不卡| 中文字幕av色| 探花激情视频| 男人的天堂午夜av| 精品久久久久久久| 免费国产| 97干色天堂| 天天操夜夜操| 约操熟妇| 日本黄色精品专区网站| 中文字幕乱妇免费视频| 性性久久| 国产高清成人传媒影视| 99热在线观看| 国产一区麻豆免费观看| 亚洲色图欧美| 91老熟女逼| 亚洲春色一区二区三区| 日韩少妇丰满亚洲| 国产亚洲女v在线观看| 中文在线久久字幕| 久射吧| 日韩性爱1级片视频| 一区二区三区高清| 久久久久久免费电影| 久久綜合很很很| 欧美.亚洲.另类.丝袜.制服.诱惑| 91小视频| 18禁精品网站在线看| 9国产超碰| 超碰97欧美| 精品免费囯产一区二区三区| 黄色一区三区| 久久久久ab| 久久久久9999妇女| 超碰在线人妻不卡| 蜜桃精品一区二区三区ww| 开心激情站| 婷婷色综合| 久久九色| 欧美视频在线视频免费va| 高清无码 国产精品| 免费一级黄色录像影片| 国产精品视频自拍在线| 综合久久久久久久久91| 中日韩免费看男女操逼大全| 国产精品99999| 欧美影院一区二区三区| 91免费看一区二区三区| www国产无码| 日韩精品在线视频,日韩精品……| 亚洲久久久久| 国产成人在线观看网址| 亚洲本色精品一区二区久久| 少妇综合网| 日韩免费簧片| 伦激情人妻另类人妻| 高清一区AV无码| 岛国色情视频在线观看| 欧美日韩国产高清在线一二三区| 自拍偷拍 高清无码| 99久久久er直播网址| 强奸乱伦大香蕉网| 中文字幕av亚洲精品| 情侣操 逼视频99| 神马久久久久眼| 夜夜嗨一区二区| 97频视在线| 狠狠做深爱婷婷久久二区| 99色日| 91精品久久久久久久久久| 日本久久久久久久久久| 亚洲欧洲视频小说在线观看| 成人网欧美风情| 欧美亚洲涩涩| 国内毛片四区| J?P?NESEHD熟女熟妇伦| 国产美女口爆吞精视频| 亚乱色| 日韩久久三区| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 边做饭边操逼逼| 日本三级网页| 女优免费一区二区永久| 亚洲精品骚逼| 国产精品一区在线播放| 永久电影三级在线观看| 加勒比久久综合网高清| 亚洲人人操| 啊啊啊啊二区好大| 暴力av在线| 欧美大香蕉久| 色官网在线| 欧美丝袜激情| 日韩本不卡视频在线观看 | 亚洲色9| 久久超碰天天| 婷婷av在线中文字幕| 欧美成人性爱视频大全| 69综合网| 人妻熟女一区二区在线视频| 欧美亚洲素人制服精品| 9+1视频网址| 亚洲色资源| 精品91日日夜夜超清资源| 日本性爱网址| 2025亚洲男人天堂| 老熟女天天操| 久操网无码在线| 久久久久久夜夜夜夜夜| asc国产精品| wwwxxx日本爽| 欧美专区在线| 日韩欧视频| 懂色天天爱天天日天天射天天澡| 后入美女国产| 91国产丝袜白虎| 国产精品999zyz| 亚洲中文人妻色| 综合色欧美| 操逼操网| 狠狠亚洲| 影音先锋每日最新资源在线观看| 91Chinese在线| 美女让帅哥通她小鸡鸡| 日韩免费福利在线观看| 91大胆欧美| 国产97亚洲| 丁香九月激情啪| 不卡六六在线91| 激情小说成人日本无码一| 久久精品一区| 国产精品内射婷婷一级二| 亚洲天堂综合AV| 超碰99在线| 欧美婷婷| 肥佬影院91| 99视频自拍| 综合五月天| 五月丁香色色网| 蜜臀久久99精品久久久久电影| a天堂视频| 青青草中日韩在线| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲诱惑| 亚洲免费在线探花| 亚洲情色在线| 啪啪视频亚洲第一| 久久久久久久国产| 亚洲国产婷婷在线播放| 97在线观视频免费观看| 国产精品久久久久无码A√| 亚洲视频,小说| 久久久久久69国产一区二区| 蜜桃精品视频一区| 性在久久久久久| 色五月AV在线| 国产日韩欧美三级片| 亚洲人妻色图| 天美国产三级传媒| 国产毛片片精品天天看视频| 粘花网06av视频| 家庭乱伦国产| 久久精品99久久久久久| 欧日a| 精品无码少妇| 1024亚洲中文字幕久在线看片你懂的| 天天插网| 无码视频一区二区| 国产精品制服丝袜清纯唯美| 亚洲极品| 亚州国产精品乱| 男女性无套 免费九一| 欧美日韩国产电影| 粉嫩av在线一区二区| 久久久久女教师免费一区 | 啊啊啊啊好疼视频| 亚洲综合激情五月久久| 黑人娇小av在线播放| 91黑丝美女| 国产精品久久久三级无码| 午夜精品久久久久久久久久久久久 | 久久人妻无码毛片A片麻豆| 久久婷婷五月综合| 91啦人妻| 亚洲色图第四色| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 欧美日韩岛国大片在线观看| 96久久久久久久| 神马久久久久久久久久| 91人妻Pr| 一级黄色性爱裸体视频| 久久精品高清无码一区| 久久黄黄| 黄色网址在线免费观看| 蜜臀久久99精品久久久久久-DVD| 日本A级视频| a在线观看| 91东京热男人的天堂| 91日韩网站| 亚洲宗合电影| 丁香五月激情啪啪| 中文字幕奈奈美被公侵犯| 欧美性色网| 加勒比伊人综合| 人妻夜夜爽天天爽麻豆三区网站 | 丁香五月天社区| 日韩亚洲精品一区二区| 欧美+日产+中文| 国产99999久久精品| 91黑丝少妇| 综合色播| 无码黑人精品一区二区三区三| 亚洲欧美首页| 欧美 日韩第一性色| 欧美综合在线91| 亚洲人精| 色狠狠综合| 八人操人人摸人人看| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 国产精品粉嫩福利在线| 日本97久久久精品| 大香蕉碰碰| 中文字幕在线高清男人的天堂| 91香蕉视频在线观看免费| 青青草国产欧美非洲黑人| 夜夜爽夜夜操| 日韩性爱1级片视频| av中亚| 中文字幕国产| 亚洲欧美91√| 蜜臀久久久| 色女综合| 国产精品白虎| 啊啊啊不要好疼视频| 色综合色综合网| www成人啪啪18秘 免费| 亚洲无吗在线视频| 国产精品盗摄 偷窥盗摄| 水多多映视AV| 国产99热| 99在线精品视频| 欧美另类丝袜熟女| 97在线日韩中文字幕| 欧美日韩美女精品久草一区二区三区| a人欧美综合天堂麻豆| 夜夜高潮夜夜爽高清视频一| 欧美色婷婷| 91人妻PORNY九色大屁股| 思思热免费视频观看| 国产av美女被艹的乱叫| 亚洲女毛多水多21P| 一区二区三区 日韩欧美| 日韩AV无码中文一区二区| 91社区拍啪人妻| 亚洲av影院在线观看| 成人性爱全视频观看| 人人干人人操人人..com| 天天躁日日躁XXXXYY| 免费综合亚洲中文| 欧美 亚洲 偷拍自拍| 超碰免费人人| 国产这里只有精品| 天天欧美色| 精品人妻二区三区| 欧美亚洲国产自久久| 亚洲中文字幕日产无码久久| 曰本91情色| 欧美精品,四区。五区| 国产嫩草精品A88AV|