精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

www.偷拍.com| 91制片厂免费观看| 自拍偷拍18p| 久久蜜桃av| 91精品国产综合久久久久久漫画| 好色先生视频污| 四虎永久在线观看| 久久久国产亚洲精品| www.99久久热国产日韩欧美.com| 少妇精品无码一区二区| 亚洲欧洲日本韩国| 亚洲天天做日日做天天谢日日欢| 国产成人女人毛片视频在线| 久草手机在线视频| 亚洲成av人片乱码色午夜| 亚洲激情小视频| 亚洲综合av在线播放| 草美女在线观看| 国产欧美一区二区在线| 国产精品久久精品国产| 亚洲精品一区二区二区| 亚洲欧洲一区| 久久精品国产成人| 熟女俱乐部一区二区| 久久国产精品美女| 欧美伊人精品成人久久综合97| 2022中文字幕| av播放在线观看| 不卡的av网站| 亚洲在线观看视频网站| 中文字幕第一页在线播放| 亚洲高清资源| 欧美精品一二区| 国产精品成人在线视频| 天天做夜夜做人人爱精品| 日韩欧美一卡二卡| 女同激情久久av久久| 亚洲欧美一区二区三区| 亚洲r级在线视频| 婷婷视频在线播放| 午夜在线小视频| 91在线一区二区三区| av噜噜色噜噜久久| 国产一区二区波多野结衣| 久久视频一区| 欧美黑人巨大xxx极品| 天天做夜夜爱爱爱| 欧美gayvideo| 最近2019年手机中文字幕| 亚洲av综合一区二区| 久久电影在线| 亚洲成人久久电影| 国产+高潮+白浆+无码| 影音先锋欧美激情| 日韩一级片在线播放| 8x8x成人免费视频| a一区二区三区亚洲| 欧美日韩另类一区| 污片在线免费看| 日韩欧美少妇| 在线免费不卡视频| 婷婷六月天在线| 成人精品国产| 欧美日韩一级视频| 久久人人爽av| 国产成人免费av一区二区午夜| 欧美日韩精品一区二区| www.污污视频| 综合欧美亚洲| 亚洲成年网站在线观看| 亚洲av永久无码精品| 精品福利一区| 日韩精品黄色网| 37p粉嫩大胆色噜噜噜| 亚洲国产网址| 亚洲网站视频福利| 成人在线观看免费高清| 久久精品不卡| 欧美激情国产日韩精品一区18| 国产一级片久久| 夜夜嗨网站十八久久| 国产69精品久久久久久| 超碰在线观看91| 麻豆精品一区二区av白丝在线| 国产区精品视频| 国产美女免费看| 国产+成+人+亚洲欧洲自线| 国产区一区二区三区| 三级av在线| 国产偷国产偷精品高清尤物| 一本一生久久a久久精品综合蜜| 成人福利在线观看视频| 午夜精品一区二区三区电影天堂 | 欧美黑人性猛交| 日本三级2019| 日本午夜精品视频在线观看 | 男女视频免费看| 久久久久久穴| 成人在线精品视频| 亚洲 欧美 激情 小说 另类| 国产精品免费网站在线观看| 97干在线视频| 成人国产网站| 亚洲国产日韩欧美在线动漫| 日本人亚洲人jjzzjjz| 欧美激情五月| 国产精品ⅴa在线观看h| 精品二区在线观看| 国产亚洲婷婷免费| 激情五月婷婷六月| 成人国产综合| 亚洲精品中文字幕av| 在线观看美女av| 麻豆九一精品爱看视频在线观看免费| 91情侣偷在线精品国产| 青青青草网站免费视频在线观看| 亚洲色图另类专区| 天堂社区在线视频| 久久男人av| 久久国产色av| 国产成人av免费| 99久久国产综合精品女不卡| 在线无限看免费粉色视频| a欧美人片人妖| 精品少妇一区二区三区免费观看| 99精品全国免费观看| 国产日韩免费| 91嫩草在线| 午夜精品一区| 欧美日韩亚洲精品内裤| 激情小说欧美色图| 天天色综合色| 国产精品久久久久久亚洲影视| 秋霞网一区二区| 亚洲精品视频在线| 午夜免费看毛片| 国模吧精品视频| 91av视频在线免费观看| 亚洲精品97久久中文字幕| 国产精品二区一区二区aⅴ污介绍| 久久精品.com| 天美av一区二区三区久久| 久久久久久久激情视频| 亚洲国产剧情在线观看| 亚洲精品国产成人久久av盗摄 | 九九视频免费在线观看| 精品亚洲免费视频| 亚洲亚洲精品三区日韩精品在线视频| 欧美一级大片| 亚洲欧美国产精品va在线观看| 九九热国产视频| 成人永久免费视频| 欧美成人精品免费| 伊人久久影院| 午夜精品一区二区三区在线视 | 亚洲美女精品成人在线视频| 波多野结衣国产| 白白色 亚洲乱淫| 拔插拔插海外华人免费| 国产伦精品一区二区三区在线播放 | 欧美亚洲tv| 91禁国产网站| 欧洲毛片在线| 欧美在线你懂得| 亚洲天堂精品一区| 久久99精品国产麻豆婷婷洗澡| 亚洲欧洲国产日韩精品| 亚洲精品69| 欧美精品日韩www.p站| 黄色美女一级片| 精品久久久久久久久久ntr影视| 漂亮人妻被黑人久久精品| 国产精品美女久久久| 日韩wuma| 一级欧美视频| 久久久久九九九九| 天堂a中文在线| 欧美在线不卡一区| 天天爽天天爽天天爽| 国产精品综合一区二区| 91丨porny丨探花| 久9久9色综合| 91精品久久久久久久久久| 中中文字幕av在线| 亚洲精品国产福利| 五月天中文字幕| 亚洲精品伦理在线| 中文字幕乱码一区| 免费成人你懂的| 亚洲色婷婷久久精品av蜜桃| 欧美成a人免费观看久久| 日本一区二区三区四区视频| 最新国产在线观看| 日韩精品一区二区三区在线观看| 91美女免费看| 亚洲欧美综合另类在线卡通| 欧美熟妇精品一区二区蜜桃视频| 日本中文字幕一区| 福利视频免费在线观看| 国产一区99| 99re在线国产| 国产成人免费9x9x人网站视频| 欧美成人亚洲成人日韩成人| 亚州av在线播放| 欧美人伦禁忌dvd放荡欲情| 亚洲黄色一区二区| 最新热久久免费视频| 你懂的在线观看网站| 国模无码大尺度一区二区三区| 国产精品沙发午睡系列| 一区二区三区网站| 日本一区二区三区免费看| 欧洲精品99毛片免费高清观看 | 国产美女久久| 性欧美激情精品| jizzjizz亚洲| 国产亚洲人成a一在线v站| 性一交一乱一色一视频麻豆| 欧美在线免费播放| 伊人久久综合视频| 亚洲女女做受ⅹxx高潮| 人人人妻人人澡人人爽欧美一区| 国产成人免费视频精品含羞草妖精 | 色综合天天综合网国产成人综合天| 色欲人妻综合网| 国产日韩欧美激情| 国产精品无码专区| 国产精品77777竹菊影视小说| 美女网站视频黄色| 久久久久久穴| 亚洲午夜精品久久久久久人妖| 午夜精品视频一区二区三区在线看| 免费成人av网站| 91在线一区| 亚洲在线观看视频网站| 日本国产亚洲| 国产免费成人av| free欧美| 日本久久久久久| 天堂网在线最新版www中文网| 久久久久久久999精品视频| 宅男在线观看免费高清网站| 久久好看免费视频| 日本在线免费网| 最近2019中文字幕大全第二页| 韩国中文字幕2020精品| 亚洲精品自拍偷拍| 深夜福利在线观看直播| 亚洲精品一区二区三区影院| 亚洲av无码国产综合专区| 日韩一级高清毛片| 精品国产av一区二区| 日韩一区二区中文字幕| 999久久久久| 日韩一级欧美一级| 亚洲黄色在线播放| 亚洲国产精品人人爽夜夜爽| 免费激情视频网站| 亚洲成人黄色网| 深夜影院在线观看| 亚洲深夜福利在线| av黄色在线观看| 久久精品久久久久久国产 免费| 乱人伦中文视频在线| 久青草国产97香蕉在线视频| 69xxx在线| 国模精品系列视频| 成人线上视频| 国产精品夜色7777狼人| 国产精品一区二区美女视频免费看| 91色琪琪电影亚洲精品久久| 一区二区三区在线免费看 | 国产精品x8x8一区二区| 精品欧美一区二区在线观看视频 | 日韩欧美激情一区二区| 欧美激情偷拍自拍| 国产激情片在线观看| 一本色道久久| 日本成人中文字幕在线| 久久se这里有精品| 亚洲AV成人精品| 91在线观看污| 色撸撸在线视频| 一区二区三区免费在线观看| 99视频在线看| 欧美性猛片xxxx免费看久爱 | 亚洲国产成人精品一区二区 | 日韩亚洲欧美中文高清在线| 免费在线国产视频| 国产成人拍精品视频午夜网站| 国内精品视频| 久久波多野结衣| 欧美丰满老妇| 青青青免费在线| 蜜芽一区二区三区| 欧亚乱熟女一区二区在线| 中文一区一区三区高中清不卡| www.色小姐com| 色婷婷亚洲精品| www.久久久久久久久久| 亚洲裸体xxxx| 在线免费观看的av| 国产mv久久久| 91精品导航| 亚洲乱码一区二区三区| 亚洲精品美女91| 精品久久久99| 91蜜桃在线观看| 国产精品白丝喷水在线观看| 岛国视频午夜一区免费在线观看 | 久久成人久久爱| 亚洲天堂美女视频| 亚洲免费三区一区二区| 少妇久久久久久久| 亚洲精品在线观| 麻豆tv免费在线观看| 国产精品美女久久| 加勒比色老久久爱综合网| 在线国产精品网| 裸体一区二区| 天堂久久久久久| 亚洲精品国产一区二区精华液 | av网址在线免费观看| 欧美在线免费观看| 视频国产精品| 亚洲午夜精品一区二区 | 国内外成人免费激情在线视频网站 | 免费成人三级| 国产91视频一区| 久久精品国产亚洲a| 久久久视频6r| 欧美性xxxx极品hd欧美风情| 人妻中文字幕一区| 欧美国产亚洲视频| 亚洲精品一区国产| 四虎永久免费网站| 久久精品99国产精品日本| 欧美图片第一页| 懂色av一区二区三区| 天天爱天天干天天操| 欧美激情2020午夜免费观看| 日本一区二区三区播放| 黄色一级视频播放| 精品一区二区三区免费播放| 亚洲色图日韩精品| 欧美在线播放高清精品| 川上优的av在线一区二区| 国产精品18久久久久久麻辣| 国产亚洲一区二区三区啪| www.天天射.com| 国产精品丝袜久久久久久app| 免费黄色片视频| 国产一区二区三区视频| 亚洲欧美在线成人| 亚洲精品9999| 热久久国产精品| 女人十八毛片嫩草av| 欧美色欧美亚洲另类二区| 992tv免费直播在线观看| 国产精品三级网站| 99re6这里只有精品| 精品综合久久久久| 亚洲欧洲中文日韩久久av乱码| 国产美女www爽爽爽视频| 欧美激情一区二区三区高清视频| 99久久香蕉| 日韩精品视频一区二区在线观看| 久久综合九色综合久久久精品综合| 日韩三级一区二区| 在线观看欧美日韩| 国产精品18| 男女激情免费视频| 久久久综合九色合综国产精品| 国产成人麻豆免费观看| xxav国产精品美女主播| 在线日韩成人| 亚洲精品无码久久久久久| 中文字幕高清不卡| 99在线精品视频免费观看20| 久久久久久伊人| 沈樵精品国产成av片| 加勒比av中文字幕| 亚洲不卡av一区二区三区| 欧美色图另类| 亚洲japanese制服美女| 99国产一区| 殴美一级黄色片| 精品国产一区二区国模嫣然| 日韩av大片站长工具| 成人性做爰片免费视频| 99精品欧美一区二区蜜桃免费| 亚洲午夜在线播放| 欧美激情手机在线视频 | 日韩欧美一区在线| 色戒汤唯在线观看| 一级二级三级欧美| 99精品1区2区| 国产精品区在线观看| 欧美亚洲在线视频| 欧美激情第二页|