《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于Java的ArcSDE空間數據查詢的設計與實現

基于Java的ArcSDE空間數據查詢的設計與實現

2009-01-15
作者:樊昱,高紅雨,廖湖聲

1.引言?

??? 近年來,地理信息系統(GIS)發展迅速。為了在全球范圍內實現GIS軟件組件的互操作性,OGC(Open GIS Consortium)提出了空間要素服務(WFS)的實現規范[1],有利于解決基于Web的GIS軟件的數據共享、互操作性和開放性等問題。

??? WFS是OGC提出的一種空間要素服務。它將Web服務應用于地理信息系統,允許客戶端通過互聯網從多個服務器端獲取以地理標注語言GML(Geography Markup Language)編碼的空間地理數據。

??? 空間數據的查詢是通過發送GetFeature請求來實現的。在WFS的實現規范中,一個GetFeature請求是由空間要素類型、屬性和查詢條件三部分組成,以XML格式定義。其中要素類型用于指定查詢哪類要素,屬性用于指定需獲取該要素的哪些屬性,而查詢條件用于篩選出滿足指定條件的要素。?

??? 我們的課題是需要實現一個基于J2EE的WFS系統;其中存儲空間數據的數據源采用的是ArcSDE(ESRI公司開發的空間數據庫軟件),在查詢數據源ArcSDE時使用其自身提供的客戶端應用接口。由于ArcSDE應用接口與WFS應用接口之間存在著差異,因此需要對收到的WFS GetFeature請求作一些適當的變換,以適應ArcSDE的數據查詢。

??? 本文將著重介紹以WFS GetFeature請求查詢ArcSDE的實現方法,以及必要的變換算法。

2.設計思想?

??? WFS應用接口與ArcSDE應用接口之間的主要差異在于查詢條件的設置。

首先,在數據格式方面,WFS GetFeature請求中的查詢條件是以XML格式定義,而ArcSDE的應用接口不支持XML,因此需要對此XML字符串進行解析。

??? 其次,在數據內容方面,GetFeature的查詢條件可以分為兩類,一類以要素標識符作為查詢條件;另一類是由空間篩選條件,或者非空間篩選條件,或者這二者的邏輯組合組成的查詢條件。每次查詢只能選用其中一類查詢條件,兩類不能同時出現在一次查詢中。對第一類GetFeature的查詢條件,在ArcSDE的應用接口中提供了一種用要素標識符作為約束條件的篩選器對象來處理此類條件。對于第二類查詢條件,在ArcSDE中可以通過定義SQL屬性查詢來處理GetFeature請求中的非空間篩選條件,而通過添加空間約束的篩選器則可處理請求中的空間篩選條件。對于空間和非空間篩選條件的邏輯組合組成的條件,則相對不易處理。由于在查詢ArcSDE時空間篩選器需以數組的形式設置,使得空間篩選條件之間只能以邏輯“與”的關系進行組合。同樣,由于空間和非空間篩選分開設置,使得空間與非空間篩選條件之間也只能以邏輯“與”的關系進行組合。而在實際的GetFeature請求的查詢條件中,查詢請求可能是由“與”、“或”、“非”三種邏輯關系任意混合組成,條件之間的組合不一定能滿足上述ArcSDE篩選條件的要求。我們在這里提出了一種解決的方案:對查詢條件提取析取范式,轉換成多個“與”項組合(有的與項組合有可能只有一項)的并集,然后對每個“與”項組合組織一次子查詢,每次得到一個結果集,最后對所有的結果集再取并集,即為整個查詢的結果集。

3.算法設計?

??? 根據上面分析的結果,將整個查詢變換分為兩個步驟:

??? (1)對XML格式的查詢條件進行DOM解析。DOM處理XML文檔時會將XML文檔加載到內存中生成一棵DOM節點樹,可以方便地實現遍歷。

??? (2)對查詢條件提取析取范式,將不符合ArcSDE要求的查詢條件拆分為多次。

??? (2.1)遍歷DOM樹同時生成BLRTree,用以去除Not節點,并將非空間條件轉換為SQL語句,將空間條件封裝為特定的類結構。

