精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

點線面的智慧: 轉轉JTS技術如何塑造上門履約地理布局

開發
JTS,全稱 Java Topology Suite,是一個用于創建和操作向量幾何的 Java 庫。提供了對幾何模型的抽象,以及各種空間操作和空間關系判斷,非常強大。

1、引言

圖片

如上圖所示,在轉轉上門履約的場景中,上門服務的覆蓋區域是在地圖上畫電子圍欄來劃定的。這就涉及到一些幾何圖形的操作和空間關系判斷,其中最核心問題就是要解決如何判斷位置是否在上門覆蓋范圍內。下面介紹下 JTS,以及如何通過 JTS 的空間之力來解決這些問題。

2、JTS 介紹

JTS,全稱 Java Topology Suite,是一個用于創建和操作向量幾何的 Java 庫。提供了對幾何模型的抽象,以及各種空間操作和空間關系判斷,非常強大。

2.1 引入 jar 包

JTS 有多個模塊,這里只使用了核心的模塊。

  • jts-core:提供幾何模型的抽象、空間操作、空間關系判斷算法等
  • jts-io-common:提供各種格式描述幾何模型的輸入輸出包,如對 WKT、WKB 等格式
<dependency>
  <groupId>org.locationtech.jts</groupId>
  <artifactId>jts-core</artifactId>
  <version>1.19.0</version>
</dependency>

<dependency>
    <groupId>org.locationtech.jts.io</groupId>
    <artifactId>jts-io-common</artifactId>
    <version>1.19.0</version>
</dependency>

2.2 基本的幾何模型

JTS 提供了常見的幾何模型抽象,并且各具特點。

模型

定義

常見應用

點(Point)

空間中的單個位置,由一對 x,y 坐標表示

興趣點、事件位置等

多點(MultiPoint)

由多個獨立的點組成的幾何對象

表示多個相關但分散的位置,如連鎖店分布,多個不同人位置

線(LineString)

由一系列點組成的一維幾何對象,有起點和終點,中間可以有任意數量的點

表示道路、河流等線性特征

多線(MultiLineString)

由多個不相連的 LineString 組成的幾何對象

表示復雜的道路網絡、等高線等

多邊形(Polygon)

由一系列首尾相連的線段圍成的平面區域(可以有內部空洞)

表示行政區劃、建筑物輪廓等

多多邊形(MultiPolygon)

由多個獨立的 Polygon 組成的幾何對象,可以表示不相連的多個區域

表示群島、復雜的行政區劃

幾何集合(GeometryCollection)

可以包含任意類型幾何對象的集合,最靈活的幾何類型,可以混合包含點、線、面等

表示復雜的空間場景,如包含多種類型要素的地圖

在 JTS 中的各幾何模型對象關系如下所示:圖片

在實際應用場景中,最常使用的模型如下:

  • 點(Point):表示位置信息,如用戶地址位置、工程師位置等
  • 多邊形(Polygon)、多多邊形(MultiPolygon):用來表示上門履約的覆蓋區域

2.3 幾何模型的描述格式

WKT(Well-Know Text)格式是一種文本格式,用于描述二維和三維幾何對象的空間特征。WKT 的基本語法格式如下:

幾何模型類型 (模型數據)

示例如下所示:

點:POINT (282 455)
線:LINESTRING (260 250, 485 248, 520 380)
多邊形:POLYGON ((320 390, 370 330, 470 360, 460 430, 375 432, 320 390))

JTS 支持對該格式的讀寫操作,主要是兩個對象WKTReaderWKTWriter,代碼示例如下:

// 讀取wkt描述的幾何對象
WKTReader wktReader = new WKTReader();
Geometry point = wktReader.read("POINT (282 455)");
Geometry line = wktReader.read("LINESTRING (260 250, 485 248, 520 380)");
Geometry polygon = wktReader.read("POLYGON ((320 390, 370 330, 470 360, 460 430, 375 432, 320 390))");

