999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ArcPy的縣域耕地年度流入流出分析腳本工具設計

2025-06-05 00:00:00陳聯海江蘭
鄉村科技 2025年7期
關鍵詞:耕地分類分析

關鍵詞:耕地流入流出;地類轉換;自動分析;腳本工具;四川省中圖分類號:TP311.5 文獻標志碼:ADOI:10.19345/j.cnki.1674-7909.2025.07.030文章編號:1674-7909(2025)7-146-8

0 引言

實現耕地總量動態平衡是守住耕地保護紅線的重要手段,加強年度耕地流入流出管理是落實關于改革完善耕地占補平衡有關要求的重要舉措。耕地流人是指在分析目標年度內,通過土地整治、建設用地增減掛鉤、高標準農田建設等方式,將非耕地整治、復墾并轉變為耕地的過程;耕地流出是指在分析目標年度內,耕地因建設占用、農業產業結構調整、自然災毀等,轉變為其他農用地、建設用地與未利用地的過程。耕地流入流出管理是耕地占補平衡、進出平衡制度的進一步延伸和拓展[1]。根據前面耕地流入流出的含義,分析縣域年度耕地流入流出就是將分析目標年度的變更調查地類圖斑與上一年度的變更調查地類圖斑進行疊加對比分析,然后根據分析結果統計耕地增加、減少2個方向的地類來源與數量,從而得到耕地在目標年度內面積的變化情況