??? 由于在GetFeature查詢條件的DOM樹中的可能存在著Not節點,而且根據GetFeature查詢條件的格式,所有單個的空間或非空間篩選條件在樹中是以一棵子樹的形式存在,而不是一個節點,因此還不能直接作邏輯關系的轉換,需要對這棵DOM樹進行“化簡”。為了不改變原樹的邏輯,本文定義了一種二叉樹數據結構BLRTree(二元邏輯關系樹—Binary Logic Relation Tree)。在遍歷原DOM樹的過程中,自底向上構造這一數據結構。在BLRTree中,所有的樹枝節點都是二元邏輯運算符“And”或“Or”,而所有的葉子節點都是單個的查詢條件。這種處理是將Not節點作為函數遞歸的一個布爾值參數truth傳遞給下層,在沒有遇到Not節點時,truth都為“true”,而如果遇到了Not節點,只是將truth取反(注意:是取反,而不是取“false”值),并不在Not節點上作任何處理操作,這樣對其下層的子節點就可以根據truth的取值來進行構造相應的了BLRTree子樹。原DOM樹中的所有Not節點在BLRTree中已根據摩根定率降至葉子節點處,且不以節點的形式存在,而并作為條件節點的一個布爾值參數。

??? (2.2)遍歷(后序)BLRTree同時生成O_A_C_Tree,根據分配率和結合律進行邏輯關系變換提取析取范式。

??? BLRTree樹構造完畢后,如果發現樹根是一個條件節點,則不必作邏輯關系轉換。如果是邏輯操作符節點則需進行邏輯關系的轉換。由于最終的結果是多個與項組合的并集(析取范式結構),即將多個與項組合“或”起來。若把每個與項組合中的所有條件項看作是同一層,而把每個與項組合之間看作是同一層,最上層的“或”關系為一層,則可將一個多個與項組合的并集用一種3層孩子兄弟樹的結構來表示。因此定義了一種3層孩子兄弟樹的數據結構O_A_C_Tree(Or-And-Condition Tree)來輔助轉換。在后序遍歷BLRTree的同時,從條件節點開始構造子樹。如遇到Or節點,則通過結合律將左右子樹進行合。而遇到And節點,則通過分配律將左右子樹進行合。如此遞歸操作生成一棵完整的O_A_C_Tree,完成邏輯關系的轉換。

??? (2.3)遍歷O_A_C_Tree,將所有篩選條件放置到兩個數組中,以便于訪問。

??? 完成了邏輯轉換之后,原查詢條件將被放置到兩個數組whereclauses[]和spatialfilters[][]中。其中whereclauses[]是非空間條件組,數組中每個元素代表一次查詢的非空間篩選條件。由于非空間篩選條件是以SQL語句的形式存在,一次子查詢中的非空間篩選條件用邏輯“與”可合并為一個整體,因此一次子查詢中的所有非空間篩選條件可以合并只用一個元素來表示。spatialfilters[][]是空間條件數組,數組中的每一維代表一次子查詢的所有空間篩選條件。用whereclauses[]中的一個元素,再搭配spatialfilters[][]中的相應一組元素(如whereclauses[i]和spatialfilters[i][]可以構成第i次子查詢的篩選條件)就可以構成一次ArcSDE子查詢的全部篩選條件。

??? 如此便可完成一次查詢變換,根據數組的內容就可以設置相應的篩選條件,進行查詢。在處理結果時,將每個取到的結果其封裝成GML格式,寫到輸出流中。這樣不必保存查詢的要素對象實體,降低了系統開銷。由于在對組合條件進行條件拆分的時候,將一次查詢分成了多次子查詢,因此每次子查詢的結果集之間可能會有重復的情況,這時需要將其中重復的結果舍去。由于要素標識符都是唯一確定的,這樣只需把查到過的要素標識符記錄下來,下次再遇到標識符相同的要素將會跳過而不做任何操作。由于查詢的數據量可能會很大,如果只將標識符的值順序的存儲在一個表中,進行查找的開銷會很大,因此為了利于新值的插入和加快查找的速度,本文選擇以二叉排序樹為存儲結構,使用了二叉樹查找算法。

