JAVA拓?fù)涮准?開發(fā)者指南_第1頁
JAVA拓?fù)涮准?開發(fā)者指南_第2頁
JAVA拓?fù)涮准?開發(fā)者指南_第3頁
JAVA拓?fù)涮准?開發(fā)者指南_第4頁
JAVA拓?fù)涮准?開發(fā)者指南_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

GDBC/CTI-S GeoConnections JAVA事務(wù)效勞拓?fù)涮准?1.4開發(fā)者指南Java事務(wù)效勞拓?fù)涮准_發(fā)者指南1.4VIVID解決方案 頁碼:1GDBC/CTI-S GeoConnections 文檔轉(zhuǎn)變檢驗修改版本編號1.4

公布日期20031017日

作者JonathanAquino

所作轉(zhuǎn)變主要描述為JTS1.4版本創(chuàng)立的最初稿VIVID解決方案 頁碼:2GDBC/CTI-S GeoConnections 內(nèi)容表\l“_TOC_250002“概述 4\l“_TOC_250001“其他資源 4預(yù)備開頭 4處理空間關(guān)系 5處理疊加操作 5緩沖處理 7\l“_TOC_250000“根本的緩沖 7帽端形式〔ENDCAPSTYLE〕 7詳述近似值數(shù)字化 8多邊化〔多角形化〕 9合并一組線〔LineString〕 10使用定制的并列挨次 11提示技巧及技術(shù) 11聯(lián)接一組線〔LineString). 11有效地合并很多的多邊形 12VIVID解決方案 頁碼:3GDBC/CTI-S GeoConnections 概述JavaTransactionService〔Java〕拓?fù)涮准?,是一種能夠利用清楚準(zhǔn)確的模型和強(qiáng)JAVA應(yīng)用編程接〔API2-D線性〔Geometry〕的完善模式。很多在計算幾何學(xué)的一般操作〔Operation〕和空間數(shù)據(jù)了致力于能夠支持確定性,清潔性,完整性和對空間數(shù)據(jù)進(jìn)展查詢的應(yīng)用軟件的進(jìn)展。JTS應(yīng)API并且供給了源碼范例。其他資源

留意:本文檔正在完善中<OpenGIS對SQL>1.1〔SFSJTS實現(xiàn)功能的參考標(biāo)準(zhǔn)。<JTS技術(shù)標(biāo)準(zhǔn)> 關(guān)于在JTS中實現(xiàn)類,方法和運(yùn)算法則的設(shè)計標(biāo)準(zhǔn)。<JTSJavadoc> JTS中類,方法和運(yùn)算法則的文件。預(yù)備開頭Geometryg1=newWKTReader.read(“LINESTRING(00,1010,2020)“);JTS技術(shù)標(biāo)準(zhǔn)供給了WKTWKTtest名目下的文件夾里面做到。GeometryFactorWKT而是直接地面對對象進(jìn)展工作。Coordinate[]coordinates=newCoordinate[]{newCoordinate(0,0),newCoordinate(10,10),newCoordinate(20,20)};Geometryg1=newGeometryFactory.createLineString(coordinates);GeometryGeometry之間的穿插點〔交集。Geometryg3=ersection(g2);VIVID解決方案 頁碼:4GDBC/CTI-S GeoConnections Geometries〔are〔envelope〔centroid〕緩沖器〔buffeGeometrycom.vividsolutions.jts.geom包里關(guān)于計算空間關(guān)系JTS一個重要的應(yīng)用是計算幾何圖形〔Geometry〕之間的空間關(guān)系,它供給了多種多樣的用于處理空間關(guān)系的方法。JTS遵循OGC具體說明的〔theDimensionally-Extended9IntersectionMatrixmode。為計算兩個幾何圖形的維擴(kuò)展九交集模型,利用相關(guān)的方法去計算:Geometrya=...Geometryb=...IntersectionMatrixm=a.relate(b);JTS同樣供給了一套布爾數(shù)學(xué)體系〔boolean〕的能夠直接計算一般空間關(guān)系的謂項〔predicates謂項,闡述。它們包括:相等(Equals):脫節(jié)(Disjoint):

幾何外形拓?fù)渖舷嗟?。幾何外形沒有共有的點。相交(Intersects):幾何外形至少有一個共有點〔區(qū)分于脫節(jié)〕接觸(Touches):穿插(Crosses):內(nèi)含(Within):

