org.locationtech.jts.geom.Geometry.compareTo()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(2.6k)|赞(0)|评价(0)|浏览(258)

本文整理了Java中org.locationtech.jts.geom.Geometry.compareTo()方法的一些代码示例,展示了Geometry.compareTo()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Geometry.compareTo()方法的具体详情如下:
包路径:org.locationtech.jts.geom.Geometry
类名称:Geometry
方法名:compareTo

Geometry.compareTo介绍

[英]Returns whether this Geometry is greater than, equal to, or less than another Geometry.

If their classes are different, they are compared using the following ordering:

  • Point (lowest)
  • MultiPoint
  • LineString
  • LinearRing
  • MultiLineString
  • Polygon
  • MultiPolygon
  • GeometryCollection (highest)
    If the two Geometrys have the same class, their first elements are compared. If those are the same, the second elements are compared, etc.
    [中]返回此Geometry是否大于、等于或小于另一个Geometry
    如果它们的类别不同,则使用以下顺序对它们进行比较:
    *点(最低)
    *多点
    *线绳
    *线性化
    *多重限制
    *多边形
    *多边形
    *几何收集(最高)
    如果两个Geometry具有相同的类,则比较它们的第一个元素。如果这些元素相同,则比较第二个元素,以此类推。

代码示例

代码示例来源:origin: com.h2database/h2

  1. @Override
  2. protected int compareSecure(Value v, CompareMode mode) {
  3. Geometry g = ((ValueGeometry) v).getGeometryNoCopy();
  4. return getGeometryNoCopy().compareTo(g);
  5. }

代码示例来源:origin: geotools/geotools

  1. public int compareTo(Object o, CoordinateSequenceComparator comp) {
  2. return geometry.compareTo(o, comp);
  3. }

代码示例来源:origin: geotools/geotools

  1. public int compareTo(Object o) {
  2. return geometry.compareTo(o);
  3. }

代码示例来源:origin: locationtech/jts

  1. public int compare(Object obj0, Object obj1) {
  2. EdgeRing r0 = (EdgeRing) obj0;
  3. EdgeRing r1 = (EdgeRing) obj1;
  4. return r0.getRing().getEnvelope().compareTo(r1.getRing().getEnvelope());
  5. }

代码示例来源:origin: locationtech/jts

  1. private void checkWKBGeometry(String wkbHex, String expectedWKT) throws ParseException
  2. {
  3. WKBReader wkbReader = new WKBReader(geomFactory);
  4. byte[] wkb = WKBReader.hexToBytes(wkbHex);
  5. Geometry g2 = wkbReader.read(wkb);
  6. WKTReader useRdr = rdr;
  7. if (expectedWKT.contains("ZM"))
  8. useRdr = rdrM;
  9. else if (expectedWKT.contains("M(") || expectedWKT.contains("M ("))
  10. useRdr = rdrM;
  11. Geometry expected = useRdr.read(expectedWKT);
  12. boolean isEqual = (expected.compareTo(g2, comp2) == 0);
  13. if (!isEqual) {System.out.println(g2);System.out.println(expected);}
  14. assertTrue(isEqual);
  15. }
  16. }

代码示例来源:origin: locationtech/jts

  1. void runGeometry(Geometry g, int dimension, int byteOrder, boolean toHex, int srid)
  2. throws IOException, ParseException
  3. {
  4. boolean includeSRID = false;
  5. if (srid >= 0) {
  6. includeSRID = true;
  7. g.setSRID(srid);
  8. }
  9. WKBWriter wkbWriter = new WKBWriter(dimension, byteOrder, includeSRID);
  10. byte[] wkb = wkbWriter.write(g);
  11. String wkbHex = null;
  12. if (toHex)
  13. wkbHex = WKBWriter.toHex(wkb);
  14. if (toHex)
  15. wkb = WKBReader.hexToBytes(wkbHex);
  16. Geometry g2 = wkbReader.read(wkb);
  17. CoordinateSequenceComparator comp = (dimension == 2) ? comp2 : comp3;
  18. boolean isEqual = (g.compareTo(g2, comp) == 0);
  19. assertTrue(isEqual);
  20. if (includeSRID) {
  21. boolean isSRIDEqual = g.getSRID() == g2.getSRID();
  22. assertTrue(isSRIDEqual);
  23. }
  24. }
  25. }

相关文章