// 輸出幾何對象的wkt描述
WKTWriter wktWriter = new WKTWriter();
System.out.println(wktWriter.write(point));
System.out.println(wktWriter.write(line));
System.out.println(wktWriter.write(polygon));

2.4 空間關系

JTS 中的空間關系是基于 DE-9IM(Dimensionally Extended Nine-Intersection Model)模型定義的,這里列舉常見的空間關系

空間關系

定義

相等 (Equals)

兩個幾何對象在拓撲上相等

相離 (Disjoint)

兩個幾何對象沒有任何共同點

相交 (Intersects)

兩個幾何對象有至少一個共同點

內含 (Within)

幾何對象 A 完全位于幾何對象 B 內部

包含 (Contains)

幾何對象 A 完全包含幾何對象 B

以該圖形為例,兩個多邊形的關系判斷的代碼示例圖片

WKTReader wktReader = new WKTReader();
Geometry geometryA = wktReader.read("POLYGON ((320 390, 370 330, 470 360, 460 430, 375 432, 320 390))");
Geometry geometryB = wktReader.read("POLYGON ((500 420, 430 360, 530 260, 500 420))");

System.out.println("Equal: " + geometryA.equals(geometryB));
System.out.println("Disjoint: " + geometryA.disjoint(geometryB));
System.out.println("Intersects: " + geometryA.intersects(geometryB));
System.out.println("Within: " + geometryA.within(geometryB));
System.out.println("Contains: " + geometryA.contains(geometryB));

在實際場景中,判斷上門位置是否在上門區域內,轉換成空間關系的判斷就是點是否在多邊形內。解決該問題的實例代碼如下:

WKTReader wktReader = new WKTReader();
Geometry geometryA = wktReader.read("POLYGON ((320 390, 370 330, 470 360, 460 430, 375 432, 320 390))");
Geometry geometryB = wktReader.read("POLYGON ((500 420, 430 360, 530 260, 500 420))");
Geometry point = wktReader.read("POINT (390 380)");

System.out.println("point in geometryA: " + geometryA.contains(point));
System.out.println("point in geometryB: " + geometryB.contains(point));

2.5 空間操作

JTS 提供了豐富的空間操作功能,用于處理和分析幾何對象。這里列舉常見的幾種

空間操作

定義

相交 (Intersection)

計算兩個幾何對象的共同部分

并集 (Union)

合并兩個或多個幾何對象

差集 (Difference)

從一個幾何對象中減去另一個幾何對象

以該圖為例,操作示例代碼如下:圖片

WKTReader wktReader = new WKTReader();
Geometry geometryA = wktReader.read("POLYGON ((320 390, 370 330, 470 360, 460 430, 375 432, 320 390))");
Geometry geometryB = wktReader.read("POLYGON ((500 420, 430 360, 530 260, 500 420))");

System.out.println("Intersection: " + wktWriter.write(geometryA.intersection(geometryB)));
System.out.println("Union: " + wktWriter.write(geometryA.union(geometryB)));
System.out.println("Difference: " + wktWriter.write(geometryA.difference(geometryB)));

下面是 Union 合并后的效果圖片

3、快速判斷是否支持上門

在上門履約實際場景中,需要快速的識別用戶所在位置、地址位置是否在上門服務的覆蓋區域內。轉換成空間關系的判斷上,也就是點是否在多邊形內(PIP,Point-In-Polygon)問題了。

在上述的 JTS 介紹中,已經得知 JTS 提供了 contains 的關系判斷能力。但是這只是解決了單個問題,假設全國共有 N 個多邊形,那么就需要遍歷 N 個多邊形來判斷,復雜度是 O(N),并且還需要全部多邊形加載到內存中。可想而知,直接使用的話會存在性能問題。為此,我們需要一個快速解決 PIP 問題的方案。

3.1 最小外接矩形(MBR)