目前,尚無基于四川省年度耕地流入流出管理要求的自動分析處理方法,傳統方法是人工在Arc-GIS平臺上采用疊加分析功能處理數據[2],將處理結果導人Excel中進行地類轉換;然后利用Excel的數據透視功能3,根據統計需要進行分類匯總并單獨存表。該項工作涉及分析數據圖層統計字段的新建、地類轉換、疊加分析、數據分類匯總及分析報表輸出等主要操作流程,根據管理需要,具有重復性較高的特點。根據《國土空間調查、規劃、用途管制用地用海分類指南》中第三次全國國土調查(以下簡稱“國土三調”工作分類一級類、《中華人民共和國土地管理法》“三大類\"的分類方式4進行統計,每次分析都需要重新建立對應的轉換關系,人工分析處理耗時費力。目前,詹龍圣5根據市縣國土空間規劃編制要求,進行了“國土三調”工作分類與用地用海分類轉換方法研究;伍素貞等采用深度學習技術和人工目視解譯方法,著重研究了“國土三調\"地類與用地用海二級類批量轉換的精度和可靠性;李卓等7利用ArcGIS的空間分析功能,通過嵌入式VBScript程序,在耕地分等與地理信息相結合算法自動化方面進行了探索與嘗試;王露等8利用ArcPy設計了土地利用現狀及規劃分類統計的腳本工具,實現了土地利用現狀及規劃分類統計表的自動生成;林蔚凱采用組合分析方法和多源數據融合方法,以ArcPy為基礎搭建Python腳本工具,實現了園地快速準確的定級計算[9]。上述研究在地類轉換的方向、空間分析的對象、腳本設計的方式上各有側重,但均不能滿足四川省縣域年度耕地流入流出分析與統計的實際需要。鑒于此,研究基于Ar-cPy設計,編寫了一套在ArcGIS-Pro3.2上運行的分析腳本工具,實現了耕地流入流出的自動化分析。橫列按“國土三調”工作分類一級類、《中華人民共和國土地管理法》“三大類”的分類方式,豎行按鄉鎮代碼與名稱統計并導出Excel表,可以大大提高分析與統計的工作效率。

1 環境介紹

ArcPy是Esri公司為ArcGIS平臺提供的一個Python站點包,專門用于地理數據處理、分析和流程自動化。它是ArcGIS的核心腳本工具,允許用戶通過Python腳本調用ArcGIS的豐富功能,包括數據管理、地圖制圖、空間分析和地理處理[10]。ArcPy提供了對ArcGIS地理處理工具的完整訪問能力,用戶可以通過Python腳本調用這些工具,實現批量處理、自動化工作流和復雜空間分析。此外,ArcPy還提供了豐富的模塊和類,用于處理地理數據、地圖文檔、圖層、幾何對象等。

2分析腳本工具的設計思路

2.1 數據準備

2.1.1 數據圖層

分析腳本涉及的數據圖層包括縣域分析目標年度變更調查地類圖斑(研究以2023年為分析目標年度,即2023年DLTB,以下簡稱\"target_layer\")、上一年度的變更調查地類圖斑(即2022年DLTB,以下簡稱\"compare_layer\")和行政區圖層(即XZQ,以下簡稱\"xzq_layer\")。

2.1.2地類轉換關系預處理

將縣域分析目標年度變更調查地類圖斑導出Excel表,提取所有DLBM(地類編碼)與DLMC(地類名稱)列表,根據《國土空間調查、規劃、用途管制用地用海分類指南》中“國土三調”工作分類一級類、《中華人民共和國土地管理法》“三大類”與DLBM(地類編碼)和DLMC(地類名稱)的分類對應情況,建立分析目標縣域的變更調查地類轉換映射關系。

2.2腳本工具的設計思路

2.2.1 設計流程

腳本工具的設計流程如圖1所示。

圖1分析腳本工具設計流程圖

2.2.2 設計流程的補充說明

在target_layer、compare_layer中添加字段,并根據變更調查地類的映射關系進行賦值,在ArcGIS中僅對現有圖層的屬性表進行操作,不創建新的圖層文件。

在2個年度圖層中篩選的耕地與非耕地圖層作為分析過程中的臨時圖層,不單獨導出。

耕地與非耕地圖層在執行相交操作時,強調耕地圖層在前、非耕地圖層在后的原則,便于后續統一統計字段并簡化代碼。

由于pivot_table函數的數據透視并不會對表格進行橫行、縱列的合計,因此需要在腳本中追加合計行列的代碼后再進入\"pd.ExcelWriter函數寫人Excel表\"流程。

在腳本工具運行過程中,導出inflow_layer、out-flow_layer、identified_inflow_layer和identified_out-flow_layer等4個過程的圖層,用于人工校驗腳本代碼的正確性。

3關鍵函數與代碼實現

3.1 導人模塊

腳本基于ArcPy語言編寫,并在ArcGIS-Pro3.2平臺上運行,導入os、arcpy、pandas3個模塊。其中,os模塊主要用于與操作系統交互,arcpy模塊主要用于地理數據處理,pandas模塊用于數據處理和分析,如數據讀取、清洗、轉換、分組聚合、合并、時間序列處理等[]。模塊導入代碼如下:

import arcpy import os import pandas as pd

3.2主要流程代碼實現

3.2.1 獲取用戶參數

target_layer arcpy.GetParameterAsText(0)#設置分析目標年度圖層compare_layer Σ= Σ arcpy.GetParameterAsText(1)#設置比較年度圖層xzq_layer arcpy.GetParameterAsText(2)#設置行政區圖層output_dir Σ= arcpy.GetParameterAsText(3)#設置分析過程圖層的存放路徑output_excel_path=arcpy.GetParameterAsText(4)

#設置分析結果Excel表格存放路徑

3.2.2建立地類轉換映射關系

#根據數據準備階段處理的地類映射關系,按

ArcPy字典編寫轉換代碼mapping_dict '0101':{'YJDLBM':'01','YJDLMC':'耕地

'SDDLMC':農用地'},'0508':{YJDLBM':'05','YJDLMC':'商業服務

業用地','SDDLMC':'建設用地'},'1207':{YJDLBM':'12','YJDLMC':'其他土地',

'SDDLMC':未利用地'},

3.2.3 添加字段與字段賦值

#為目標年度圖層和比較年度圖層添加定義的

字段 defadd_new_fields(layers,field_defs): for layer in layers: existing_fields Σ= Σ {field.name for field in arcpy.

ListFields(layer)} forfield_name,field_type,field_lengthin

field_defs: if field_name not in existing_fields: print(f\"Adding field {field_name}to {layer}\") arcpy.AddField_management(layer, field_name,

field_type,field_length °leddash field_length) #根據DLBM字段的值給新增字段賦值 def update_fields(layer,mapping): field_names Σ= Σ [\"DLBM\", \"YJDLBM\",

\"YJDLMC\", \"SDDLMC\"] with arcpy.da.UpdateCursor(layer, field_names)

as cursor: for row in cursor: dlbm_value row[0] if dlbm_value in mapping: row[1] mapping[dlbm_value]['YJDLBM'] row[2] mapping[dlbm_value]['YJDLMC'] row[3] Σ= Σ mapping[dlbm_value]['SDDLMC'] cursor.updateRow(row) else: print(f\"Warning:DLBM value'{dlbm_value}'

not found in mapping dictionary. Skipping this row.\")

3.2.4篩選分析目標年度與上一年度的耕地和非耕地代碼

文中僅列出篩選目標年度圖層的耕地與非耕地代碼,同理篩選上一年度(以下涉及相同操作的按此執行)。

#用QUERY篩選分析目標年度圖層的耕地與非耕地代碼,不單獨導出圖層

def filter_target_layer(target_layer): query_cultivated_target \"YJDLMC Σ= Σ 耕地\"# 篩選分析目標年耕地 cultivatedland_target_lyr Σ= Σ arcpy.MakeFeatureLayer_management(target_layer,\"cultivatedland_target_lyr\") arcpy.SelectLayerByAttribute_management(cultivatedland_target_lyr,\"NEW_SELECTION\",query_ cultivated_target) query_non_cultivated_target Σ= \"YJDLMC ? 耕 地\"#篩選分析目標年度非耕地 non_cultivatedland_target_lyr Σ= Σ arcpy.MakeFeatureLayer_management(target_layer,\"non_cultivatedland_target_lyr\") arcpy.SelectLayerByAttribute_management(non_ cultivatedland_target_lyr,\"NEW_SELECTION\",query_non_cultivated_target) return cultivatedland_target_lyr,non_cultivatedland_target_lyr

3.2.5 獲取耕地流入流出圖層

3.2.5.1 獲取耕地流人圖層(inflow_layer)

#特力價口協牛反圖云時析地工 #將分析目標年度圖層的耕地與上一年度圖層 中反圖云的非耕地相交并導出圖層

defcalculate_inflow_layer(cultivatedland_target_

lyr,non_cultivatedland_compare_lyr,output_shape

file): inflow_layer Ψ= Ψ os.path.join(output_shapefile,\"in

flow_layer.shp\") print(f\"Calculatinginflow layer:{inflow_layer}\") arcpy.Intersect_analysis([cultivatedland_target_

lyr,non_cultivatedland_compare_lyr],inflow_layer) returninflow_layer

3.2.5.2 獲取耕地流出圖層(outflow_layer)

#將上一年度圖層的耕地與分析目標年度圖層 的非耕地相交 defcalculate_outflow_layer(cultivatedland_compare_lyr,non_cultivatedland_target_lyr,output_shapefile): outflow_layer τ= τ os.path. join(output_shapefile, \"outflow_layer.shp\") print(f'Calculatingoutflowlayer:{outflow_ layer}\")

arcpy.Intersect_analysis([cultivatedland_compare _lyr,non_cultivatedland_target_lyr],outflow_layer) returnoutflow_layer

3.2.6 重算面積

為準確統計耕地流入流出面積,重算[TBMJ]、[KCMJ]、[TBDLMJ]3個字段的面積,其中[TBMJ]采用橢球面積計算方式重算面積,[KCMJ]和[TBDLMJ]按照“國土三調\"面積計算方法重算,具體如下:

def calculate_area_and_update_fields(inflow_ layer): #計算幾何面積(橢球面積)并賦值給TBMJ字 段,保留2位小數 area_field \"TBMJ\" arcpy.CalculateField_management(inflow_layer, area_field,\"round(!shape.geodesicArea!,2)\", \"PYTHON3\") #更新KCMJ、TBDLMJ字段 field_names Σ= Σ [\"TBMJ\",\"KCXS\",\"KCMJ\", \"TBDLMJ\"] try: with arcpy.da.UpdateCursor(inflow_layer, field_names)ascursor: for row in cursor: tbmj round(row[0],2) kcmj Σ= Σ round(tbmj *row[1],2) tbdlmj Σ= Σ round(tbmj-kcmj,2) row[2] Σ= Σ kcmj row[3] tbdlmj cursor.updateRow(row) except Exception ase: print(f\"Error updating fieldsin calculate_area_ and_update_fields:{e}\")

3.2.7 標識行政區

使用identify分別標識耕地流人圖層(inflow_layer)、耕地流出圖層(outflow_layer),并導出 標識后的圖層(identified_inflow_layer、identified_outflow_layer),代碼如下:

#標識耕地流入圖層(inflow_layer)

defidentify_xzq_to_layers(inflow_layer,outflow_layer,xzq_layer,output_shapefile):

identified_inflow_layer Ψ= Ψ os.path.join(output_shapefile,\"identified_inflow_layer.shp\")

print(f\"IdentifyingXZQto inflowlayer:{identi

fied_inflow_layer}\")

arcpy.analysis.Identity(inflow_layer,xzq_layer, identified_inflow_layer,join_attributes \"ALL\",cluster_tolerance ,relationship 1 = 1 \"NO_RELATIONSHIPS\")

3.2.8獲取統計表并進行數據透視

3.2.8.1 獲取統計數據源

在目標年度耕地流人統計圖層(identified_inflowlayer)和目標年度耕地流出統計圖層(identi-fied_outflow_layer)的基礎上,以XZQDM、XZQMO為第1、2列的行標題,統計耕地流入與流出的來源、去向地類。

defsummarize_tables_with_pivot(identified_in flow_layer,identified_outflow_layer):

#將DBF轉為DataFrame

field_names_inflowsource [\"XZQDM\",\"XZQMC\",\"YJDLBM_1\",\"YJDLMC_1\", \"SDDLMC_1\", \"TBDLMJ\"]#指定耕地流入來源地類統計字段

field_names_inflowdestination Σ= Σ [\"XZQDM\", \"XZQMC\",\"DLBM\",\"DLMC\",\"TBDLMJ\"]#指定 流入耕地二級地類統計字段

df_inflowsource Σ= Σ pd.DataFrame(arcpy.da.TableToNumPyArray(identified_inflow_layer, field_names_inflowsource))

df_inflowdestination Σ= Σ pd.DataFrame(arcpy. da. TableToNumPyArray(identified_inflow_layer, field_names_inflowdestination))

field_names_outflowsource [\"XZQDM\",\"XZQMC\",\"DLBM\",\"DLMC\",\"TBDLMJ\"]#指定流出 耕地二級地類統計字段

field_names_outflowdestination Σ= Σ [\"XZQDM\", \"XZQMC\",\"YJDLBM_1\",\"YJDLMC_1\",\"SDDLMC _1\",\"TBDLMJ\"]#指定耕地流出去向地類統計 字段

df_outflowsource Σ= Σ pd.DataFrame(arcpy.da.Ta bleToNumPyArray(identified_outflow_layer, field_names_outflowsource))

df_outflowdestination Σ= Σ pd.DataFrame(arcpy.da. TableToNumPyArray(identified_outflow_layer, field_names_outflowdestination))

3.2.8.2采用pivot進行數據透視

pivot_inflowsource Ψ= Ψ df_inflowsource.pivot_ table(index [\"XZQDM\",\"XZQMC\"],columns [\"YJDLBM_1\",\"YJDLMC_1\",\"SDDLMC_1\"],values \"TBDLMJ\",aggfunc sum').fillna(0)

pivot_inflowdestination Σ= Σ df_inflowdestination. pivot_table(index [\"XZQDM\",\"XZQMC\"],columns [\"DLBM\",\"DLMC\"],value ? \"TBDLMJ\",aggfunc : = 'sum').fillna(0)

pivot_outflowsource df_outflowsource.pivot _table(index [\"XZQDM\",\"XZQMC\"],columns [\"DLBM\",\"DLMC\"],value \"TBDLMJ\",aggfunc 'sum').fillna(0)

pivot_outflowdestination Σ= Σ df_outflowdestination.pivot_table(index °leddash [\"XZQDM\",\"XZQMC\"],columns °leddash [\"YJDLBM_1\",\"YJDLMC_1\",\"SDDLMC_ 1\"],values \"TBDLMJ\",aggfunc sum').fillna(0)

3.2.8.3透視表追加行列匯總合計 #在透視表中追加合計列 pivot_inflowsourcel['合計 pivot_inflow

source.sum(axis 1 = 1 ) pivot_inflowdestination['合計 pivot_in

flowdestination.sum(axis=1) pivot_outflowsource['合計 pivot_outflow

source.sum(axis 1 = 1 ) pivot_outflowdestination['合計 pivot_out

flowdestination.sum(axis=1) #在透視表中增加合計行 total_row_inflowsource Σ= Σ pd.Series(pivot_in

flowsource.iloc[:,:].sum(,name=('合計',\",\")) total_row_inflowdestination Σ= Σ pd.Series

(pivot_inflowdestination.iloc[:,:].sum,name=('合計

', \",\")) total_row_outflowsource Σ= Σ pd. Series(pivot_out

flowsource.iloc[:,:].sum,name=('合計',\", \")) total_row_outflowdestination Σ= Σ pd.Series

(pivot_outflowdestination.iloc[:,:].sum,name=('合

計,\",\")) #在透視表中追加合計行插入到最后 pivot_inflowsource Σ= Σ pivot_inflowsource.append

(total_row_inflowsource).sort_index(kind='merge') pivot_inflowdestination Σ= Σ pivot_inflowdestina

tion.append(total_row_inflowdestination).sort_index

(kind merge') pivot_outflowsource Σ= Σ pivot_outflowsource. ap

pend(total_row_outflowsource). sort_index(kind=

'merge') pivot_outflowdestination pivot_outflowdestina

tion.append(total_row_outflowdestination).sort_index (kind='merge')

3.2.9 匯總數據導出Excel

#將匯總數據導出Excel,存放到一個工作簿中def export_to_excel(pivot_inflowsource,pivot_inflowdestination,pivot_outflowsource,pivot_out-flowdestination,excel_path):

with pd.ExcelWriter(excel_path) aswriter:

pivot_inflowsource.to_excel(writer,sheet_name= 耕地流入地類來源情況表,index True)

pivot_inflowdestination.to_excel(writer,sheet name 流入耕地二級地類情況表,index Ψ= True)

pivot_outflowsource.to_excel(writer,sheet_name 流出耕地二級地類情況表',index True)

pivot_outflowdestination.to_excel(writer,sheet name 耕地流出地類去向情況表',index True)

4工具實現與實例驗證

4.1 工具實現

在ArcGIS-Pro3.2工程目錄的工具箱中新建工具箱,在新建工具箱中新建腳本,將代碼粘貼到\"執行”對話框中,完善“常規”“參數”對話框的設置。“參數\"設置要與代碼獲取用戶參數類型一致,設置分析目標年度圖層、上一年度圖層、行政區圖層、分析過程圖層存放路徑、分析結果Excel表格存放路徑及名稱等5個參數。腳本工具名稱為耕地流入流出分析V1.1,界面如圖2所示。

4.2 實例驗證

筆者測試數據為四川省某區2023年度和2022

年度變更調查數據。該區面積超過 ,2023

年圖斑數量超過28萬個,2022年圖斑數量超過25萬個。經分析,該區2023年耕地流入圖斑8257個,總面積 ;耕地流出圖斑11449個,總面積 年全年實現耕地凈流入

分析腳本工具運行時間不到 4 m i n ,輸出結果符合預期,分析結果如圖3至圖6(筆者僅對鄉鎮代碼、鄉鎮名稱進行了虛構與隱蔽處理,微調了統計字段的顯示效果)。

圖2耕地流入流出分析腳本工具

5結論

基于ArcPy設計的縣域耕地年度流入流出分析腳本工具,可以自動完成分析圖層的字段新建、地類轉換賦值、面積重算、疊加分析及統計出表,顯著提高了分析效率。該工具在面積重算過程中扣除了田坎系數,統計報表數據均以耕地凈流入流出面積呈現,便于無縫銜接2個年度的耕地面積。該工具不僅可以應用于耕地年度流入流出分析,同樣適用于跨年度的任意2個年度之間的耕地動態變化分析,對相關從業人員具有一定的參考與應用價值。

參考文獻:

[1]梁健,梁婧祎.縣域“進出平衡”耕地資源補充潛力分析:以重慶市巴南區為例[J.自然資源情報,2024(5):25-31.

[2]李歐,安靜.基于ArcGIS疊加分析功能的國土變更調查成果研究[J.測繪與空間地理信息,2024,47(S1):142-144.

[3]丁紅利.Excel數據透視表在高校數據處理中的應用[J].電腦知識與技術,2017,13(3):67-68.

[4自然資源部.自然資源部關于印發《國土空間調查、規劃、用途管制用地用海分類指南》的

通知[EB/OL].(2023-11-22)[2025-01-22].http:// gi.m.mnr.g0v.cn/202311/t20231124_2807521.html.

[5]詹龍圣.從“三調”分類到市縣國土空間總體規劃用地用海分類轉換技術方法探索[J.智能城市,2021,7(12):1-3.

[6]伍素貞,郭舟,淳錦.省級國土三調與用地用海分類數據快速轉換技術方法探索[J.測繪標準化,2024,40(1):66-73.

[7]李卓,張檳,劉毅,等.基于ArcGIS空間分析的黑龍江省耕地分等算法自動化的設計與實現[J].測繪與空間地理信息,2013,36(9):157-160.

[8]王露,盧駿.基于ArcPy的土地規劃分類統計腳本工具設計[J].河南科技,2023,42(9):23-26.

[9]林蔚凱.ArcPy腳本工具在園林草定級中

應用:以新羅區園地定級為例[J].北京測繪.2024,38(12):1766-1770.

2018(3):44-46,49.

[10]李詩宇,鄧吉強.基于ArcPy的地學數據自動化處理與分析方法[J].科技創新與生產力,

[11]韓文煜.基于python數據分析技術的數據整理與分析研究[J].科技創新與應用,2020(4):157-158.

Design of a Script Tool for Annual Inflowand Outflow Analysis of Cultivated Land at the County-Level Based on ArcPy

CHENLianhai12 JIANGLan2

1.Regional Geological Survey Brigade of Sichuan Bureauof Geology,Chengdu 61OO84,China; 2.Sichuan Tianfu Rongda Information TechnologyCo.,Ltd.,Chengdu 610213,China

Abstract: Implementing dynamic monitoring of cultivated land and strengthening the management of cultivated land inflows and outflows are important measures in cultivated land protection. Conducting annual analysis of cultivated land inflow and outflowat the county level in a timely mannercan help understand dynamic changes of cultivated land,thereby better serving the protection and management of cultivated land.In this paper,based on the policies fortheannual management of cultivated land inflows and outflows in Sichuan Province,we design and develop a script tool using ArcPy for analyzing annual changes in cultivated landat the county level.The tool,implemented on the ArcGIS Pro 3.2 platform,enables land use type conversion,automated analysis of cultivated land inflow and outflow,and area recalculation.The column headers of the output statisticaltable are subjectto data processing according to the first-level categories of the classification for the Third National Land Survey work and the \"Three Major Categories\" in the Land Administration Law.The row headers are based onthe statisticalcalibers of the townshipcodes and township names.Finally,Excel tables are respectively output according to the source and destination land categories of the inflow and outflow of cultivated land,significantly reducing repetitive tasks and improving the eficiency of analysis and statistics.

Key words: cultivated land inflow and outflow; land use type conversion; automated analysis; ArcPy-based script tool; Sichuan Province

猜你喜歡
耕地分類分析
自然資源部:加強黑土耕地保護
我國將加快制定耕地保護法
今日農業(2022年13期)2022-11-10 01:05:49
保護耕地
北京測繪(2021年12期)2022-01-22 03:33:36
新增200億元列入耕地地力保護補貼支出
今日農業(2021年14期)2021-11-25 23:57:29
分類算一算
隱蔽失效適航要求符合性驗證分析
分類討論求坐標
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
數據分析中的分類討論
教你一招:數的分類
主站蜘蛛池模板: 亚洲欧美不卡中文字幕| 国产成人精品视频一区二区电影| 中文毛片无遮挡播放免费| 国产xx在线观看| 久久综合国产乱子免费| 国产乱人伦AV在线A| 真实国产精品vr专区| 免费久久一级欧美特大黄| 中文字幕无码制服中字| 欧美成人手机在线视频| 国产精品主播| 波多野吉衣一区二区三区av| 91口爆吞精国产对白第三集| 国产区福利小视频在线观看尤物| 国产精品无码久久久久久| 国产精品jizz在线观看软件| www.91在线播放| 国产亚洲精品精品精品| 欧美a级完整在线观看| 91原创视频在线| 亚洲Av综合日韩精品久久久| 麻豆精品久久久久久久99蜜桃| 中国一级特黄视频| 国产精品对白刺激| 国产亚洲成AⅤ人片在线观看| 深夜福利视频一区二区| 国产精品永久免费嫩草研究院 | 色噜噜狠狠色综合网图区| 色噜噜综合网| 亚洲人成电影在线播放| 亚洲精选高清无码| 亚洲欧洲日韩久久狠狠爱| 色综合手机在线| 亚洲成人免费在线| 国产网站黄| 一本大道在线一本久道| 国产精品青青| 中文字幕精品一区二区三区视频 | 国产美女丝袜高潮| 久久国产亚洲欧美日韩精品| 丁香亚洲综合五月天婷婷| 58av国产精品| 无码一区二区波多野结衣播放搜索| 亚洲日韩久久综合中文字幕| 亚洲91在线精品| 国产精品无码久久久久AV| 亚洲av中文无码乱人伦在线r| 五月婷婷亚洲综合| 一本大道香蕉久中文在线播放| 成人在线综合| 亚洲欧美日韩中文字幕一区二区三区 | 不卡无码h在线观看| 国产黑丝视频在线观看| 久久永久视频| 一级成人a毛片免费播放| 国产精品欧美日本韩免费一区二区三区不卡 | 波多野结衣无码视频在线观看| 欧美午夜网| 日本免费a视频| 亚洲午夜福利精品无码不卡| 伊人激情综合| 国产精品欧美亚洲韩国日本不卡| 国产又大又粗又猛又爽的视频| AV无码一区二区三区四区| 亚洲精品777| 亚洲国产欧美国产综合久久 | 日韩欧美中文字幕在线精品| 免费一级全黄少妇性色生活片| 综合色区亚洲熟妇在线| 视频二区亚洲精品| 日韩欧美中文字幕在线韩免费| 试看120秒男女啪啪免费| 欧美成人精品欧美一级乱黄| 中文字幕人成人乱码亚洲电影| 老司机精品久久| 国产91小视频| 国产9191精品免费观看| 精品色综合| 亚洲 成人国产| 高清色本在线www| 国产精品亚洲一区二区三区在线观看| 亚洲精品自拍区在线观看|