幾何外形有至少一個公共的邊界點,但是沒有內(nèi)部點。幾何外形共享一些但不是全部的內(nèi)部點。幾何外形A的線都在幾何外形B內(nèi)部。包含(Contains):幾何外形B的線都在幾何外形A內(nèi)部〔區(qū)分于內(nèi)含〕重疊(Overlaps):幾何外形共享一局部但不是全部的公共點,而且相交處有他們自己一樣的區(qū)域。JTS技術(shù)標(biāo)準(zhǔn)以確定在任何給定的案例中會返回什么樣的結(jié)果。處理疊加操作在從前局部爭論的正確或者錯誤的功能中,例如〔s〕和〔s,我4-1JTS的疊加操作。VIVID解決方案 頁碼:5GDBC/CTI-S GeoConnections 2.A交集〔B〕 3.A合并〔B〕A差異〔B〕 5.B差異〔A〕 6.B對稱差異〔A〕對疊加運(yùn)算的描述如以下表:緩沖區(qū)分析〔Buffer〕凸殼分析〔ConvexHull〕穿插分析〔Intersection〕聯(lián)合分析〔Union〕差異分析〔Difference〕對稱差異分析〔SymDifference〕

包含全部的點在一個指定距離內(nèi)的多邊形和多多邊形〔沖區(qū)計算機(jī)》第七頁〕包含幾何形體的全部點的最小凸殼多邊形〔外包多邊形〕穿插操作就是多邊形AB中全部共同點的集合。AB的聯(lián)合操作就是AB全部點的集合。AB外形的差異分析就是A里有B里沒有的全部點的集合。AB外形的對稱差異分析就是位于ABAB中的全部點的集合關(guān)于在前面局部所述的空間關(guān)系,JTS技術(shù)標(biāo)準(zhǔn) 供給了關(guān)于這些疊加操作的準(zhǔn)確定義。VIVID解決方案 頁碼:6GDBC/CTI-SGeoConnections 緩沖區(qū)處理在GIS中,緩沖〔buffering〕是一種用于計算包含在一個幾何圖形〔Geometry〕特定距離區(qū)域內(nèi)全部點的的操作。在數(shù)學(xué)術(shù)語中,這被稱為通過一個與緩沖區(qū)相等的圓的半徑去計算幾何圖形的〔Minkowski〕總和。覺察正的〔positive〕和負(fù)的〔negative〕緩沖,有時與操作的腐〔offsetcurves〕。你可以使用JTS,通過Geometrybuffer方法或者Bufferop類,去計算一個圖形的緩沖區(qū)??梢允侨魏晤悇e〔Geometry集合。緩沖操作的結(jié)果通常是一種〔areatyp〔多邊形或者多多邊形。結(jié)果也可能為空[例如,一條線的負(fù)緩沖。](Buffers)常常包含輸入幾何圖〔tGeometr的內(nèi)部。一條線的負(fù)的緩沖或者點,會導(dǎo)致空的Geometry。圖5-1 正和負(fù)的緩沖零距離的緩沖距離同樣能夠被支持。你可以利用它去執(zhí)行高效的多多邊形的聯(lián)合分析。根本的緩沖Geometrybuffer〔〕方法Geometryg=...Geometrybuffer=g.buffer(100.0);帽端形式 〔ENDCAPSTYLES〕VIVID解決方案 頁碼:7GDBC/CTI-S GeoConnections 緩沖多邊形可以通過不同的線性ENDCAPSTYLE去計算。ENDCAPSTYLES打算了緩沖多l(xiāng)inestring的結(jié)尾構(gòu)建的。支持以下幾種不同的三通類型:樣式名稱 描述CAP_ROUND 〔endcap〕CAP_BUTTCAP_SQUARE

