国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JTS空間坐標(biāo)Geometry使用

這篇具有很好參考價(jià)值的文章主要介紹了JTS空間坐標(biāo)Geometry使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Geomtery子類(lèi)圖

JTS空間坐標(biāo)Geometry使用

創(chuàng)建Geometry


GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();

// 點(diǎn)
Coordinate coord = new Coordinate(1, 1);
Point point = geometryFactory.createPoint(coord);

// 線(xiàn)
Coordinate[] coordinates =  new Coordinate[] {new Coordinate(0, 2), new Coordinate(2, 0), new Coordinate(8, 6) };
LineString line = geometryFactory.createLineString(coordinates);

// 面
Coordinate[] coords  =  new Coordinate[] {new Coordinate(4, 0), new Coordinate(2, 2), new Coordinate(4, 4), new Coordinate(6, 2), new Coordinate(4, 0) };
LinearRing ring = geometryFactory.createLinearRing(coords);
LinearRing holes[] = null; // use LinearRing[] to represent holes
Polygon polygon = geometryFactory.createPolygon(ring, holes);

// 圓
CurvedGeometryFactory curvedFactory = new CurvedGeometryFactory(geometryFactory, Double.MAX_VALUE);
CoordinateSequence coords =  PackedCoordinateSequenceFactory.DOUBLE_FACTORY.create(new double[] {10, 14, 6, 10, 14, 10}, 2);
CircularString arc = (CircularString) curvedFactory.createCurvedGeometry(coords);

Geometry轉(zhuǎn)換坐標(biāo)系


CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4326");
CoordinateReferenceSystem targetCrs = CRS.decode("EPSG:4490");

boolean lenient = true; // allow for some error due to different datums
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCrs, lenient);

Geometry geometry2 = JTS.transform(geometry, transform);

Geometry方法


// 空間判斷
// 不相交
boolean disjoint = geometry.disjoint(geometry2);
// 相交
boolean intersects = geometry.intersects(geometry2);
// 相切,內(nèi)部不相交
boolean touches = geometry.touches(geometry2);


// 被包含
boolean within = geometry.within(geometry2);
//包含,只針對(duì)幾何內(nèi)部而言,不計(jì)算邊界
boolean contains = geometry.contains(geometry2);
//覆蓋,不區(qū)分集合邊界與內(nèi)部
boolean covers = geometry.covers(geometry);

//相交,不能是相切或者包含
boolean crosses = geometry.crosses(geometry);
//相交
boolean overlaps = geometry.overlaps(geometry2);
// 兩個(gè)幾何的空間關(guān)系
IntersectionMatrix relate1 = geometry.relate(geometry2);

//空間計(jì)算
//求交集
Geometry intersection = geometry.intersection(geometry2);
//求并集
Geometry union = geometry.union(geometry);
//geometry-交集
Geometry difference = geometry.difference(geometry2);
// 并集-交集
Geometry symDifference = geometry.symDifference(geometry);
// 幾何緩沖生成新幾何,單位與geometry坐標(biāo)系一致
Geometry buffer1 = geometry.buffer(2);
// 生成包含幾何的最小凸多邊形
Geometry convexHull = geometry.convexHull();
// 兩個(gè)幾何的最小距離
double distance = geometry.distance(geometry);

// 面積
double area = geometry.getArea();
//幾何類(lèi)型
String geometryType = geometry.getGeometryType();
// 邊界
Geometry boundary = geometry.getBoundary();
// 獲取中心點(diǎn)
Point centroid = geometry.getCentroid();

Geometry 與 WKT 轉(zhuǎn)換


// geometry轉(zhuǎn)wkt
//方法一
WKTWriter2 wktWriter2 = new WKTWriter2()
String wkt = wktWriter2.write(geometry)
//方法二
String text = geometry.toText();


// wkt轉(zhuǎn)geometry
WKTReader2 wktReader2 = WKTReader2()
Point point = (Point) wktReader2.read("POINT (1 1)");

LineString line = (LineString) wktReader2.read("LINESTRING(0 2, 2 0, 8 6)");

Polygon polygon = (Polygon) wktReader2.read("POLYGON((20 10, 30 0, 40 10, 30 20, 20 10))");

pom.xml文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-421867.html