4.算法實現?

?? 關鍵算法:

算法2.1 構造二元邏輯關系樹:?

BLRTreeNode construct ( Node root , boolean truth ){? //root 為DOM樹中的根節點?

?????? if? root為and(/or)? Then? ?

對root的左子樹作construct( root.Lchild , truth )得到Lchild ?

對root的右子樹作construct( root.Rchild , truth )得到Rchild ?

if? truth為true Then?

創建一個and(/or)節點,將Lchild,Rchild作為左右孩子?

Else?

創建一個or(/and)節點,將Lchild,Rchild作為左右孩子?

Endif?

返回新創建的節點?

Endif?

if? root為not?? Then? //not是單目的邏輯運算符,只有一棵子樹?

????????????? if? root的孩子也為not? Then?

????????????? ???? 對root的孫子樹作construct(root.Grandchild, truth)?

????????????? ???? 得到grandchild節點,將其返回?

????????????? Else?

truth取反?

對root的子樹作construct(root.child, truth)?

得到child節點,將其返回?

????????????? Endif?

?????? Endif?

?????? if? root為非空間條件節點??? Then?

????????????? ?? 根據truth 構造非空間條件節點, 將其返回?

Else if? root為空間條件節點??? Then?

????????????? ?? 根據truth 構造空間條件節點, 將其返回?

?????? Endif?

}?

算法2.2? 等價構造析取范式結構樹:?

ORNode LogicTransform ( BLRTreeNode root ){? //root 是BLRTree的根節點?

if? root . Lchild是條件節點??? then?????? ?

????????????? 生成condNode節點cond1 ?

??? ? ??? 新添一個ANDNode節點and1,孩子指針指向cond1?

?????? 新添一個ORNode節點or1,孩子指針指向and1?

Else? 對左子樹作LogicTransform (root . Lchild ),得到or1?

Endif?

if? root . Rchild是條件節點??? then?????? ?

????????????? 生成condNode 節點cond2?

?????? 新添一個ANDNode節點 and2,孩子指針指向cond2?

??? ? ??? 新添一個ORNode 節點or2,孩子指針指向and2?

Else? 對右子樹作LogicTransform (root . Rchild ),得到or2?

Endif?

? if?? root為Or節點? then? ?? ?

將or2節點的所有孩子添加到or1節點的孩子鏈上去?

?????? 返回or1節點?

Endif?

? if?? root為And節點? then?

新添一個ORNode節點newOR?

for( i = 0;i < or1節點孩子個數;i++ ) {?

? for( j = 0;j < or2的孩子個數;j++) {?

新添一個ANDNode節點newAnd?

將or1的第i個孩子的所有子孩子和or2的第j個孩子的所有子孩子都添加到newAnd節點的孩子鏈上去,作為newAnd的共同的孩子?

為newOR的添加一個孩子newAnd?

?????? }?

}?

?????? 返回newOR節點?

Endif?

}n

??? 下面舉一實例來表現轉換的全過程:?

??? 要求查找所有屬于M州,且不同時滿足人口大于100000和與一條起止點坐標為(-50 20,-57 22)的河流相交的城市。?

查詢條件如下:?

?

?

StateName?

??? M?

?

?

?

??????? ?

??????????? Population?

??????????? 100000?

??????? ?

??????? ?

??????????? Feature?

??????????? ?

??????????????? < gml:coordinates>-50,20 –57,22?

??????????? ?

??????? ?

??? ?

?

(1)對XML的查詢條件進行DOM解析后,生成DOM節點樹?

?????? (2.1)遍歷DOM樹同時生成BLRTree:

圖1? 生成BLRTree?

?????? (2.2)遍歷BLRTree樹同時生成O_A_C_Tree?

圖2? 生成O_A_C_Tree?

?????? (2.3)遍歷O_A_C_Tree輸出到數組中?

whereclauses[0] =? “StateName=‘M’ And Not Population >100000”?

????