最小外接矩形 MBR (Minimum Bounding Retangle),是能夠完全包含一個幾何對象的最小矩形。如下圖所示,這個規則的矩形就是該多邊形的 MBR 表示。圖片

表示 MBR 非常簡單,只需要知道他的左下角和右上角,那么就可以知道這個 MBR 圖形了。如下圖所示:圖片

知道了這個最小外接矩形有什么用?可以斷定:如果點不在這個 MBR 內了,那么肯定不在這個多邊形內。所以把點和 MBR 進行比較,就能夠快速排除不可能有關系的多邊形對象。

那么如何快速的判斷點是否在 MBR 中?比較坐標值的大小就可以了。示例代碼如下:

mbr.getLngMin() <= point.getLng()
&& mbr.getLngMax() >= point.getLng()
&& mbr.getLatMin() <= point.getLat()
&& mbr.getLatMax() >= point.getLat()

綜上,MBR 用簡單的矩形來近似表示復雜的幾何形狀,將復雜的空間關系簡化為矩形之間的關系。 通過 MBR 這一層的初步篩選,就能夠快速排除不可能有關系的多邊形對象。

在 JTS 中,Envelope 對象來表示 MBR。代碼示例如下:

WKTReader wktReader = new WKTReader();
Geometry geometryA = wktReader.read("POLYGON ((320 390, 370 330, 470 360, 460 430, 375 432, 320 390))");

Envelope envelope = geometryA.getEnvelopeInternal();
System.out.println(envelope.getMaxX());
System.out.println(envelope.getMaxY());
System.out.println(envelope.getMinX());
System.out.println(envelope.getMinY());

3.2 空間索引

上述構建 MBR 可以理解為簡單索引的一種,實際上有復雜的空間索引。常見空間索引有

  • R 樹(R-tree):平衡樹,適用于多維空間數據(類似一維的 B+樹)
  • 四叉樹(Quad-tree):將二維空間遞歸地分為四個象限
  • 網格(Grid):將空間劃分為規則的網格單元

空間索引的基本原理基本類似,采用分割原理,逐級劃分地理空間。舉個不那么恰當的例子,一個自上而下、逐級劃分地理空間的索引定位過程如下:

北方 還是 南方 ? 南方
廣東 還是 廣西 ? 廣東
深圳 還是 廣州 ? 深圳
福田 還是 南山 ? 福田

JTS 提供了四叉樹和 R 樹的實現

  • Quadtree(四叉樹)
  • STRtree(基于 R 樹的變體)

以這個圖形為例,使用 JTS 構建 R 樹空間索引

圖片

示例代碼如下:

WKTReader wktReader = new WKTReader();
Geometry geometryA = wktReader.read("POLYGON ((320 390, 370 330, 470 360, 460 430, 375 432, 320 390))");
Geometry geometryB = wktReader.read("POLYGON ((500 420, 430 360, 530 260, 500 420))");

STRtree rtree = new STRtree();
// 向R樹種添加MBR,和自己的數據
rtree.insert(geometryA.getEnvelopeInternal(), "Polygon-A");
rtree.insert(geometryB.getEnvelopeInternal(), "Polygon-B");
rtree.build();

// 點只在Polygon-A中
System.out.println(rtree.query(wktReader.read("POINT (337 391)").getEnvelopeInternal()));
// 點只在Polygon-B中
System.out.println(rtree.query(wktReader.read("POINT (496 390)").getEnvelopeInternal()));
// 點在Polygon-A和Polygon-B的交集中
System.out.println(rtree.query(wktReader.read("POINT (452 367)").getEnvelopeInternal()));

3.3 整體方案流程

綜上所述,快速定位點(Point)在哪些多邊形中的具體流程如下:

  1. 先通過 STRtree 構建空間索引
  2. 利用空間索引快速篩選可能包含點的多邊形
  3. 對篩選后的多邊形進行精確的空間關系判斷