<dependencies>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-shapefile</artifactId>
            <version>${geotools.version}</version>
        </dependency>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-epsg-hsql</artifactId>
            <version>${geotools.version}</version>
        </dependency>
    </dependencies>
  <repositories>
    <repository>
      <id>osgeo</id>
      <name>OSGeo Release Repository</name>
      <url>https://repo.osgeo.org/repository/release/</url>
      <snapshots><enabled>false</enabled></snapshots>
      <releases><enabled>true</enabled></releases>
    </repository>
    <repository>
      <id>osgeo-snapshot</id>
      <name>OSGeo Snapshot Repository</name>
      <url>https://repo.osgeo.org/repository/snapshot/</url>
      <snapshots><enabled>true</enabled></snapshots>
      <releases><enabled>false</enabled></releases>
    </repository>
  </repositories>

到了這里,關(guān)于JTS空間坐標(biāo)Geometry使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【MFC】10.MFC六大機(jī)制:RTTI(運(yùn)行時(shí)類(lèi)型識(shí)別),動(dòng)態(tài)創(chuàng)建機(jī)制,窗口切分,子類(lèi)化-筆記

    【MFC】10.MFC六大機(jī)制:RTTI(運(yùn)行時(shí)類(lèi)型識(shí)別),動(dòng)態(tài)創(chuàng)建機(jī)制,窗口切分,子類(lèi)化-筆記

    C++: ##是拼接 #是替換成字符串 這是MFC提供的運(yùn)行時(shí)類(lèi)信息的使用,如果我們自己創(chuàng)建一個(gè)類(lèi),如果想用這些方法,必須要滿(mǎn)足三個(gè)條件: 這個(gè)類(lèi)必須繼承于CObject類(lèi) 類(lèi)內(nèi)必須聲明DECLARE_DYNAMIC 類(lèi)外必須實(shí)現(xiàn)IMPLENENT_DYNAMIC 我們來(lái)看看是如何實(shí)現(xiàn)的: 這里給出RTTI的圖,每一個(gè)類(lèi)中

    2024年02月13日
    瀏覽(24)
  • 空間坐標(biāo)(系)如何進(jìn)行變換?

    空間坐標(biāo)(系)如何進(jìn)行變換?

    ??要描述某一物體在現(xiàn)實(shí)場(chǎng)景的位置,通常以三維空間坐標(biāo)系下的坐標(biāo)進(jìn)行說(shuō)明,當(dāng)物體位置或自身進(jìn)行變化時(shí),可以用放射變換說(shuō)明物體的變化情況。仿射變換中的基本變換包括平移、旋轉(zhuǎn)、縮放、剪切。本文研究的物體為剛體,涉及的變換為平移和旋轉(zhuǎn),下文將以平移

    2024年02月06日
    瀏覽(17)
  • 雙目立體視覺(jué)空間坐標(biāo)精度分析

    雙目立體視覺(jué)空間坐標(biāo)精度分析

    參考鏈接:https://zhuanlan.zhihu.com/p/362718946 本文主要參考鏈接博主的理論推導(dǎo),并按照自己的理解作分析和修正 雙目立體視覺(jué)系統(tǒng)的精度由那些因素決定? X/Y/Z三個(gè)方向的精度都是一樣的嗎?如果不是一樣,哪個(gè)方向精度更好呢? 最常見(jiàn)的情況下,雙目立體視覺(jué)的最終輸出是

    2024年02月10日
    瀏覽(23)
  • 空間坐標(biāo)變換(Python&C++實(shí)現(xiàn))

    空間坐標(biāo)變換(Python&C++實(shí)現(xiàn))

    空間坐標(biāo)變換可看作坐標(biāo)點(diǎn)乘以一個(gè)齊次矩陣,其中,齊次矩陣可表示為: 其中: ①區(qū)域的3×3矩陣產(chǎn)生三維圖形的比例、對(duì)稱(chēng)、旋轉(zhuǎn)、錯(cuò)切等基本變換; ②區(qū)域產(chǎn)生圖形的透視變換; ③區(qū)域產(chǎn)生沿X、Y、Z三個(gè)軸的平移變換; ④區(qū)域產(chǎn)生圖形的總比例變換。 平移變換可表示

    2024年02月13日
    瀏覽(18)
  • 【必備知識(shí)】 三維空間/坐標(biāo)轉(zhuǎn)換/相機(jī)知識(shí)

    【必備知識(shí)】 三維空間/坐標(biāo)轉(zhuǎn)換/相機(jī)知識(shí)

    以下內(nèi)容包含了2D坐標(biāo)與3D坐標(biāo)系之間的轉(zhuǎn)換以及關(guān)于相機(jī)場(chǎng)的基礎(chǔ)知識(shí),理解這部分內(nèi)容可以更快入門(mén)SLAM相關(guān)、多視角合成、三維空間變換等內(nèi)容。 照相機(jī)制造過(guò)程中的一些涉及到透鏡精密以及組裝工藝等原因需要對(duì)圖像進(jìn)行相應(yīng)的矯正。如下所示: 需要建立世界坐標(biāo)系到

    2024年02月03日
    瀏覽(24)
  • 對(duì)極幾何與三角化求3D空間坐標(biāo)

    對(duì)極幾何與三角化求3D空間坐標(biāo)

    第一步:特征匹配。提取出有效的匹配點(diǎn) 第二步:根據(jù)匹配點(diǎn)對(duì),依據(jù)對(duì)極幾何約束原理,求相機(jī)運(yùn)動(dòng)的R,t 第三步:根據(jù)針孔相機(jī)模型的公式,由 R,t估計(jì)特征點(diǎn)的空間坐標(biāo) 其中 triangulatePoints()的具體用法為 所以通過(guò)函數(shù)pixel2cam可將像素坐標(biāo)轉(zhuǎn)換到歸一化相機(jī)坐標(biāo)系下 歸一

    2024年02月09日
    瀏覽(33)
  • Unity Shader 開(kāi)發(fā)入門(mén)3 —— 坐標(biāo)空間變換

    Unity Shader 開(kāi)發(fā)入門(mén)3 —— 坐標(biāo)空間變換

    ? 在 Shader 開(kāi)發(fā)中存在不同的坐標(biāo)空間,包括: 模型空間。 世界空間。 觀(guān)察空間。 裁剪空間。 屏幕空間。 ? 在渲染管線(xiàn)中,需要將坐標(biāo)數(shù)據(jù)在這些空間中進(jìn)行變換計(jì)算。 ? 在設(shè)計(jì)模型時(shí),使用模型空間。模型導(dǎo)入 Unity 后,最終顯示在屏幕上,依次經(jīng)歷了如下空間的坐標(biāo)

    2024年01月16日
    瀏覽(19)
  • 【學(xué)習(xí)筆記】空間坐標(biāo)系旋轉(zhuǎn)與四元數(shù)

    【學(xué)習(xí)筆記】空間坐標(biāo)系旋轉(zhuǎn)與四元數(shù)

    ??最近在學(xué)慣性器件,想著先把理論知識(shí)脈絡(luò)打通,于是便開(kāi)始學(xué)習(xí)空間坐標(biāo)系旋轉(zhuǎn)和四元數(shù),正好結(jié)合剛剛結(jié)課的課程《機(jī)器人控制技術(shù)》,記錄一下學(xué)習(xí)心得。 旋轉(zhuǎn)矩陣和齊次變換矩陣部分主要參考自教材 《機(jī)器人學(xué)導(dǎo)論》 中的第2章?【有需要的可以去z-library上免費(fèi)

    2024年02月01日
    瀏覽(19)
  • C# 子類(lèi)強(qiáng)制轉(zhuǎn)換為父類(lèi)異常,引出的C#Dll加載機(jī)制,以及同類(lèi)名同命名空間同dll程序集在C#中是否為同一個(gè)類(lèi)的研究。

    已知,子類(lèi)B繼承自父類(lèi)A,但是在代碼運(yùn)行時(shí),B類(lèi)強(qiáng)制轉(zhuǎn)換為A類(lèi),卻報(bào)代碼轉(zhuǎn)換異常。 很奇怪的問(wèn)題吧,不過(guò)這個(gè)也是難得機(jī)會(huì),去研究C#運(yùn)行的底層原理。 下面是報(bào)錯(cuò)的代碼片段。 下面是報(bào)錯(cuò)結(jié)果(其中的敏感字符串被替換成了xxx): 通過(guò)上面的代碼可以看出,從子類(lèi)中

    2024年02月13日
    瀏覽(30)
  • 【UnityShader入門(mén)精要學(xué)習(xí)筆記】第四章(5)坐標(biāo)空間

    【UnityShader入門(mén)精要學(xué)習(xí)筆記】第四章(5)坐標(biāo)空間

    本系列為作者學(xué)習(xí)UnityShader入門(mén)精要而作的筆記,內(nèi)容將包括: 書(shū)本中句子照抄 + 個(gè)人批注 項(xiàng)目源碼 一堆新手會(huì)犯的錯(cuò)誤 潛在的太監(jiān)斷更,有始無(wú)終 總之適用于同樣開(kāi)始學(xué)習(xí)Shader的同學(xué)們進(jìn)行有取舍的參考。 (該系列筆記中大多數(shù)都會(huì)復(fù)習(xí)前文的知識(shí),特別是前文知識(shí)非

    2024年01月21日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包