在線路末端被削平的帽末端外形在線路末端緩沖距離之后的地方被弄成方形的帽形末端以以下圖表說明白指定不同的ENDCAPSTYLES的效果:圖5-2 不同的帽形末端樣式為了具體說明緩沖帽末端樣式,直接使用com.vividsolutions.jts.operation.buffer包中的BufferOp類。Geometryg=...BufferOpbufOp=newBufferOp(g);Geometrybuffer=bufOp.getResultGeometry(distance);〔數(shù)字化SPECIFYINGTHEAPPROXIMATIONQUANTIZATIO]GeometryJTS支持的線性幾何學(xué)〔Geometry〕的約計。近似的程度可以由用戶掌握。在JTS中,這是通過用于約計四分之一圓的指定〔quadrantsegments〕的數(shù)字完成的。指定一個大的片段數(shù)目會導(dǎo)致更好的實際面積的近似值,也會導(dǎo)致大量的線段在所要計算的多邊形里面。Geometrybuffer方法和〔secondargumen:Geometryg=...Geometrybuffer=g.buffer(100.0,16);2%的最大限度121%。以下圖顯示了增加曲線段數(shù)值的效果:VIVID解決方案 頁碼:8GDBC/CTI-S GeoConnections 圖5-3 使用不同的曲線近似程度多角形化〔多邊化〕是一個從圍住某區(qū)域的線路組成多邊形的過程。組成多邊形的線路必需是充分連接的。也就是說,線〔linestring〕不能穿插,同時必需在端點接觸。JTS供給PolygonizerPolygonizer類獲得一組完整連接的線〔〔danglinglines〕或者〔cutlines〕等能夠被鑒別和報告。Collectionlines=newArrayList;lines.add(read(“LINESTRING(185221,100100)“));//danglingedgelines.add(read(“LINESTRING(185221,88275,180316)“));lines.add(read(“LINESTRING(185221,292281,180316)“));lines.add(read(“LINESTRING(18998,83187,185221)“));lines.add(read(“LINESTRING(18998,325168,185221)“));polygonizer.add(lines);Collectionpolys =polygonizer.getPolygons;Collectiondangles=polygonizer.getDangles;Collectioncuts =polygonizer.getCutEdges;假設(shè)這一組線沒有正確的聯(lián)接,Polygonizer類仍舊會在它們上面運(yùn)作,但是因而發(fā)生的多邊形的Geometry會是無效的?!睲ultiLineStringuniontechnique〕能夠被用于連結(jié)一組〔9.1連接一組直線11頁〕VIVID解決方案 頁碼:9GDBC/CTI-S GeoConnections 輸入 一套完整聯(lián)接的線性字符串 輸出 多邊形,虛懸直線以及穿插線6-1多邊化操作合并一組線性字符串〔#union〕等空間操作會產(chǎn)生一連串的小線段〔LineStrings。JTS的線合并器〔LineMerger〕是一種簡潔的用于縫合這些短線在一起的工具。例如如下:輸入——一組完全聯(lián)接的線 輸出——合并的線7-1線合并操作〔LineMerger〕假定輸入線〔inputLineStrings〕是聯(lián)接的〔例如,它們不穿插,只有它們的端點是接觸的。見9.1節(jié)聯(lián)接一組線性字符串第11頁。留意輸出線〔outputLineStrings〕同樣是聯(lián)接的。VIVID解決方案 頁碼:10GDBC/CTI-S GeoConnections 〔linestring〕沒有一樣的方向,那么結(jié)果的線的方向?qū)⑴c大多數(shù)線的方向一樣。使用〔LineMerger〕方法如下:LineMergerlineMerger=newLineMerger;CollectionlineStrings=...lineMerger.add(lineStrings);CollectionmergedLineStrings=使用定制的坐標(biāo)序列[USINGCUSTOMCOORDINATESEQUENCES]xy坐標(biāo)上存儲額外的信息。例如〔measuresforlinearreferencing。CoordinateSequenceFactoryCoordinateSequenceFactoryGeometry,使用這個GeometryFactoryGeometryGeometryCoordinateSequence舉一個例子,請看下面在com.vividsolutions.jtsexample.geom包的范例程序:ExtendedCoordinateExample 一個使用根本坐標(biāo)表示增加信息的例子TwoArrayCoordinateSequenceExample 一個使用更高效記憶內(nèi)存的序列工具的例子者Coordinates的子集〕編組和未編組信〔marshallingandunmarshallingcoordinatesJTScoordinates的排列。提示技巧和技術(shù)聯(lián)接一組線〔linestrings〕很多空間操作假定它們的輸入數(shù)據(jù)是〔noded〔LineStrings〕從不會相交。例如,早先描述的JTSPolyg

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論