多邊形是隨時都有可能可以調整,如果一個多邊形發生了調整就需要重構整顆索引樹。但是在實踐中,為了降低構建索引樹的頻次,通過定時任務去間隔 10 分鐘在內存中構建一次。并且為了減少索引樹占用的內存大小,向索引樹中添加 MBR 關聯的是多邊形的 Id,初篩后再根據 id 從緩存中取具體的多邊形數據進行精確的空間關系判斷,實現一個類似懶加載的過程。

具體流程如下圖所示:圖片

4、幾何圖形的修復處理

在實際運營過程中,畫的圖形各種形狀,會出現不少異常的情況,如點重疊、邊之間細微的間隙、自交等問題。實際操作中還提拱了圖形合并的能力,合并出來的圖像也有可能也是不符合規范的。為此,需要對這些異常的圖像進行修復。

常見的修復手段有兩種

  • Buffer 操作:在幾何對象周圍的創建緩沖區,一般用來修復自相交問題、精度導致的小間隙等
  • Snap 操作:一個幾何對象的頂點捕捉到另一個幾何對象的頂點或邊緣,一般用來修復小的拓撲錯誤

這兩種操作也不是萬能,也是需要自己根據實際情況進行不斷地調整。

下面來看一個修復自交的例子,一個自交的圖形如下所示:圖片

修復代碼示例如下:

WKTReader wktReader = new WKTReader();
Geometry geometryA = wktReader.read("POLYGON ((340 490, 370 330, 730 350, 700 270, 340 490))");

WKTWriter wktWriter = new WKTWriter();
wktWriter.setPrecisionModel(new PrecisionModel(0));
System.out.println(wktWriter.write(geometryA.buffer(0)));

修復之后如下圖所示圖片

5、總結

Java Topology Suite (JTS) 作為一個功能強大的空間數據處理庫,為開發者提供了豐富的工具來處理復雜的空間問題。它在許多地理信息系統得到了廣泛的應用。這里只是對其的一個簡單應用,后續還待更深入的挖掘。

6、參考

  • Java Topology Suite (JTS):https://github.com/locationtech/jts
  • OSGeo中國:https://www.osgeo.cn/
責任編輯:龐桂玉 來源: 轉轉技術
相關推薦

2023-03-02 08:54:32

2023-03-02 08:32:41

2024-07-17 21:02:42

2018-05-16 16:13:49

開發架構師轉型

2025-03-28 11:35:36

數字化轉型

2021-09-22 09:54:42

數字化

2025-07-18 12:20:12

2018-12-13 05:30:24

2023-06-06 10:25:53

面部識別智慧城市

2018-05-03 09:28:32

程序員避坑指南

2018-04-23 09:16:47

程序員知識體系

2022-12-09 08:45:08

運維數字化轉型

2021-12-07 23:07:41

區塊鏈音樂產業技術

2024-02-26 15:35:04

2023-03-02 13:32:02

2024-09-04 09:36:27

2020-06-01 11:01:28

智慧城市物聯網技術

2019-04-10 16:35:39

華為智能計算智能服務器

2023-09-05 10:30:51

智能交通智慧城市

2024-01-30 11:41:36

6G技術邊緣計算
點贊
收藏

51CTO技術棧公眾號