whereclauses[1] =? “StateName=‘M’”?

n?

n?

filters[0]置空

filters[1][0]為不滿足與線相交的空間條件

5、結束語

??? 本文在對比了WFS GetFeature查詢請求的格式與數據源ArcSDE的查詢的基礎上,提出了一種將WFS的要素查詢變換為ArcSDE查詢對象的變換算法,并著重介紹了以WFS的應用接口對數據源ArcSDE進行查詢實現的實現方法。

??? 在轉換的過程中為了實現數據的接口一致性,進行一系列的數據轉換,這勢必增加系統的負擔,降低系統的效率。因此,還需要在系統的優化方面作進一步的研究。

參考文獻

1.?Open GIS Consortium Inc.,Feature Service Implementation Specification 1.0.0 (02-058) ,Version 1.0.0, 19-September-2002

2.?Open GIS Consortium Inc.,OpenGIS Filter Encoding Implementation Specification 1.0.0 (02-059),Version 1.0.0, 19-September-2001

3.?Open GIS Consortium Inc.,OpenGIS Geography Markup Language (GML) Implementation Specification (02-009),Version 2.1.1, 25-April-2002

4. ESRI,ArcSDE Developer Help 8.3 2003年

5.?Don Box, Aaron Skonnard和John Lam著,卓棟濤譯。XML 本質論。中國電力出版社,2003年3月第一版

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          99精品99久久久久久宅男| 亚洲美女少妇无套啪啪呻吟| 国产日韩精品在线| 国产综合色一区二区三区| 国产精品一级久久久| 国产精品www994| 欧美成人激情视频免费观看| 久久视频一区| 最新热久久免费视频| 亚洲国产精品久久久久久女王| 欧美激情一区二区三区全黄| 亚洲一区欧美激情| 国产亚洲精品资源在线26u| 久久只精品国产| 亚洲麻豆av| 亚洲精品免费在线| 在线综合+亚洲+欧美中文字幕| 亚洲亚洲精品三区日韩精品在线视频| 麻豆freexxxx性91精品| 国产女同一区二区| 国产亚洲欧美色| 91久久精品日日躁夜夜躁国产| 狠狠入ady亚洲精品经典电影| 国户精品久久久久久久久久久不卡| 亚洲开发第一视频在线播放| 欧美精品97| 欧美区视频在线观看| 亚洲综合社区| 欧美精品一区在线发布| 国模精品一区二区三区色天香| 国产农村妇女精品一区二区| 免费成人网www| 午夜视黄欧洲亚洲| 亚洲国产高清高潮精品美女| 黑人一区二区| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美精品久久99久久在免费线| 国内精品久久久久久久97牛牛| 亚洲韩国一区二区三区| 国产一区自拍视频| 亚洲精品国产品国语在线app| 美女脱光内衣内裤视频久久网站| 在线观看一区二区视频| 欧美丰满高潮xxxx喷水动漫| 欧美色图五月天| 国模大胆一区二区三区| 亚洲一区二区免费| 国产伦理一区| 香蕉久久久久久久av网站| 欧美高清在线播放| 欧美在线播放一区二区| 亚洲毛片在线观看.| 欧美高清视频www夜色资源网| 亚洲欧美自拍偷拍| 噜噜爱69成人精品| 韩国一区二区在线观看| 欧美午夜久久| 欧美午夜片在线观看| 亚洲视频图片小说| 欧美电影在线观看| 亚洲综合二区| 韩国v欧美v日本v亚洲v| 欧美a一区二区| 久久久久国产精品麻豆ai换脸| 亚洲一区精品视频| 狠狠爱成人网| 久久免费观看视频| 国产欧美日韩在线观看| 亚洲国产精品一区二区三区| 国产精品久久久久免费a∨| 国产精品久久久久99| 欧美美女视频| 小黄鸭精品密入口导航| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产精品揄拍500视频| 亚洲精品一品区二品区三品区| 国产亚洲欧美一区二区| 久久精品国产亚洲一区二区| 国产人妖伪娘一区91| 国产区二精品视| 久久亚洲春色中文字幕| 国产精品一区=区| 亚洲国产美国国产综合一区二区| 在线观看日韩| 欧美久久综合| 一区二区三区日韩欧美| 欧美性开放视频| 久久久另类综合| 欧美日韩成人综合天天影院| 国产日韩一区二区三区在线| 国产精品99久久久久久久vr| 欧美第十八页| 欧美一区二粉嫩精品国产一线天| 一区二区三区久久久| 亚洲婷婷综合久久一本伊一区| 欧美精品久久久久久久久久| 亚洲一二三区精品| 欧美精品久久久久久久久久| 欧美一区三区三区高中清蜜桃| 蜜臀99久久精品久久久久久软件| 亚洲精品美女91| 亚洲影视九九影院在线观看| 久久久久久久尹人综合网亚洲| 久久天天躁狠狠躁夜夜av| 在线日本成人| 在线日韩日本国产亚洲| 红桃av永久久久| 亚洲国产精品久久91精品| 久久综合久久综合九色| 欧美另类在线观看| 欧美专区日韩专区| **性色生活片久久毛片| 国产精品视频1区| 国产乱码精品一区二区三区五月婷| 99热精品在线观看| 国产精品专区第二| 欧美激情视频一区二区三区免费| 亚洲人精品午夜| 久久在线观看视频| 久久久精品国产99久久精品芒果| 亚洲高清电影| 久久精品麻豆| 欧美中日韩免费视频| 亚洲欧美日韩一区二区三区在线| 亚洲精品人人| 久久激情中文| 一区二区高清视频在线观看| 欧美日韩精品一区二区| 国产亚洲精品v| 欧美mv日韩mv国产网站| 国产精品永久| 亚洲福利在线观看| 欧美一级艳片视频免费观看| 欧美激情一区二区三区全黄| 99国产精品久久久久久久成人热| 国产日韩精品久久久| 欧美在线视频观看免费网站| 久久久久久高潮国产精品视| 久久国产精品72免费观看| 在线观看亚洲a| 在线视频欧美日韩| 一本色道久久精品| 国产精品一区免费观看| 一本色道精品久久一区二区三区| 亚洲视频播放| 久久国产精品免费一区| 久久精品国产久精国产一老狼| 亚洲激情午夜| 在线一区二区日韩| 国产九九精品| 国产精品第一区| 国产精品天天看| 亚洲免费av网站| 日韩一级不卡| 国产精品网曝门| 欧美视频一区在线| 一本久久青青| 在线成人中文字幕| 国产欧美一区在线| 另类天堂视频在线观看| 亚洲尤物视频网| 久久久久久久欧美精品| 国产一区二区主播在线| 国产精品嫩草影院一区二区| 欧美成年网站| 午夜日韩电影| 久久精品免费电影| 99国内精品久久| 激情欧美丁香| 欧美高清自拍一区| 欧美69wwwcom| 亚洲电影专区| 欧美激情2020午夜免费观看| 久久久久久久成人| 夜夜嗨av一区二区三区网站四季av| 欧美揉bbbbb揉bbbbb| 国产在线麻豆精品观看| 99国产精品99久久久久久粉嫩| 久热综合在线亚洲精品| 国产美女高潮久久白浆| 亚洲欧美制服中文字幕| 欧美国产欧美综合| 亚洲视频福利| 亚洲国产日韩欧美综合久久| 中国成人亚色综合网站| 国产欧美视频在线观看| 亚洲精品1234| 欧美顶级大胆免费视频| 一二三区精品福利视频| 亚洲婷婷综合色高清在线| 亚洲欧美日韩一区在线| 久久精品首页| 国产丝袜美腿一区二区三区| 亚洲国内在线| 亚洲精品欧美激情| 久久综合色8888| 狠狠久久婷婷| 午夜精品免费在线| 毛片精品免费在线观看| 欧美日韩国产一区精品一区| 欧美四级电影网站| 亚洲欧美中文日韩在线| 亚洲三级免费观看| 欧美成人精品一区二区三区| 欧美女同视频| 欧美精品三级日韩久久| 国产日韩欧美在线观看| 亚洲日本精品国产第一区| 亚洲深夜福利网站| 欧美日韩专区在线| 亚洲在线视频一区| 久久精品免费播放| 亚洲一区二区三区乱码aⅴ| 欧美一区二区观看视频| 国产日产亚洲精品系列| 欧美风情在线观看| 亚洲一二三区视频在线观看| 欧美日本精品在线| 亚洲高清视频在线观看| 亚洲欧美久久久久一区二区三区| 亚洲欧美日韩国产成人精品影院| 亚洲日本中文字幕区| 一区二区三区视频在线观看| 欧美日韩成人综合在线一区二区| 亚洲专区一二三| 一区视频在线播放| 国产欧美日韩三区| 在线视频亚洲一区| 狠狠爱综合网| 中文在线资源观看视频网站免费不卡| 亚洲欧洲日夜超级视频| 1000部国产精品成人观看| 亚洲视频999| 欧美日韩精品国产| 国产欧美在线看| 亚洲人成艺术| 欧美理论片在线观看| 免费久久99精品国产自| 亚洲专区在线视频| 欧美精品三区| 亚洲日本欧美天堂| 欧美日韩国产高清| 久久免费高清视频| 欧美四级伦理在线| 在线观看一区| 99re66热这里只有精品3直播| 欧美在线视频不卡| 亚洲男人第一网站| 国产三级精品在线不卡| 国产伦精品一区二区三区视频孕妇| 性做久久久久久久免费看| 欧美理论电影网| 久久精品99国产精品| 欧美在线播放一区二区| 亚洲专区在线| 国产一区99| 亚洲视频国产视频| 国外视频精品毛片| 欧美精品综合| 日韩一区二区高清| 欧美日产国产成人免费图片| 欧美日韩国产精品一卡| 欧美日韩亚洲在线| 久久这里有精品15一区二区三区| 亚洲一区不卡| 极品日韩av| 久久精品亚洲国产奇米99| 国模叶桐国产精品一区| 日韩午夜精品| 欧美黄色一级视频| 久久综合五月| 亚洲人成人一区二区三区| 亚洲国产精品久久久久秋霞不卡| 亚洲欧美一区二区原创| 国产精品国产精品| 在线欧美日韩精品| 亚洲一区二区视频| 欧美日韩精品二区第二页| 久久成人免费网| 巨胸喷奶水www久久久免费动漫| 国内精品久久久久影院 日本资源| 久久国产天堂福利天堂| 亚洲精品裸体| 久久九九热re6这里有精品| 欧美亚洲午夜视频在线观看| 国产精品一区二区女厕厕| 99综合视频| 篠田优中文在线播放第一区| 日韩视频一区二区三区| 国产精品女同互慰在线看| 久久激情五月婷婷| 久久伊人精品天天| 欧美亚洲日本一区| 久久综合网络一区二区| 国产精品www色诱视频| 在线看不卡av| 亚洲丝袜av一区| 欧美日韩亚洲综合一区| 欧美精品日韩一本| 亚洲精品在线视频| 欧美性开放视频| 国内精品**久久毛片app| 久久丁香综合五月国产三级网站| 欧美日韩另类综合| 国产一区二区精品丝袜| 嫩草伊人久久精品少妇av杨幂| 久久国产88| 亚洲精品乱码久久久久久蜜桃麻豆| 99精品视频一区二区三区| 亚洲愉拍自拍另类高清精品| 欧美一区二视频在线免费观看| 欧美色大人视频| 激情综合电影网| 久久五月婷婷丁香社区| 欧美日韩亚洲激情| 亚洲国产精品一区二区尤物区| 在线日韩av| 亚洲三级免费观看| 亚洲欧美乱综合| 小黄鸭精品密入口导航| 在线视频精品一| 亚洲女ⅴideoshd黑人| 91久久国产自产拍夜夜嗨| 免费精品99久久国产综合精品| 国产精品久久久久久影院8一贰佰| 国产精品综合色区在线观看| 亚洲精品一区二区三区av| 亚洲永久视频|