日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

一普到七普shp人口數(shù)據(jù)全解析:從解壓、字段對(duì)齊到跨期對(duì)比

一普到七普shp人口數(shù)據(jù)全解析:從解壓、字段對(duì)齊到跨期對(duì)比 簡(jiǎn)介壓縮包內(nèi)含第一次至第七次全國(guó)人口普查的區(qū)縣級(jí)人口數(shù)據(jù)以Shapefile矢量格式存儲(chǔ)面向需要借助GIS工具開展人口時(shí)空分析的科研人員、城市規(guī)劃者及社會(huì)科學(xué)研究者。壓縮包共7個(gè)文件涵蓋shp幾何邊界、dbf屬性表、prj坐標(biāo)系統(tǒng)、sbn/sbx空間索引、shx索引及shp.xml元數(shù)據(jù)總大小46.62MB解壓后可直接在ArcGIS等平臺(tái)讀取分析。已有1174人學(xué)習(xí)下載數(shù)據(jù)覆蓋歷次普查關(guān)鍵指標(biāo)可用于人口趨勢(shì)分析、區(qū)域差異比較、城市規(guī)劃參考及社會(huì)經(jīng)濟(jì)評(píng)估等多維場(chǎng)景。借助配套的行政區(qū)劃矢量邊界和規(guī)范化屬性字段研究者能快速定位區(qū)縣單元節(jié)省數(shù)據(jù)整理時(shí)間聚焦于人口遷移、老齡化等實(shí)質(zhì)性問(wèn)題的探索。1. 一普到七普shp人口數(shù)據(jù)包這份zip到底能解決什么做歷史人口數(shù)據(jù)可視化的人大概率都遭遇過(guò)這種折磨七普數(shù)據(jù)網(wǎng)上有干凈整潔的 Excel可一普、二普的紙質(zhì)掃描數(shù)據(jù)連個(gè)帶坐標(biāo)的電子版都難找好不容易拿到一份帶行政區(qū)劃的人口統(tǒng)計(jì)表還得自己想辦法把它和矢量邊界做連接。而“一普到七普shp格式人口數(shù)據(jù).zip”恰好把 1953 年到 2020 年七次全國(guó)人口普查的人口統(tǒng)計(jì)指標(biāo)直接掛在對(duì)應(yīng)年代的行政區(qū)劃邊界上——省、市、縣三級(jí)的幾何圖形與人口字段一起以 shp 組織解壓后就能在 QGIS、ArcGIS 或 GeoPandas 里直接讀取。這篇文章我從文件結(jié)構(gòu)、字段口徑、空間掛接和常見坑四個(gè)層面講清楚怎么把這份數(shù)據(jù)用穩(wěn)。適合 GIS 數(shù)據(jù)處理和社科研究的初級(jí)到中級(jí)讀者也適合被 Excel 統(tǒng)計(jì)表反復(fù)折磨、想換一條更直接路徑的人。2. Shapefile 文件家族與 zip 包的組織方式讀數(shù)據(jù)前先搞懂這幾件事2.1 一個(gè) SHP 不是單個(gè)文件shp、shx、dbf、prj、cpg 各管什么拿到“一普到七普shp格式人口數(shù)據(jù)”這類包第一反應(yīng)是雙擊 .shp 文件直接打開結(jié)果發(fā)現(xiàn)什么也打不開或者在 QGIS 里加載后屬性表全是亂碼。這通常不是數(shù)據(jù)壞了而是文件家族沒(méi)帶齊或缺失了配置文件。Shapefile 是一個(gè)文件集合。最基本的三個(gè)文件缺一不可.shp主文件存儲(chǔ)幾何圖形面、線、點(diǎn)。在人口普查場(chǎng)景里通常是一級(jí)行政邊界的面要素。.shx形狀索引文件負(fù)責(zé)快速定位幾何記錄沒(méi)有它讀取速度會(huì)變得極慢。.dbf屬性表文件是 dBase III 格式的數(shù)據(jù)庫(kù)人口統(tǒng)計(jì)字段都放在這里這也是亂碼高發(fā)區(qū)。以上三個(gè)文件缺少任何一個(gè)shp 都無(wú)法正常打開。此外還常配套兩個(gè)輔助文件。.prj 文件定義坐標(biāo)系沒(méi)有它讀數(shù)據(jù)的軟件會(huì)把坐標(biāo)當(dāng)作本機(jī)默認(rèn)坐標(biāo)系導(dǎo)致人口數(shù)據(jù)“飛”到錯(cuò)誤的位置.cpg 文件聲明字符集內(nèi)容通常是 UTF-8 或 GBK。很多亂碼問(wèn)題的根源不在 .dbf 本身而在當(dāng)前軟件默認(rèn)用 UTF-8 去解了 GBK 編碼的字符串。在解壓之前你完全不知道 prj 和 cpg 是否存在這一點(diǎn)讓 shp 數(shù)據(jù)像個(gè)黑匣子。經(jīng)常遇到的情況是壓縮包里只有 .shp、.shx、.dbf 三個(gè)文件人口統(tǒng)計(jì)字段還在可位置和文字都不可信了。我的建議是拿到壓縮包后不要急著雙擊加載先解壓再快速瀏覽文件清單把缺失項(xiàng)記下來(lái)再動(dòng)手。補(bǔ)充說(shuō)明一點(diǎn)為什么人口普查數(shù)據(jù)喜歡用 shp 而不用 GeoJSON 或 KML。七次普查的時(shí)間跨度從 1953 年到 2020 年大量歷史數(shù)據(jù)是在 GIS 技術(shù)成熟之前以紙質(zhì)表格形式留存的早期入庫(kù)時(shí)最通用的矢量格式就是 shapefile。dbf 屬性表又與關(guān)系型數(shù)據(jù)庫(kù)的概念天然吻合一個(gè)縣一行記錄、一個(gè)字段一個(gè)指標(biāo)處理起來(lái)順手。GeoJSON 雖然便于網(wǎng)絡(luò)傳輸?shù)昵暗目h級(jí)普查數(shù)據(jù)處理流程里還沒(méi)有它的位置shp 由此成了歷史人口空間數(shù)據(jù)的默認(rèn)承載格式。2.2 為什么用 zip 多期打包解壓前的目錄規(guī)劃與編碼預(yù)判“一普到七普shp格式人口數(shù)據(jù).zip”用 zip 打包是很自然的選擇因?yàn)?shp 是多文件集合正好以目錄為單位壓縮成一個(gè)包。但 zip 不是為中文環(huán)境設(shè)計(jì)的有三件事可以提前預(yù)判。第一是壓縮包內(nèi)部目錄結(jié)構(gòu)。常見結(jié)構(gòu)有兩種一種是按普查年份分目錄比如 1953、1964、1982、1990、2000、2010、2020 各一個(gè)文件夾每個(gè)文件夾里放當(dāng)年省界、市界、縣界的同名文件另一種是全部平鋪所有年份的 shp 混在一起。如果是后者解壓時(shí)一定要小心同名覆蓋問(wèn)題——不同年份的縣界文件可能都叫 county.shp全部解壓到同一目錄后解壓的文件會(huì)把前面的覆蓋掉。這是最隱蔽的翻車現(xiàn)場(chǎng)也是解壓這類歷史數(shù)據(jù)包時(shí)我最警惕的事。第二是文件名編碼。zip 的早期規(guī)范只支持 ASCII后來(lái)雖然支持 UTF-8但國(guó)內(nèi)大量打包工具用的是 GBK 編碼寫文件名尤其是 Windows 上的老壓縮軟件。如果你解壓后發(fā)現(xiàn)目錄和 shp 文件名全是亂碼不要先懷疑包損壞先試著用支持指定編碼的工具重新解壓。Python 的 zipfile 模塊處理這種歷史編碼也有自己的坑實(shí)際命令行操作見第三章。第三是嵌套 zip。常見做法是很多制作團(tuán)隊(duì)會(huì)把每個(gè)普查年份再單獨(dú)壓一層形成雙層 zip 結(jié)構(gòu)外層解壓后會(huì)看到一堆二級(jí)壓縮包。如果只解了外層你會(huì)發(fā)現(xiàn)真正的 .shp 還淹沒(méi)在小包里。正式動(dòng)手前先看總目錄結(jié)構(gòu)有沒(méi)有 .zip 后綴的嵌套項(xiàng)可以省很多事。我一般會(huì)在解壓前先建一個(gè)干凈的根目錄比如 census_shp然后按年份建子目錄把所有文件落位到對(duì)應(yīng)年份。這樣既避免了同名覆蓋又為后面按年份遍歷讀取打好了基礎(chǔ)。這一步做到位后面加載屬性表、做空間連接都會(huì)順暢很多如果貪方便一次性解壓遇到同名覆蓋就只能從頭再來(lái)屬于典型的沒(méi)有后悔藥吃。3. 用 GeoPandas 跑通最小讀取流程從 zip 解壓到屬性表檢查3.1 解壓與體檢unzip 命令、中文名亂碼與文件完整性拿到 zip 之后我一般先在命令行做三步看目錄、解壓、核對(duì)文件清單。在 Linux 或 Git Bash 環(huán)境下最順手的命令如下# 先列出壓縮包內(nèi)部結(jié)構(gòu)不急著解壓 unzip -l 一普到七普shp格式人口數(shù)據(jù).zip | head -50 # 如果終端里文件名顯示為亂碼說(shuō)明打包時(shí)用了GBK編碼文件名 # 用 -O 參數(shù)強(qiáng)制指定編碼再解壓 unzip -O GBK 一普到七普shp格式人口數(shù)據(jù).zip -d ./census_shp/ # 如果本機(jī) unzip 不支持 -O比如 macOS 自帶版本用 7-Zip 代替 7z x 一普到七普shp格式人口數(shù)據(jù).zip -ocensus_shp這里用 unzip -l 而不是直接解壓是為了先看清目錄結(jié)構(gòu)和文件層級(jí)判斷是否存在嵌套 zip 和同名覆蓋風(fēng)險(xiǎn)。如果存在二級(jí) zip我會(huì)把二級(jí)包單獨(dú)再解一層。指定 -O GBK 可以解決文件名亂碼但只在部分平臺(tái)生效macOS 的 unzip 通常不支持 -O改用 7-Zip 是比較穩(wěn)的方案。解壓之后還需要做一次文件完整性核對(duì)。shp 文件集合中同一個(gè)邏輯數(shù)據(jù)集的 .shp、.shx、.dbf 必須放在同一目錄、使用相同主名。我會(huì)用 find 命令把文件找出來(lái)逐個(gè)目錄確認(rèn)伴生文件是否齊全# 統(tǒng)計(jì)每個(gè)目錄下的 shp 數(shù)量以及同名 dbf 是否有缺失 find ./census_shp -name *.shp | wc -l find ./census_shp -name *.dbf | wc -l ls ./census_shp/1953/county/這個(gè)動(dòng)作能查出不少問(wèn)題。常見的是某個(gè)目錄只有 .shp 和 .shx缺了 .dbf屬性表完全讀不出來(lái)或者是 .dbf 存在、.prj 缺失位置信息不可信。體檢之后把缺失清單記下來(lái)再?zèng)Q定是接受現(xiàn)狀還是換一份數(shù)據(jù)源。把這一步做在前面能省掉后面讀一個(gè)壞一個(gè)、反復(fù)解壓的重復(fù)勞動(dòng)。我對(duì)這類歷史人口數(shù)據(jù)包的習(xí)慣是先保證文件家族完整再做后續(xù)任何空間分析。3.2 打開 shp 并檢查字段GeoPandas 的兩個(gè)關(guān)鍵參數(shù)體檢做完用 Python 讀 shp 是最常見路徑。我推薦 GeoPandas 搭配 pyogrio 引擎讀歷史 shp 時(shí)的兼容性和速度都優(yōu)于默認(rèn)的 fiona。最小讀取代碼如下import geopandas as gpd # 讀取縣界數(shù)據(jù)用 pyogrio 引擎顯式指定編碼為 UTF-8 gdf gpd.read_file( ./census_shp/2000/county.shp, enginepyogrio, encodingutf-8, ) print(gdf.shape) # 行數(shù)、列數(shù) print(gdf.columns) # 列名清單 print(gdf.head(3)) # 前三條記錄引擎參數(shù)和編碼參數(shù)是這里最關(guān)鍵的兩點(diǎn)。pyogrio 是近幾年讀取速度最快的矢量引擎dbf 這種老格式fiona 可能要花十幾秒pyogrio 一兩秒就完成。但 pyogrio 對(duì)中文字段的默認(rèn)處理有自己的邏輯如果不顯式指定 encoding它可能按系統(tǒng)默認(rèn)的 UTF-8 去讀遇到 GBK 寫入的數(shù)據(jù)就會(huì)變成亂碼。所以當(dāng)你發(fā)現(xiàn)字段值“人口數(shù)”變成“浜哄彛鏁”這類亂碼時(shí)先嘗試把 encoding 改為 gbk 再讀一次。另一個(gè)容易忽略的是幾何列的有效性。歷史數(shù)據(jù)偶爾會(huì)出現(xiàn)幾何類型錯(cuò)誤同一個(gè) shp 里混合了面要素和多邊形要素或者坐標(biāo)范圍明顯異常。我習(xí)慣用兩行代碼快速檢查# 檢查幾何類型 print(gdf.geom_type.unique()) # 檢查坐標(biāo)范圍是否合理以經(jīng)緯度或國(guó)家平面坐標(biāo)的量級(jí)做初判 print(gdf.total_bounds)幾何類型檢查能在加載后第一時(shí)間發(fā)現(xiàn)文件是否有損壞或?qū)懭氘惓otal_bounds 能發(fā)現(xiàn) .prj 缺失導(dǎo)致的位置漂移。把這兩步做完數(shù)據(jù)能不能用、要不要做清洗心里大概就有數(shù)了。不要跳過(guò)這一步直接去算人口增長(zhǎng)率數(shù)據(jù)源本身的問(wèn)題會(huì)在后面每一步被無(wú)限放大這是處理任何 shp 數(shù)據(jù)的通用原則。3.3 橫向檢查數(shù)據(jù)覆蓋度哪些年份缺縣、哪些字段為空拿到 shp 并成功讀取只是第一關(guān)接下來(lái)要回答一個(gè)更重要的問(wèn)題這份“一普到七普”的 shp 數(shù)據(jù)覆蓋度到底怎么樣。七個(gè)普查年份不見得每個(gè)年份都有完整的三級(jí)數(shù)據(jù)有些年份可能只有省級(jí)有些年份可能缺少個(gè)別縣。這一步不做后面做跨期對(duì)比時(shí)口徑不一致結(jié)果直接作廢。我一般會(huì)構(gòu)建一個(gè)最簡(jiǎn)覆蓋度索引表用兩段代碼完成。第一段是按年份遍歷所有目錄下的縣界 shp統(tǒng)計(jì)每個(gè)文件的行數(shù)import os import geopandas as gpd years [1953, 1964, 1982, 1990, 2000, 2010, 2020] for year in years: fp f./census_shp/{year}/county.shp if not os.path.exists(fp): print(year, 缺失) continue gdf gpd.read_file(fp, enginepyogrio, encodingutf-8) print(year, gdf.shape[0], 縣) # 檢查關(guān)鍵人口字段的空值比例 if total_pop in gdf.columns: print(空值率:, gdf[total_pop].isna().mean())這段代碼把每個(gè)年份的行數(shù)、關(guān)鍵字段空值率打印出來(lái)一眼就能看出哪個(gè)時(shí)期普查數(shù)據(jù)質(zhì)量最差。實(shí)際操作中早期年份缺縣的概率明顯更高部分邊疆地區(qū)的縣級(jí)單元缺失或合并。遇到缺失先記錄后面在第 4 章的跨期對(duì)比里再想對(duì)齊策略不要直接丟棄那些縣級(jí)記錄不完整的年份。還有一類問(wèn)題需要警惕字段類型。dbf 沒(méi)有嚴(yán)格的數(shù)字類型一切數(shù)值都以字符或數(shù)字位寬形式存儲(chǔ)。GeoPandas 讀取時(shí)會(huì)做類型推斷但“總?cè)丝凇边@類字段在不同年份里有時(shí)是整數(shù)、有時(shí)是浮點(diǎn)數(shù)有時(shí)甚至是帶逗號(hào)的字符串。在進(jìn)入跨期計(jì)算之前把人口字段統(tǒng)一轉(zhuǎn)成 float64 是最穩(wěn)的后面第 4 章的字段映射會(huì)一并處理。覆蓋度檢查和編碼檢查合在一起構(gòu)成我面對(duì)任何 shp 人口數(shù)據(jù)的標(biāo)準(zhǔn)開場(chǎng)。寧可在這里多花十分鐘不要在得出結(jié)果之后再回來(lái)說(shuō)數(shù)據(jù)有問(wèn)題。查漏補(bǔ)短的前置動(dòng)作是這個(gè)方向最值得養(yǎng)成的習(xí)慣。4. 跨普查年份的字段口徑對(duì)齊從字段名到行政區(qū)劃代碼的逐層處理4.1 一普到七普字段存在哪些真實(shí)差異等你把七個(gè)年份的數(shù)據(jù)都讀進(jìn)來(lái)真正的硬骨頭才開始顯露七次普查的字段名、字段含義、行政區(qū)劃編碼規(guī)則差異很大。把這些差異逐個(gè)說(shuō)清楚才好繼續(xù)動(dòng)手。第一層差異是字段命名。一普、二普時(shí)期的數(shù)據(jù)是后來(lái)錄入的屬性表字段名往往沿用當(dāng)年紙質(zhì)表格的習(xí)慣比如“總?cè)丝凇笨赡鼙挥洖?total、totpop、renkou_count或者干脆是拼音首字母縮寫到五普、六普之后字段名逐漸規(guī)范但也沒(méi)有統(tǒng)一國(guó)家標(biāo)準(zhǔn)很多數(shù)據(jù)提供商按自己的業(yè)務(wù)習(xí)慣命名。直接跨年份取同名字段大概率會(huì)得到大面積 NaN。第二層差異是統(tǒng)計(jì)口徑。各次普查對(duì)人口的統(tǒng)計(jì)范圍有差別有的按當(dāng)年常住人口有的包含了外出人口有的只統(tǒng)計(jì)有戶籍的人口還有在普查年份里對(duì)流動(dòng)人口做了特殊處理。僅僅是“總?cè)丝凇边@幾個(gè)字在不同普查年份背后對(duì)應(yīng)的可能并非同一群人。做縱向?qū)Ρ葧r(shí)如果不先弄清這個(gè)差異1990 年與 2000 年的數(shù)字疊在一起可能出現(xiàn)不合理的突增或驟降。第三層差異是行政區(qū)劃代碼。1953 年還沒(méi)有標(biāo)準(zhǔn)統(tǒng)計(jì)用區(qū)劃代碼縣級(jí)單元的劃分邏輯也與現(xiàn)在大不相同到五普以后12 位統(tǒng)計(jì)用區(qū)劃代碼才逐漸成為標(biāo)準(zhǔn)。如果你直接按縣名做跨期關(guān)聯(lián)同名不同地、同地不同名的情況比比皆是。比如某些縣在 1980 年代拆分成了兩個(gè)新縣有的縣被劃歸別的地級(jí)市還有縣改區(qū)、縣改市的變化。比較穩(wěn)妥的處理方式是找到每個(gè)年份對(duì)應(yīng)的 shp 邊界基于幾何與屬性雙重信息匹配而不是只靠一個(gè)縣名字段。下表列出各普查年份常見的屬性形態(tài)差異普查年份屬性字段形態(tài)區(qū)劃代碼情況典型注意點(diǎn)一普1953字段少常見拼音或英文縮寫無(wú)統(tǒng)一標(biāo)準(zhǔn)部分省級(jí)數(shù)據(jù)缺失縣名與今差異大二普1964同上無(wú)統(tǒng)一標(biāo)準(zhǔn)部分縣為空值三普1982中文或拼音混合開始有地區(qū)代碼注意縣改市、新設(shè)縣四普1990字段漸規(guī)范有代碼但未統(tǒng)一12位流動(dòng)人口口徑特殊五普2000中英文字段混合12位代碼逐漸普及常住人口口徑變化六普2010較規(guī)范12位代碼與七普差異較小七普2020規(guī)范12位代碼縣級(jí)空缺較少表格里是常見特征具體到你的包要以實(shí)際讀出的 columns 和 .cpg 文件為準(zhǔn)。我處理這類數(shù)據(jù)的第一步永遠(yuǎn)是打印每個(gè)年份的列清單再對(duì)照表格里的典型形態(tài)判斷應(yīng)該映射到哪個(gè)標(biāo)準(zhǔn)字段名。4.2 用字段映射表和 12 位區(qū)劃代碼做對(duì)齊在正式分析之前第一步永遠(yuǎn)是建立字段映射表。實(shí)際操作我不會(huì)直接改原始數(shù)據(jù)而是為每個(gè)年份構(gòu)建一份標(biāo)準(zhǔn)化字段映射把所有人口字段統(tǒng)一到一套標(biāo)準(zhǔn)命名上。以下代碼用來(lái)做映射對(duì)齊核心是維護(hù)一個(gè)年份到標(biāo)準(zhǔn)字段名的映射字典再逐年份讀取并重命名import geopandas as gpd # 每個(gè)年份的原始字段名對(duì)應(yīng)標(biāo)準(zhǔn)字段名 FIELD_MAP { 1953: {county: county_name, population: total_pop}, 1964: {縣名: county_name, 人口數(shù): total_pop}, 1982: {NAME: county_name, POP: total_pop}, 1990: {NAME: county_name, TOTAL_P: total_pop}, 2000: {區(qū)縣名稱: county_name, 總?cè)丝? total_pop}, 2010: {CNAME: county_name, TOTPOP: total_pop}, 2020: {county: county_name, pop: total_pop}, } def read_standard(year: str): gdf gpd.read_file(f./census_shp/{year}/county.shp, enginepyogrio, encodingutf-8) rename_map FIELD_MAP[year] gdf gdf.rename(columnsrename_map) keep_columns list(rename_map.values()) [gdf.geometry.name] gdf gdf[keep_columns] if total_pop in gdf.columns: gdf[total_pop] gdf[total_pop].astype(float) gdf[year] int(year) return gdf這段代碼的關(guān)鍵在 rename_map它是每個(gè)年份原始字段與標(biāo)準(zhǔn)字段的對(duì)照。實(shí)際項(xiàng)目中你可能需要先打印每個(gè)年份的 gdf.columns再逐個(gè)把對(duì)應(yīng)關(guān)系填進(jìn)去這個(gè)動(dòng)作可以理解成建映射表。注意保留 year 這一列目的是把不同年份的數(shù)據(jù)縱向堆疊成面板數(shù)據(jù)對(duì)后面時(shí)間對(duì)比非常重要。字段類型轉(zhuǎn)換也值得留意dbf 里的人口數(shù)字可能以字符串形式存儲(chǔ)在 astype(float) 這一步之前需要先手動(dòng)去掉空格和逗號(hào)。某些年份總?cè)丝谧侄稳绻烊肓藵h字注釋比如“未統(tǒng)計(jì)”astype 會(huì)直接報(bào)錯(cuò)此時(shí)需要用 pd.to_numeric 的 errorscoerce 做軟轉(zhuǎn)換把不合法值變成 NaN后面再做填充或剔除。如果目錄里的屬性字段名與我給的示例完全不同不要慌對(duì)照 4.1 的表格和實(shí)際列名重新填映射即可。這條路徑的核心思想是統(tǒng)一字段語(yǔ)義之后才能進(jìn)入跨期計(jì)算否則后續(xù)所有 groupby 和 merge 都在比較不存在可比性的數(shù)據(jù)。4.3 行政區(qū)劃漂移變化讓跨期可比性成為一道必答題字段名統(tǒng)一了區(qū)劃漂移的問(wèn)題依然存在。1953 年的縣界和 2020 年的縣界不可能完全相同用同一套邊界去承載不同年份的人口會(huì)造成系統(tǒng)性誤差。這里要做一個(gè)選擇是保留各自年份的原始邊界做分年制圖還是統(tǒng)一到某個(gè)參考年份的邊界做跨期計(jì)算。前者展示歷史狀態(tài)最真實(shí)但不便于縱向?qū)Ρ群笳弑阌谧鲈鲩L(zhǎng)率計(jì)算和圖表比較卻需要你額外準(zhǔn)備一份統(tǒng)一的參考矢量邊界并且對(duì)人口數(shù)按參考邊界做空間重分配。做跨期對(duì)比時(shí)常見做法是選擇 2020 年七普的縣界作為參考坐標(biāo)系然后把更早年份的縣級(jí)人口數(shù)據(jù)掛接到七普縣界上。掛接邏輯可以按幾何重疊面積加權(quán)分配也可以按已落位的縣級(jí)單元一對(duì)一匹配。如果某個(gè)早期縣能完整對(duì)應(yīng)到七普的一個(gè)縣直接映射即可如果它拆成了兩個(gè)縣就按面積比例把人拆開。用代碼表達(dá)就是先做空間連接再按面積加權(quán)計(jì)算人口import geopandas as gpd # 早期人口 shp 和目標(biāo)年份縣界 shp old read_standard(1953) target gpd.read_file(./census_shp/2020/county.shp, enginepyogrio, encodingutf-8) # 空間求交保留人口字段與面積 inter gpd.overlay(old, target, howintersection) inter[area] inter.geometry.area # 按目標(biāo)縣歸并人口按面積比例估算 gdf_result inter.groupby(target_id).apply( lambda df: (df[total_pop].fillna(0) * (df[area] / df[area].sum())).sum() ).reset_index(namepop_est)注意代碼里的 target_id 是目標(biāo)縣界中每個(gè)縣的唯一標(biāo)識(shí)字段實(shí)際使用時(shí)你要把 target 里的縣代碼字段名填空進(jìn)去??臻g重分配得到的人口是近似值只在分縣面積與人口均勻分布時(shí)比較合理如果只做省級(jí)分析誤差可以接受下探到縣級(jí)甚至鄉(xiāng)鎮(zhèn)級(jí)時(shí)結(jié)果只能當(dāng)作近似。提示面積加權(quán)法建立在人口均勻分布在縣域內(nèi)的假設(shè)上用于省級(jí)尺度可信用于鄉(xiāng)鎮(zhèn)級(jí)精度明顯下降。業(yè)務(wù)上更穩(wěn)的方案是先檢查有多少縣可以一對(duì)一匹配。如果一對(duì)一匹配比例超過(guò) 90%直接走 ID 映射剩下的少數(shù)縣再做空間分配這樣能顯著減少人為誤差??臻g掛接是一個(gè)很必要的技能但不要在不理解其假設(shè)的前提下盲用。字段映射、參考邊界、匹配策略這三步做完才能放心地進(jìn)入增長(zhǎng)率計(jì)算和可視化階段。5. 避坑排查最容易翻車的五個(gè)細(xì)節(jié)編碼、邊界、字段截?cái)嗯c解壓陷阱5.1 DBF 中文亂碼現(xiàn)象、原因與三行命令解決現(xiàn)象在 QGIS 或 GeoPandas 里打開某個(gè)年份的縣界 shp屬性表里省名、縣名變成“娌沖寳鐪”“宀佺墰宀佸競(jìng)”一類完全不可讀的字符。原因dbf 文件里存的是 GBK 編碼的中文但讀取方?jīng)]有按 GBK 解碼。QGIS 默認(rèn)假設(shè) dbf 是 UTF-8GeoPandas 在未指定 encoding 時(shí)也走系統(tǒng)默認(rèn)路徑錯(cuò)位解碼中文全部變成亂碼。這與數(shù)據(jù)本身?yè)p壞無(wú)關(guān)。解決先確認(rèn) .cpg 文件是否存在存在則打開看它寫的字符集然后用 read_file 時(shí)顯式指定 encoding。命令行方案更徹底用 ogr2ogr 轉(zhuǎn)一層編碼再繼續(xù)處理ogr2ogr -lco ENCODINGUTF-8 ./county_utf8.shp ./county.shp -nlt PROMOTE_TO_MULTI如果確認(rèn)原數(shù)據(jù)是 GBK把上面的 ENCODING 參數(shù)換成 GBK 重新另存之后再用 GeoPandas 讀取就不會(huì)亂碼。這個(gè)坑幾乎每個(gè)做 shp 中文數(shù)據(jù)的人都會(huì)踩一次知道原理后三分鐘就能解決。5.2 同一縣名在不同年份有不同區(qū)域邊界漂移的排查法現(xiàn)象2000 年某縣“A 縣”的面積是 3000 平方公里到了 2020 年同名縣只剩 2000 平方公里兩期數(shù)據(jù)畫出的人口密度圖看起來(lái)像同一地名的完全不同圖形。原因真實(shí)行政區(qū)劃發(fā)生了變化。A 縣在兩次普查之間經(jīng)歷了撤縣設(shè)區(qū)、部分鄉(xiāng)鎮(zhèn)劃歸鄰縣或者某個(gè)鄉(xiāng)鎮(zhèn)并入而 shp 文件里的幾何邊界忠實(shí)記錄了這些變化。如果只認(rèn)縣名做連接肯定會(huì)算出錯(cuò)誤的增長(zhǎng)率。解決不要用“縣名”作為唯一匹配鍵。首先用 total_bounds 比較同一縣名的面積與邊界范圍看出入是否顯著其次用 2020 年七普縣界做參考做 overlay 求交看交疊面積占各自面積的比例。若交疊比例低于 95%打上“邊界漂移”標(biāo)記再對(duì)這部分縣做專門處理。這段篩選邏輯可以用幾十行 Python 完成但核心動(dòng)作就是兩件事對(duì)比面積、計(jì)算交疊比例。5.3 形狀字段名被截?cái)嗍?DBF 老格式的鍋現(xiàn)象讀取某個(gè)早期普查的 shp發(fā)現(xiàn)字段名只有十幾個(gè)字符例如“population_1953”變成了“populatio”數(shù)據(jù)內(nèi)容看起來(lái)也不對(duì)。原因dbf 格式對(duì)字段名長(zhǎng)度有歷史限制。老式 dBase III 字段名最長(zhǎng) 10 個(gè)字節(jié)部分寫入工具做了自動(dòng)截?cái)鄬懭牒髮?shí)際存儲(chǔ)的字段名與原始表頭不一致讀取時(shí)又按截?cái)嗪蟮亩堂ピL問(wèn)于是數(shù)據(jù)被擠到相鄰字段位置。解決這種問(wèn)題沒(méi)有完全自動(dòng)修復(fù)的辦法。比較有效的方案是先查看該年份屬性表的完整字段列表與說(shuō)明文檔在讀取時(shí)把截?cái)嘧侄蚊成浠卣_的原名再重新導(dǎo)出。示例代碼如下gdf gpd.read_file(./census_shp/1953/county.shp, enginepyogrio, encodinggbk) rename_map { populatio: total_pop, # 截?cái)嗪蟮淖侄蚊?- 真實(shí)名 hou: household_num, } gdf gdf.rename(columnsrename_map)這種做法依賴文檔或數(shù)據(jù)附帶的 readme。見到截?cái)鄷r(shí)不要強(qiáng)行猜先找原始說(shuō)明文本或者找同一年份其他層級(jí)的 shp 做交叉參考。需要明確一點(diǎn)這種截?cái)嗍菍懭攵说母袷较拗撇皇亲x取端的問(wèn)題不要試圖用改配置去解決。5.4 嵌套 zip 與深層目錄解壓后文件“失蹤”的排查流程現(xiàn)象解壓完成后某個(gè)年份的 county.shp 怎么都找不到或者在 QGIS 里加載一個(gè) shp地圖縮放到很遠(yuǎn)的位置看不到任何要素。原因常見原因是解壓時(shí)丟失了文件路徑層級(jí)或嵌套 zip 沒(méi)有一并展開。還有一些包把數(shù)據(jù)放在深層目錄下某些解壓工具遇到路徑過(guò)長(zhǎng)或包含特殊字符時(shí)會(huì)跳過(guò)文件日志里有幾行 warning多數(shù)人不會(huì)注意到。加載后位置不對(duì)則是 .prj 缺失或目錄中殘留了另一份同主名的 .prj。解決用 unzip -l 重新看內(nèi)層結(jié)構(gòu)對(duì)比已解壓清單與包里清單找到遺漏的嵌套包后單獨(dú)解檢查 .prj 是否存在缺失就考慮用其它年份同層級(jí)的 .prj 復(fù)制過(guò)來(lái)試讀但必須明確這是臨時(shí)處理。位置不對(duì)的排查要打開 .prj 文件確認(rèn)坐標(biāo)系信息與原始數(shù)據(jù)一致。做到這一步文件“失蹤”問(wèn)題基本能定位。5.5 導(dǎo)出 CSV 后人口數(shù)變成科學(xué)計(jì)數(shù)法Excel 帶來(lái)的假象現(xiàn)象把 shp 屬性表導(dǎo)出為 CSV用 Excel 打開后人口數(shù)顯示為 1.003E08 這類科學(xué)計(jì)數(shù)法部分?jǐn)?shù)值看起來(lái)像被四舍五入了。原因這是 Excel 對(duì)長(zhǎng)整型的默認(rèn)展示方式不是 shp 數(shù)據(jù)本身的問(wèn)題。dbf 中存儲(chǔ)的數(shù)值是精確的只是導(dǎo)出到 CSV 之后 Excel 以默認(rèn)格式顯示數(shù)據(jù)本身并沒(méi)有被修改。但如果你把這列導(dǎo)出后拿去做文本處理格式混亂的字符串就會(huì)污染后續(xù)計(jì)算。解決導(dǎo)出 CSV 時(shí)用 pandas 把人口字段保持為整數(shù)類型用 Excel 打開后選中整列將單元格格式改為數(shù)字小數(shù)位設(shè)為 0。如果要導(dǎo)入數(shù)據(jù)庫(kù)直接用 pandas 的 dtype 指定列類型為 int64避免中間環(huán)節(jié)被 Excel 二次格式化gdf[[total_pop, male, female]].to_csv( census_2000.csv, indexFalse ) import pandas as pd df pd.read_csv(census_2000.csv, dtype{total_pop: int64})這一步處理不大但能避免很多人掉進(jìn)“Excel 顯示科學(xué)計(jì)數(shù)法”的坑。尤其當(dāng)你把數(shù)據(jù)交接給同事時(shí)一份干凈的 CSV 比一份被 Excel 改來(lái)改去的 CSV 省心得多。6. 進(jìn)階把七期數(shù)據(jù)轉(zhuǎn)成時(shí)空長(zhǎng)表并導(dǎo)出 WKT方便做跨期對(duì)比6.1 堆疊成一個(gè)長(zhǎng)表多個(gè)年份的 shp 讀進(jìn)來(lái)之后最終要做成一張“長(zhǎng)表”才方便縱向?qū)Ρ?。長(zhǎng)表的意思是每一行代表某一年份的某一個(gè)縣包含 year 列、縣名列、人口列和幾何列。用第 4 章的 read_standard 函數(shù)把七個(gè)年份分別讀入然后用 concat 縱向拼起來(lái)import pandas as pd frames [read_standard(y) for y in years] panel pd.concat(frames, ignore_indexTrue) panel panel.sort_values([county_name, year])拼接后就能像操作普通數(shù)據(jù)表一樣做跨期計(jì)算比如用 groupby 算五年人口增長(zhǎng)率或按年份做小倍數(shù)地圖。這一步的核心價(jià)值是讓不同年份的數(shù)據(jù)在同一個(gè)結(jié)構(gòu)下可被直接索引省去后續(xù)反復(fù) read_file 的重復(fù)動(dòng)作也是做“人口變化地圖”這類可視化最順手的輸入形態(tài)。6.2 導(dǎo)出 GeoJSON 和 WKT便于與其它系統(tǒng)對(duì)接很多下游系統(tǒng)不接受 shp卻接受 GeoJSON 或 WKTWell-Known Text。把這份“一普到七普shp格式人口數(shù)據(jù)”轉(zhuǎn)換成帶邊界文本的表格能極大方便跨團(tuán)隊(duì)協(xié)作。把人口字段和幾何列導(dǎo)出為 WKT 文本列的常見做法如下panel[geometry_wkt] panel.geometry.apply(lambda g: g.wkt if g is not None else ) out panel.drop(columnsgeometry) out.to_csv(census_panel_wkt.csv, indexFalse)這里 apply 調(diào)用的 g.wkt 就是 Shapely 的矢量幾何導(dǎo)出方法結(jié)果是一個(gè)純文本字符串任何程序都能讀。注意如果你的數(shù)據(jù)是面要素導(dǎo)出的 WKT 會(huì)以 POLYGON 或 MULTIPOLYGON 開頭要導(dǎo)入數(shù)據(jù)庫(kù)時(shí)直接用數(shù)據(jù)庫(kù)自帶的幾何解析函數(shù)讀這一列一般都能識(shí)別。除了 WKTGeoPandas 的 to_file 可以一行導(dǎo)出 GeoJSON 文件行數(shù)多時(shí)建議分層導(dǎo)出避免單文件過(guò)大拖慢下游讀取。最后說(shuō)一個(gè)我個(gè)人的血淚習(xí)慣再好的 shp 數(shù)據(jù)包到手的第一件事永遠(yuǎn)是做一份“數(shù)據(jù)體檢報(bào)告”列出年份、層級(jí)、字段清單、坐標(biāo)系、編碼、空值率這六項(xiàng)指標(biāo)。以前我拿到數(shù)據(jù)后直接上空間分析以為省了時(shí)間結(jié)果半年后從合作方那邊反饋回一個(gè)數(shù)字對(duì)不上溯源才發(fā)現(xiàn)是最早讀數(shù)據(jù)時(shí)字段名截?cái)嘣斐傻摹,F(xiàn)在寧可先花半個(gè)小時(shí)檢查也不想再因?yàn)榛A(chǔ)字段問(wèn)題返工。這套處理流程我重復(fù)用過(guò)很多次“一普到七普shp格式人口數(shù)據(jù).zip”這類包里編碼、區(qū)劃漂移和嵌套壓縮是三個(gè)最容易反復(fù)出問(wèn)題的點(diǎn)把本章的方案和坑位記牢整份數(shù)據(jù)的價(jià)值才能穩(wěn)定釋放。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天堂综合网| 天天日天天爽| 欧美日韩大黄片| 精品人妻一区二区三区蜜桃视频| 欧美色偷拍 | 欧美一区91大爱| av网站在线观看了| 九九九久久久| 超碰97国产欧美| 欧亚久久偷拍视频| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 人妻系列无码专区中文有码| 亚洲,日韩,欧美,成人播放| 91欧美色| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 97色插| 国产综合网站在线播放 | 日韩紧密久久| 日韩三级一区| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 亚洲天堂性爱| 色五月婷婷中文字幕| 久久久久久一日韩字幕无码| 日韩精品资源专区二区| 91天天综合日韩欧美| 天天情欲宗合网| 亚洲欧美国产中文字幕| 日韩在线97| 台欧久久精品视频| 热的中文 热的有码 热的国产| 欧美最婬乱婬爆婬性视频 | 水多多映视AV| 成人免费视瓶| 97硬碰| 亚洲国产精品久久久久婷婷青年| 亚洲情色电影网| 99热精品在线播放| 九九九九九九九精品视频| 色色丁香| 亚洲色图久久成人| 国内精品不卡无毒99999| 懂色综合久久久| 欧美一区二区情色| 国产天天看| 精品无码久久久久| 91高清欧美| 欧美AB在线| 亚洲欧美首页| 国产日韩欧美中文在线播放| 无码人妻精品一区二区中文| 色色色色电影网| 欧美一区二区亚洲天堂| 中文字幕视频2区| 蜜桃在线观看一区二区三区| 欧美色综合图片| 国产欧洲精品亚洲午夜拍精品| 精品人妻一区二区三区夜夜| 67914在线兔费成人视频| 国内精品久9| 久久亚洲一区二区色婷婷| 国产精品操| 女人天堂av在线播放| 人人弄人人摸| 欧美极度丰满熟妇hd| 日韩一级片在线看| 精品久久久av无码免费| 欧美性爱18观看| 亚洲国产精品有声| 九九热免费国产视频婷婷伊人| AV天天综合| 92大香蕉| 日韩福利综合一区| 啪啪一区| 香蕉大久久久| 亚洲最新中文字幕免费| 亚洲色人妻综合| 色香在线| 97亚洲欧美| 波多野结衣先锋影音| 99色天堂| 亚洲色图 91| 欧美一区二区三区四区综合| 75大香蕉| 国产精品诱惑| 国产熟女乱论| 激情文学 亚洲图片| 国产精品一区二区三区四区五区| 伊人久操| 大屁股国产在线视频| 午夜操一操| 天堂种子在线www网资源| 久久97资源 网| 久久亚洲日韩熟女精品| 黄色一级视| 裸模AV女优| 九九热国产| 国产野战露脸在线播放| 日韩天堂av电影在线观看| 精品欧美日韩在线观看| 大香蕉黄色一级片免费看| 91在线色综合| 日日躁天天躁狠狠躁| 五月婷网站| 蜜桃视频一区二区三区在线观看| 一区在线精品中文字幕| 东京热亚洲一区二区| 精品无码产区一区二| 97人人夜夜精品视频| 天天摸天天插天天日| 夜夜黄| 免费伦费视频在线观看| 国产91专区| 精品人妻一区二区视频| 天美传媒av一区二区| 日本三级A片网站com| 中文伊人大香蕉视频| 久久这里只精品| 婷婷六月色开| 欲色综合| 欧美综合第一| 黄片qw| 人人爽夜夜操| 国产一区在线观看无码AV| 亚洲91亚洲| 日本国产欧美一区三区二区| 国产黄a三级三级三级av在线看| 欧美少妇高潮| 亚洲精品 大香蕉| 欧美天天影院| 亚洲丝袜色| 少妇综合网| 大香蕉伊人一区在线观看| 精品视频在线观看| 死我十八禁| 久久精品国产72国产精品福利| 大香蕉青青9| 亚洲AV无码黄色强奸| AV天黑人| baisiav| 色色色日本| AV丝袜少妇| 美女黄频a美女大全免费皮| HEYZO高无码国产精品227| 学生妹天天看| 五月激情啪啪| 亚洲最新中文字幕免费| 国产精品一区在线播放| 亚洲天堂,男人| 17c嫩草51久久91嫩草| 夜夜狠狠躁日日躁色视频| 国产午夜激片Av毛片不卡| 99草精| 久久久艹艹艹| 欧美性爱十八禁| 天堂成人网| 久久久久久久久九九久孕交| 狼天天狼天天大香蕉| 中文字幕乱码人妻二区三区| 天天狂操夜夜狂日| 亚洲的天堂网| 欧美极品女人的天堂| 乱伦一二三| 国产久久久久影院老熟女| 久久极品伊人| 国产精品色片一区二区| 91性色| 亚洲日韩久久精品一区| 精品久久久无码| 国产AV毛片| 97超碰中文在线| 国产精品爱欲| 好湿好紧视频| 人妻-91porn| 欧日a| 欧美综合色| 天天操妹子| 婷婷三区| 综合一区中亚洲国产成人综合精品| 日韩精品人妻中文字幕不卡乱码| 色色99| 26uuu国产成人综合| 这里只有精品97| 欧美在线视频播放| 色香色香欲天天天影视综合网| 国内毛片无遮挡国产| 欧美激情精品久久久久久| 爱干爱射网啊啊啊| 九九色色| 最近的最新的中文字幕视频| 日韩福利综合一区| 青青草久草| 亚洲熟妇白浆无码AV| 一本一首道人妻少妇免费久久| 九九热视频在线观看| 久草福利在线资源站| 国产精品精品系列在线观看| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 色色97爱| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 91综合网站| 玖玖无码超碰| 免费男人的天堂| 日日日骚女人精品| 日韩美女,国产传媒,视频一区| 男人天堂站| 91男女啊啊啊| 成人女人国产| 欧美 日韩 另类 亚洲| 97色97好| 天天舔天天日天天射| 黄色不卡视频| 日本黄色裸日本黄色裸体 | 97欧美精品| 欧美熟妇精品黑人巨大91| 91日产桃蜜| 快播电影网日韩新片| 91日韩网站| 黑人在线91| 一区二区三区高清 | 欧美制服网站美腿丝袜| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 成人九九| 色妇综合网| 欧美 亚洲 第一页| 狠狠操使劲操| 大香蕉免费3| 国产隔壁老王影院在线| 人妻 中文 日韩| 女人双腿搬开让男人桶| 欧美躁死她一区二区| 麻豆60秒| 曰韩少妇无码| 这里只有97精品| 啊v在线观看视频| 综合97| 思思视频免费看网站| 性久久| 色婷婷综合视频| 亚洲精品久| 欧美九九99久久精品| 久久只有精品一区二区三区| 碰超人人在线一区二区三区| A级在线视频| 免费簧片在线观看| 精品精品精品| AV中文字幕剧情1区2区3| 亚洲一区二区av| 1人人看人人摸人人操| 蜜乳性色无码专日粉嫩骚逼AV| 五月激情啪啪| 色哟哟av网址| 国产一区二区免费福利片| 亚欧高清v| 爆乳免费黄网站| 亚洲黄a三级三级三级看三级| 欧美丝袜中文字幕07在线| 色综合国产在线观看| 凸凹视频在线观看| 亚洲欧美日韩国产丝袜自拍中文| 大学生美女口爆| 新婚人妻扶着粗大强行坐下| 日本伦理一区二区| 亚洲 欧美 第一页| 破苞ⅩXXX性无码动漫无码| 久久啊哟| 91丝袜| 日韩丰满熟妇| 东京热熟女亚洲视频网站| 玖玖综合网| 午夜男人av| 91 刺激在线| 久操av在线| 内射夫妻三片| 国产农村妇女一区二区| 久久久久久人| 怡红院一区二区熟女人妻| 久久久久久波多野吉衣高潮| 日本一级特级毛片视频| 麻豆人妻精品一区二区| 欧美综合色,www| 日韩av在线播放不卡| 亚洲大色堂| 粉嫩av平台| 青青国产精品在线| 久久久久久9| 婷色五月天| 青青草大香蕉视频| 爽 好舒服 无码刺激久久| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 1000部熟女视频在线观看| 国产精品一二三区福利| 天天综合网网欲色| 又黑又大又粗| 校园春色亚洲| 啊啊啊啊啊操我视频| 欧美999| 日韩人妻少妇 一区二区三区| 玖玖资源视频一区二区三区| 国产激情片在线观看| 国产熟码AV| 欧美成人性爱视频大全| 久久伊人东京热| 久久久久网站-538在线视频-欧美永久乱码| 97色碰| 91丨国产丨白浆| 97色碰| 久久久久久久久久久久久9999| 亚洲日韩美女丝袜美腿人妻视频| 天天看天天综合成人网| 先锋影音av先锋一区| 久热精品色情| 亚洲日韩美女中文字幕乱| 综合网97| 色五月婷婷五月天| 午夜福利国产欧美日韩夜夜| 97国产色图| 性影在线视频| 天天摸天天操视频| 啊啊啊啊啊操我视频| 最新岛国大片| 美女91在线| 青青草原狼av| 综合欧美激情网| 天天热精品| 99久久99九九99九九九| 人妻9117c| 91久久国产综合精品| 亚洲精品无码成人久久久99| 色原狠狠天天天| 大香蕉 222| 天天色天天干天天射| 国产蜜臀在线| 国产suv精品一区二区四| 国产一区二区三区视频在线看| 欧美激情久| 色播五月丁香| 日本三级一区二区 在线| 欧美图片校园春色| 内射夫妻三片| 天天综合网在线91| 98福利在线视频| 欧美色图天堂在线| 久久三| 13小男生GAY自慰脱裤子| 无毛精品| 欧美永久激情一区二区| 高清无码国产亚洲| 国产成人欧美一区二区三区的国产| 伊人欧美大香蕉视频| 中文有码第五页| 免费看日本操逼视频| 看免费一级在线播放毛片| 精品久久久久成人码免| 都市激情人妻一区二区青青操视频 | 天美麻豆精品视频99| 国产精品久久久久无码A√| 深喉吞精| 久久熟女精品不卡一区| 都市激情人妻一区二区青青操视频 | 国产一区二区久久| 一区二区三区网站日日骚| 午夜福利成人免费视频| xxxx网站亚洲精品| 国产强奸91| 白丝av| 中文字幕成人乱码熟女精品国50| 久操av在线| 好屌色综合| 成人综合网 欧美| 久久久久久国产精品| 草草网站影院白丝内射| 91色人妻| 澳门黄片一香蕉视频| 酒色综合网| 日韩91网| 深爱伊人影院| 夜夜夜夜久久久久| 亚洲国产97| 婷婷国产精品一区二区| 青青操在线视频| 婷婷人妻激情| 麻豆 美女 丝袜 人妻 中文| 97资源站国产精品| 欧美97色| 91福利网在线观看| 亚洲av无码成电影在线播放| av爱爱爱| 亚洲国产一区二区日韩专区| 亚洲精品乱码线路中文字幕| 国产精品 久久久精品一牛| 国产乱色国产精品免费视| 日本一区二区三区免费观看| 先锋激情∨在线视频播放| 99视频这有这里有精品| 欧美日韩日产免费网站看| 18禁精品网站在线看| 综合 欧美 亚洲 日本| 日韩欧美tv一区二区在线观看| 日韩精品人妻一| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 日韩无码嘿咻黑热久| 日韩偷拍色图| 啊啊啊啊在线观看网址| 亚洲系列欧美| 蜜臀久久99精品久久久久久成人小说 | 欧美激情视频一区二区| 在线播放成人高清免费视频| 久久av一级av少妇av高潮| 国产午夜无码片在线观看影视| 性爱乱伦网址| 人妻啊啊人妻啊| 亚洲熟妇丝袜在线观看| 国产小炒后入式| 天天影视之亚洲综合网| 久操精品| 久久精品三级影视| 台湾佬激情综合| 人妻内射一区二区在线视频| 色原狠狠天天天| 2019天天干| 大香蕉黄色一级片免费看| 天天做日日爱夜夜爽| AV中文在线| 伊人成人情色综合| 亚洲成人在线资源| 岛国黄片网站| 伊人色综合网电影 | 精品毛片av一区二区| 日韩中文字幕二区| 欧美中字二区| 亚洲色图 欧美| 欧美性爱中文字幕无线码| 日本久久99| 亚州色图欧美| 国产无码成人无码| 女人被添高潮免费视频| 躁躁日曰躁2020| 亚洲高潮影院| 操逼操逼视频操逼| 久久蜜桃综合网| 99在线精品观看视频中文 | 日本天天吊| 欧美爱国产综合、| 亚洲国产欧美一区二区潘金莲| 99性视频| 九九久久国产精品怡红院| 久久成人国产精品| 热久久精品| 在线啊啊啊| 亚洲国产成人福利在线观看| 精品无码一区二区| 深夜国产福利| 碰碰在线视频| 精品国产乱码久久久| 中文字幕精品日韩中文字幕| 蜜屁Av| 伊人五月天婷婷| 天堂九九九九九九九九九| 久久久极品| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 青青草天天亲夜夜操网| 亚洲天堂电影网| 日日夜夜精品| 91影视亚洲| 欧美国产精品| 伊人国产视频| 岛国毛片在线观看免费| 日本A级视频| 91看黄片| 美美91成人国产精品欧美精品久久久久久久| 欧美色涩| 中文字幕亚洲欧美在线不卡| 综合久久久久久久久91| 台湾佬中文娱乐自偷自拍| 综合网天天| 91女在线观看| 中文字幕精品一区欧美| 搞中出视频在线观看| xxxx网站亚洲精品| 9ⅰ久久久天天| JULIA一区二区三区在线播放| 伊人久久亚洲色欲综合网站 | 97九色| 久久综合日韩亚洲欧美| 国产黄色影片在线观看| 蜜乳av一区二区三区四区不卡| 欧美少妇性爱网站| 国内外毛片在线观看| 日韩激情啪啪| 国产日韩久久| 操B久久| 中文字幕中文字幕一区二区| 九九九只有精品| 91丨九色丨大屁股| 三级日韩一区二区三区| 超碰在线97国产| 亚洲精品第一| 一本色道熟妇| av在线人气| 午夜福利精品| 青草综合| 久久久精品一区二区| 亚洲中文字幕av| 久久精品一区二区| 亚洲情色在线| 91色久| 精品国产av一区二区三区四区入口| 亚洲吊色| 开心五月天激情网| 北约熟女超碰| 丰满人妻一区二区三区免费| 天天α片| 欧美色图天堂在线| ..日韩av毛片精品久久久| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 在线观看不卡一区二区三区| 日本布卡一区二三区| 国产传媒日本欧美专区| 亚欧高清v| 国产精品不卡一区二区三区av| 国产精品一级二级在线| 日本精品88888888| 欧美婷婷| 温婉少妇玩3p| 伊人一级免费黄片| 久草资源在线| 亚洲素人综合| 国产久久久久影院老熟女| 九九久久九九久久| 伊人女女资源在线观看| 成人自拍三级在线观看| 俄罗斯及免费在线看| 亚洲AV色图一区| 神马久久69| 蜜桃久久久久久| 色五月丁香五月| 老司机射| 精品国产丝袜一区二区三区乱码| 大色综合| 婷婷爽人人婷婷爽视频| 超碰97久| 九九精品99| 男人天堂无码| 青青欧洲黑| 火箭成精品视频884必出精品| 91影库| 激情六月天| 欧美在线色| 久久伊人最新网址视频| 精品黑人一区二区| 国产乱弄免费在线视频。| 亚洲色图欧美色18直播在线| 大香蕉久| 极品内射| 欧美亚洲自拍另类人妻| 一区二区三区机械有限公司| 少妇精品久久久| 国产色产精品在线观看| 日韩人妻无码专区| 久久久九精品| 国产日逼视频| av大香蕉网站| 狠狠91| 婷婷五月天在线观看| 青青草无码视频| 999精品国产高清一区二区| 亚洲丝袜色| 青青草大香蕉视频| 日欧操屄视频| 欧美色图片欧美色图| 北约熟女超碰| 欧美天堂亚洲电影院一区在线播放| 色综合av综合久久| 亚洲天堂人妻一区二区| 欧美亚洲综合高清在线| 国产免费一区二区三区最新不卡| 麻豆天美在线| 日本99热| 9丨久久九九九| 日韩精品区二区三区不卡| 日本黄色精品| 国产av尤物| 精品午夜福利| 91精品国产综合久久久蜜臀| 国产成人久久精品蜜臀| julia在线观看久久| 另类天堂| 精彩国产视频播放1区2区| 人人人摸人人| 亚洲精品 欧美精品| 日韩乱伦AⅤ| 超碰午夜| 69精品人人人人| 久久久久久加勒比| 精品国产自在在线99| 国产精品ww久久| 欧美性,色九九| 欧美激情性久久久久久| 亚洲性少妇| 视频分类 国内精品| 嗯嗯啊啊啊好爽| 亚洲欧洲小说图片视频| 欧美爱三级日韩久久| 亚洲精品1区| 日本人人操人人操| 女生久久网| 熟女在线视频| 欧美日韩操逼动图| 欧美色交| 吉田爱美AV在线| 影音先锋视频在线| 久久这里只精品| 欧美老熟另类| 国产亚洲日韩在线三区黑人| 99少妇| 一区二区三区网站日日骚| 天天操夜夜操狠很操| 96精品久久久| 天天弄欧美| 综合久久欧美| 日本色色色网站免费看不卡| 无码久| 丁香五月激情综合| 精品成人无码| 精品久久97观看在线视频| 久久久久久大| 超碰人人超在线观看| 国产精品久久久啊| 蜜臀在线看片| 97一区二区蜜臀| 丁香五月激情综合国产| 澳门黄片一香蕉视频| 色97欧美| 亚洲人久久久网| 韩国久久97| 亚洲成熟国产精品美女| 免费A片三p视频| 久射吧| 久久爽爽精品| 91狠狠综合久久久久久| 五月天玖玖资源站| 国产男女边吃边摸视频网站| 国产精选视频| 射丝袜大香蕉| 99精品网站| 婷婷五月天丁香| 粉嫩不卡一区二区性爱| 麻豆国产精品午夜视频| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 国产精品高潮久久久无码| 毛片99-全集电影手机免费观看完整-B029AV | 青娱乐亚洲自拍| 乱伦熟女论坛| 校园春色 欧美| 97综合久第一页| 中文久久96| 亚洲五区熟女| 亚洲精品久| 99综合视频一体| 亚洲Av无码成人精品国产| 手机在线免费看的av| 78超碰| 少妇淫妇久久久久久久| 蜜臀av网址| 一区二区视频你懂的| 日韩一级二级在线| 久久伊人在线五区| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 无码操逼视频一下| 国产精品人妻免费精品| 欧美高清第一页| 亚洲黄色| 麻豆成人影音在线| 国产精品播放| 色噜噜狠狠色综无码久久合欧美| 欧美91网| 亚洲高清色综合| 日韩无码第3页| 亚洲AV色图| 欧美性色欧美| 91人妻熟女| 美女诱惑一区| 国产精品视频内谢女人| 日本淫乱女一区二区三区视频| 精品人妻av区天天看片| 亚洲精品人体| 思思久热在线精品66| 日本精品一级二级三级| 精品一级毛片在线观看| 中文字幕黄片在线| 五十路六十路七十路熟婆| 欧美偷拍区| 欧美日本中字另类在线| 三级网色| 婷婷亚洲综合| 中文字幕国产精品1区| 天天干天天日天天射黄色大片| 天天弄欧美| 97超碰免费人人性爱| 蜜桃精品一区二区三区久在线| 日韩色图 一区二区| 亚洲日韩97| 男人久久天堂| 五十路六十路七十路熟婆| 中文字幕交换人妻| 中文字幕一区日韩精| 激情自拍 校园春色| 99自拍B亚洲| 色综合99999| 9美女超碰在线免费观看| 色逼综合| 一级@啪啪视频| 8050无码八戒| 97玖玖人妻| 欧美一级专区免费大片| 久热精品在线| 欧美性爱综合,免费| 377p欧洲日本亚洲大胆| 中文字幕 码精品视频网站| 97干com| 亚洲欧洲激情| 蜜桃av色偷偷av老熟女| 国模艳艳啪啪一区| 玖玖视频在线资源一区二区三区| 热久久国产精品视频大陆精品| 青青草在线视频播放器| 青青青国产手线观看视频2| 26uuu国产免费观看| 久久欧美1卡2卡3| 久久人妻无码毛片A片麻豆| 亚洲性天堂| 日韩图区 偷拍| 小少妇| 欧洲精品欧洲精品| 亚洲视频中文一区| 国产做?爰片久久毛片?片美国| 炮色五月| 伊人欧美大香蕉视频| WWW操逼| 91oumei| www久久精品| 国产精品不卡一区二区三区av| 成人综合久久精品色婷婷| 欧美色天堂网在线视频| 91精品网站| 少妇干B| 国产五码丝袜屁眼| 欧美亚洲情色| 久久婷婷伊人| 99re在线精品78| 免费看黄片现成| 天天综合91在线| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 免费看污网址| 日本操逼视频免费| 婷婷综合| 久久婷婷苹果| 蜜乳AV网址| 裸体美女久久久| 日本爽爽爽爽爽爽免费视频| 亚洲男人天堂Av| 亚洲天在线| 日本一区二区成人在线| 伦理弟一页| 亚洲高清无毛一区二区| 青青青国产| 男人的天堂va在线| 亚洲欧洲综合视频在线| 亚洲精品久久一区二区三区蜜桃臀| 日本熟女不卡视频| 炮色五月| 日韩成年人性爱视频| 亚洲AV小说| 国产乱子伦一区二区三区在线观看| 欧美顶级黄片AAAAA在线免费看| 日本高清熟女久久一区| 亚洲字幕一区二区| 天天看片麻豆| 多毛小伙内射老太婆| 久久国模av| 欧美日韩黄片精品在线| 久久精9| 日韩性爱视频在线免费观看| 丰满搜索结果 -第18页- 久久高清无码| 翔田千里AV无码秘 三区| 久都青青视频 | 男人的天堂日韩| 国产 亚洲 丝袜 制服| 91青青在线视频| 久操不卡视频| 久久99九九九九6666免费观看软件| 中文激情网| 熟妇色99| 欧美久久久15P| 草草影院最新网址| nuu12国产麻豆精品| 色婷久久| 测评在线观看AV| 欧美情色男人的天堂| 在线观看免费视频国产| 综合天天。| 欧洲色色| 国产日韩无码一区二区三区久久区| 超碰538| 日韩性爱高清免费视频| 日韩九九九| 欧美性区| 欧亚性爱啪啪| 欧美色图91| 久久久久久久久九九久孕交| 日韩A优精品在线观看| 97 国产精品| 天天影视综合网欧美精品| 夜夜操美女| 成年人免费观看网站| 丝袜 亚洲 偷拍| 俺去啦俺来也久久综合| 操淫穴亚洲五月丁香| 91操碰| 成人AV超碰免费在线| 欧洲一区二区三区四区在线观看| 色婷婷六月| 手机在线免费看的av| 人妻 欧美亚洲| 97网址www| 91精品啪在线观看国产城中村| 啊啊啊啊啊啊在线| 91爱看| 校园春色综合| 东亚亚洲无码高清| 热99这里有精品综合久久| 亚洲日韩乱码中文无码蜜桃臀网站| 91狠狠综合久久| 少妇一区二区三区精选| 国产激情在线| 亚洲资源网| 久久久久性熟视频| 欧美成人午夜免费福利785| 熟女乱3伦999| 97K超碰在线| 在线情色电影 91大| 天美国产精品| 国内毛片无码一级毛片| ji熟女.com| 欧美色图20p| 日本不卡中文| 一区二区三区色综合| 伊人影院在线理论播放| 操逼网免费无码视频| 为用户提供免费看黄网址在线观看| 国产熟女一区二区| 超碰久久网| 日本A级视频| 国产久久一区二区午夜| 婷婷91| 俺去俺来也在线www| 国产Av超碰| 97在线免费视频| 人妻激情视频| 亚洲男人天堂视频| 少妇精品久久久| 久久中出在线| 99爱久久视频频| 99re9在线| 狠狠色丁香| 日韩AV一起草| 操www| 91天美| 久九九九九九九九热| 天天干夜夜肏| 高清肉丝中文无码| 欧美日韩人人早| 日韩三级网址| 麻豆天美国美国产| 欧美男人一区| 啊啊啊操一区| 丁香婷婷啪啪| 久99热| 精品性爱一区二区| 亚洲欧美在线观看2021| 久久直播国产| 国内精品a| 一级毛片久久久久久久女人18| 亚洲精品97久久| 鸥美中出| 亚洲在线91| 性欧美91| 成人久久久| 亚洲精品欧洲色| 亚洲欧美色图片| 日韩在线观看三级电影| 99在线精品视频| 国产精品久久久久久久久久久久| 哑洲在线| 亚洲女人91| 国产97视频| 啊啊啊免费视频| 日本中文熟女视频| V A在线| 收看日本人日bb| 强奸国产在线| h无码动漫在线观看| 九九综合久久| 日本506070| 黄片免费日韩| 国产精品毛片?v一区二区三区| 一本色道久久天天射天天干| 国产网红精品| 亚洲精品视频在线播放| 激情视频网址| 香蕉一区二区三区在线视频| 美女啊啊啊啊pc| 伊人丝袜美腿高跟在线观看高清| 九九九精品一区二区无码| 日本中文字幕一区| 熟妇人妻精品一区二区| 人妻久久一区二区三区| 免费av高清无码| 国产精品熟女丝袜一区二区| 色婷网| av在线人气| 亚洲午夜蜜臀| 99热这里都是精品| 肉动漫无遮挡h在线观看| 欧美大波激情xxxx| 色综合久| 国产免费大片| 裸体美女久久久| 热热色91| 色在线亚洲视频www| 操逼视频免费日韩无码| 99re这里只有精品中心播放| 国产精品对白内射| 人人妻天天做天天爽| 精品91| 蜜乳av一区二区| 桃色五月天| 91l欧美在线| 午夜噜噜噜| 天天操人人操狠狠插| 久草福利在线资源站| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧美精品偷拍| 欧美少妇高潮视频| 人人做,人人操,人人摸| 伊人女女资源在线观看| 大香蕉十区| 黑人性欧美| 亚洲男人久久综合天堂| 久久99网站| www四虎| 色香网| 亚洲国产精品9999在线观看| 久久性视频| 骚女高跟AV在线| 尤物av网站免费在线播放| 天天干天天操天天干天天操| 97久久超碰国产网站| 97这里有精品| 国产精品干干干| 怡红院怡春院| 一区二区三区色综合| 亚洲欧美国产va在线播放频| 99热这里是精品| 色 亚洲 91| 成人小说另类在线| 在线黄页看毛片| 亚洲熟久久| 人妻偷拍一区二区三区| 理论久久婷婷网 8| 台湾佬中文娱乐网久久久久久久久久com | 日韩精品人妻一区二区| 国产美女高潮叫床视频| 91网亚洲| 综合另类| 大香蕉在线视频15| 成人九九| 日韩操人| 好湿好紧视频| 操逼不卡中文字幕| 神马久久啊啊| 国产精品久久久久久照片| 大香蕉伊人色偷偷在线| 大香蕉淫人| 色五月首页| 色97综合中文字幕| 久草免费在线一区二区| 日韩熟女视频二区| 国产精品国产自产高清AV| 啊啊啊好舒服好爽啊啊啊视频| 大逼色网站| 亚洲综合中文字幕有码| 久久久91福利姬| 人妻丰满熟妇一区二区三| 国产偷仑| 久久久久久一日韩字幕无码| 大香蕉 222| 免费αV在线视频| 三级网站超变态精品| 男女啪啪网站免费视频| 在线 亚洲 网爆 自拍| 亚洲成人黄色在线观看| 日本亚洲vr欧美不卡高清专区| 色婷婷国产精品一区在线观看| 啊啊啊啊啊在线观看网址 | 人妻铁牛TV| 91n美女视频| 中文字幕日韩精品久久| 国产欧美日韩女同性恋ww喷水精品| 97免费在线观看| 99热精品青草在线| 亚洲精品久久久久毛片A片拉屎 | 精品久久久久av影院| daxiangjiao你懂的| 欧美麻豆成人同性GⅤ在线| 大香蕉青青9| 中文字幕 国产 精品| 91A欧美电影网站| 裸体美女国产免费久久久网站| 亚洲欧美日韩偷拍色图| 美腿丝袜高跟网免费视频免费视频| 乱伦熟妇一区二区| 九九av| 思思99热| 国产 日韩,欧美 自拍| 欧美人妻中出| 啪啪啪综合网| 97在线视频观看| 亚洲欲| 黑操B| 精品久久久av无码免费| 9精品久久| 九九综合久久| 国产捆绑一区| 欧美与日韩97| 青青草视频久久| 高清在线不卡一区二区 视频| 亚洲资源网| 精品超碰中文在线| 国内精品嫩模A∨私拍小视频| 久久有碼| 国产67194| 人妻干天天| 亚洲天堂久| 尤物av网站| 无遮挡h肉动漫在线观看| 伊香蕉综合久久久久久久噜噜噜 | 蜜臀av在线播放一区二区三区| 先锋影音av先锋一区| 日本三级韩国三级美三级91| 射久久| 亚洲综合夜色| 青青草日韩无码| www.久久最新地址| 黄骗免费网站| 日韩精品电影| 欧美人妻精品| 强免费黄色网址| 欧美亚洲丝袜人妻制服中文99| 青青草精品| 天天干美少妇一区| 午夜福利免费福利视频| 91亚洲在线| 88在线一区二区三区| 亚洲自拍一区夜夜操| 综合色久| 欧美视频一区二区在线| 欧美爆乳精品一区二区| 丰满少妇精品一区二区| 美骚妇av高清在线| 鲁鲁色综合网| 婷婷久久五月| 小日子操bb在线看| 亚洲爽图| 超碰人妻97| 青青草久草AV| 日韩ab网| 男人的天堂激情| 久草网站免费在线观看| 亚洲精品一区二区精华| 91丝袜美女视频| 超碰人人干天天射| 天天色怡春院| 黄色不卡视频| 日日干夜夜操视频h| 99这里有精品视频| 日本污ww视频网站| 日本性爱少妇| 亚洲高清国产理伦片| 中国人高清www色视频免费| 日韩久射综合| 精品国产乱码久久久久久久久久毛片 | 欧美性爱三区二区| se吧提供91精品国产91久久久久久 | 久久久久一本一区二区青青蜜月| 亚洲色欲天天人妻无码系列专区| 国产操偷| 中文字幕123| 亚洲国产ⅴ高清在线观看| 韩国手机不卡无码三级视频| 国产精品一区二区手机看片| 肉动漫无遮挡h在线观看| 精品美女少妇一区二区| 黄色交缠性感爆操91国产精品免费一区二区三区 | 男人的天堂一区三区| 久久精品店| 天天看天天在线精品| 久久九九视频九九视频| 欧亚乱色熟女一区二区| 国产精品国产自产高清AV| 精品少妇人妻av久久免费| 激情无码日韩| 亚洲 国产 精品一区| 亚洲色图欧美色图日韩色图| 国产精品麻豆视频网站| 3028国产精品| 国产免a费看黄片在线| 人人摸人人添人人操| 大香蕉一线视频| 五月天激情四射| 国产精品亚洲免费| 99色在线| 久久久久性熟视频| 97久久超碰国产网站| 蜜桃精品一区二区三区ww| 99999精品视频| 四虎国产成人精品免费一女五男| 男人的天堂2018.| 伊人伊人LD| 久久久草草精品| 十八禁黄色| 欧美日韩在线小说| 国产成人资源| 日韩在线观看字幕精品| 色99视频| 25国产精品免费观看| 很黄很污的免费网站| 亚码人妻| 欧美综合色| 欧成人精品一区二区三区| 立川理惠被中出无码| 国产女人与拘做受视频免费| A片三级无码| 无码99| 国产精品亚洲四五区在线观看| 超碰97在线色男人??| 九九九国产| 亚洲国产美女久久久久| 欧美极品性爱天天射| 激情五月综合网| 极品内射| 插入粉嫩少妇视频| 九九久久玖玖| 美女极品一区二区三区| 亚洲五月天激情| 99re这里只有精品3| 97精品视频在线| 搡老熟女免费视频 | 久久精品国产97欧美精品亚洲| 国产91 丝袜在线播放00-百度|