亚洲黄色成人网| 国产欧美日韩不卡免费| 欧美第一淫aaasss性| 久久久久中文字幕亚洲精品| av在线中出| 中文字幕成人av| 动漫一区二区在线| 免费观看日批视频| 自拍偷拍欧美| 亚洲免费伊人电影在线观看av| jizz大全欧美jizzcom| 久久av色综合| 中文av一区特黄| 国产成人精品福利一区二区三区| 日本中文字幕在线观看视频| 亚洲天堂一区二区三区四区| 日韩精品免费在线| 天美一区二区三区| 欧美日韩成人影院| 亚洲一区二区在线观看视频| 欧美系列一区| 黄色福利在线观看| 精品亚洲免费视频| 日韩av电影中文字幕| 青娱乐国产在线| 欧美精品一区二区三区中文字幕| 亚洲成人激情视频| 8x8x成人免费视频| 成人免费网站www网站高清| 亚洲一区二区三区四区不卡| 亚洲v国产v| 日韩精品视频在线观看一区二区三区| 国产91精品欧美| 国产欧美在线看| 国产又粗又猛又黄视频| 在线欧美不卡| 久久99久久99| 亚洲午夜久久久久久久久久久| 日韩中文字幕一区| 三级在线视频| 99re视频这里只有精品| 99视频免费观看蜜桃视频| 91国产免费视频| 日日嗨av一区二区三区四区| 国内外成人免费激情在线视频网站| 国产18无套直看片| 精品亚洲成人| 国产午夜精品一区二区三区| 免费观看av网站| 日本午夜精品| 亚洲精品久久久久久久久久久| 一区二区三区四区影院| 日本一区二区三区播放| 欧美一级国产精品| 日本特黄在线观看| 免费看日产一区二区三区 | 日韩av最新在线| 美女露出粉嫩尿囗让男人桶| 成人另类视频| 亚洲精品成人久久| 右手影院亚洲欧美| 亚洲精品中文字幕99999| av午夜精品一区二区三区| 欧美日韩一区二区三区 | 自拍视频一区二区| 牛牛影视一区二区三区免费看| 精品国产伦一区二区三区观看体验 | 欧美性一二三区| 九色porny自拍| 亚洲在线资源| 日韩欧美卡一卡二| 国产免费a级片| 女仆av观看一区| 亚洲老板91色精品久久| 在线免费看黄视频| 日韩精品91| 日韩最新av在线| 欧美日韩三级在线观看| 国产综合精品一区| 2019中文字幕在线免费观看| 少妇久久久久久久| 韩国v欧美v日本v亚洲v| 国产91免费视频| 午夜精品电影在线观看| 波多野结衣日韩| 麻豆91在线观看| 99久久99| 国模吧精品人体gogo| 中文在线资源观看网站视频免费不卡 | 国产精品传媒| 亚洲免费视频网站| 97在线观看免费高| 日韩网站在线| 国产精品自拍小视频| 午夜精品久久久久久久99老熟妇| 99国产精品久久久久| 视频一区视频二区视频三区视频四区国产 | 青青草视频在线观看免费| 狠狠色丁香久久婷婷综| 久久99精品久久久久久久久久| 国产一级片在线| 亚洲精品国产a| 99色精品视频| 欧美午夜网站| 亚洲一区av在线播放| 欧美日韩在线观看免费| 久久九九国产| 鬼打鬼之黄金道士1992林正英| 免费看91视频| 日本免费不卡视频| 欧美激情在线看| 成年人网站国产| 成人在线观看免费播放| 精品国产伦一区二区三区观看体验| 久久国产柳州莫菁门| 欧美三级黄美女| 国产自产女人91一区在线观看| 日本xxxxxwwwww| 中文字幕亚洲一区二区va在线| 国产一区二区视频播放| 国产日韩欧美中文在线| 亚洲图片制服诱惑| 精品成人久久久| 国产一区二区看久久| 热re99久久精品国产99热| 1234区中文字幕在线观看| 欧美日韩一区二区三区四区 | 国产成人精品福利| 久久精品99国产精品酒店日本 | 国产亚洲欧洲| 成人情视频高清免费观看电影| 在线国产91| 色婷婷综合久久| 亚洲精品乱码久久| 欧美欧美天天天天操| 成人激情av在线| 超碰国产在线观看| 日韩欧美综合在线视频| 久久久午夜精品福利内容| 欧美成人一品| 亚洲一区中文字幕在线观看| 91露出在线| 欧美亚洲国产一区二区三区va| 日本黄色片在线播放| 亚洲福利国产| 国产伦精品一区二区三区视频孕妇| 成人影院在线观看| 91精品国产一区二区| 北条麻妃在线观看视频| 麻豆91小视频| 伊人久久av导航| 久久久久久久性潮| 日韩中文娱乐网| 一级黄色录像大片| 国产精品美女一区二区三区| 亚洲欧美日韩一级| 日韩国产欧美| 95av在线视频| 污污视频在线看| 日韩视频网站在线观看| 欧美在线免费观看视频| 欧美激情视频二区| 秋霞国产午夜精品免费视频| 特级西西444www大精品视频| 国产亚洲精品精品国产亚洲综合| 在线日韩av观看| 一二三区中文字幕| 亚洲精品videosex极品| 国产a√精品区二区三区四区| 亚洲一本视频| 日本视频一区在线观看| 高清欧美日韩| 久久国产视频网站| 天天操天天爱天天干| 91久久精品日日躁夜夜躁欧美| 日韩一级片在线免费观看| 激情综合色丁香一区二区| 天天想你在线观看完整版电影免费| 亚洲精品一区二区三区中文字幕| 性色av香蕉一区二区| 国产免费永久在线观看| 欧美一区中文字幕| 日本一区二区欧美| 欧美韩日一区二区三区| 免费看的av网站| 一区二区三区四区五区精品视频| 欧美视频小说| 年轻的保姆91精品| 欧美在线性视频| 日本美女高清在线观看免费| 精品美女一区二区三区| 欧美超碰在线观看| 亚洲黄色尤物视频| 在线免费看黄视频| 国产精品 欧美精品| 97超碰青青草| 最新精品国产| 奇米视频888战线精品播放| 麻豆一区在线| 国产精品白丝jk喷水视频一区| 动漫一区在线| 亚洲视频一区二区| 午夜精品小视频| 在线观看欧美黄色| 国产一级特黄毛片| 中文字幕中文字幕一区二区| 亚洲男女在线观看| 狠狠狠色丁香婷婷综合激情| 麻豆av免费在线| 午夜日本精品| 亚洲人成77777| 蜜桃成人av| 国产福利不卡| 成人亚洲精品| 亚洲国产电影在线观看| 国产欧美一区二区三区另类精品| 成人在线黄色| 欧美亚洲国产日本| 羞羞污视频在线观看| 亚洲一二三在线| 神马精品久久| 精品国产人成亚洲区| 国产精品视频在线观看免费| 一本一道久久a久久精品综合蜜臀| 久久久一二三区| 亚洲欧洲性图库| 国产综合精品久久久久成人av | 天堂久久久久久| 成人性视频网站| 奇米777在线| 韩日av一区二区| 日本三级黄色网址| 免费在线看成人av| 日韩精品一区二区三区不卡| 亚洲毛片av| 国内精品视频一区二区三区| 欧美成人日韩| 国产a级黄色大片| 亚洲蜜桃视频| 国产精品美女在线播放| 91免费精品| 手机福利在线视频| 久久香蕉国产| 伊甸园精品99久久久久久| 成人系列视频| 亚洲一卡二卡三卡四卡无卡网站在线看| 久久99国产精品视频| 六十路精品视频| 精品在线播放| 日韩视频在线播放| 大片网站久久| 亚洲欧美日韩在线综合| 久久综合成人| 超碰在线免费观看97| 亚洲精品a级片| 欧美激情亚洲天堂| 亚洲电影av| 狠狠爱免费视频| 日韩极品在线观看| 激情五月婷婷基地| 国产乱码一区二区三区| 91传媒理伦片在线观看| 成人黄色小视频在线观看| 亚洲精品在线视频免费观看| 2024国产精品| 欧美福利在线视频| 亚洲色图另类专区| 国产一级在线播放| 欧美日韩一区免费| 国产成人精品亚洲| 91精品久久久久久蜜臀| 乱精品一区字幕二区| 日韩h在线观看| 成人亚洲性情网站www在线观看| 国产亚洲精品美女久久| 国产精品一区二区久久久| 国产精品久久久久久妇女| 国产在线精品自拍| 99re8这里有精品热视频免费| 精品久久久久久综合日本| 国产欧美日韩精品一区二区三区| 亚洲精品一区国产精品| 欧美成人一区二免费视频软件| 成 年 人 黄 色 大 片大 全| 石原莉奈在线亚洲二区| 国产无遮挡猛进猛出免费软件 | www.17c.com喷水少妇| 久久综合色天天久久综合图片| 一二三四国产精品| 亚洲一区二区av在线| 免费视频网站在线观看入口| 91精品一区二区三区久久久久久 | 综合欧美国产视频二区| 久久av色综合| 国产精品视频网| 国产精品久久久久久久久久白浆| 欧洲在线视频一区| 黄色日韩在线| 亚洲少妇久久久| av不卡在线播放| 天天色天天综合| 欧美视频一二三| 国产片在线播放| 一区二区三区久久精品| 福利小视频在线| 国产在线999| 久久爱www成人| 高清欧美精品xxxxx| 久久国产精品99久久久久久老狼| 97精品人妻一区二区三区蜜桃| 国产精品久久综合| 台湾佬中文在线| 精品成人免费观看| 欧美激情黑人| 国产福利精品视频| 久久1电影院| 91免费国产精品| 精品一区二区三区不卡| 免费看污片的网站| 亚洲超丰满肉感bbw| 国内精品偷拍视频| 日韩在线视频导航| 日日av拍夜夜添久久免费| 国产一区在线免费观看| 午夜欧美精品| 天天久久综合网| 国产精品免费看片| 91精品视频免费观看| 一区二区三区四区日本视频| 99久久精品无码一区二区毛片| 四虎国产精品免费观看| 久草在在线视频| 久久久久国产精品麻豆ai换脸| 五月天婷婷网站| 欧美不卡在线视频| 91麻豆免费在线视频| 91精品视频网站| 91精品蜜臀一区二区三区在线| 色噜噜狠狠永久免费| 国产精品久久一级| 一级做a爰片久久毛片16| 色噜噜久久综合伊人一本| 亚洲精品国产嫩草在线观看| 欧美精品v日韩精品v国产精品| 日韩视频中文| 久久久久麻豆v国产精华液好用吗| 亚洲国产你懂的| 四虎在线视频免费观看| 午夜剧场成人观在线视频免费观看| 99久久免费精品国产72精品九九| 青青在线视频免费观看| 国产盗摄视频一区二区三区| 91视频免费在线看| 精品国产乱码久久久久久久| av在线加勒比| 精品国产乱码久久久久久88av | 欧美日韩电影在线观看| 国产一区二区三区黄网站| 影音先锋成人资源网站| 国产成人福利片| 国产精品成人国产乱| 亚洲精品美女在线观看| 另类图片综合电影| 日韩精彩视频| 欧美zzoo| 色综合中文字幕国产| 韩国中文字幕2020精品| 国产精品伦子伦免费视频| 欧美黄色大片在线观看| 无码人妻少妇色欲av一区二区| 国产精品字幕| 欧美伊久线香蕉线新在线| 欧美禁忌电影网| 国产成年人视频网站| 伊人婷婷欧美激情| 五月天婷婷社区| 国产精品91久久久久久| 999久久久亚洲| av电影中文字幕| 日韩欧美在线免费| h网站在线免费观看| 97在线资源站| 亚洲欧美高清| 欧美巨胸大乳hitomi| 日韩欧美一区二区三区在线| 国产网红在线观看| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 国产成人亚洲综合a∨婷婷| 日韩av综合在线| 国产一区二区三区在线播放免费观看| 9.1麻豆精品| www.av毛片| 国产精品三级电影| 成人精品在线播放| 国产成人综合久久| 黄色亚洲在线| 老司机福利在线观看| 精品电影一区二区| 国产欧美自拍| 成人av一级片|