Java Code Examples for com.esri.core.geometry.ogc.OGCGeometry#fromText()
The following examples show how to use
com.esri.core.geometry.ogc.OGCGeometry#fromText() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: geometry-api-java File: TestOGC.java License: Apache License 2.0 | 6 votes |
@Test public void testMultiPolygonUnion() { OGCGeometry g = OGCGeometry .fromText("POLYGON((-10 -10, 10 -10, 10 10, -10 10, -10 -10), (-5 -5, -5 5, 5 5, 5 -5, -5 -5))"); OGCGeometry g2 = OGCGeometry .fromText("POLYGON((90 90, 110 90, 110 110, 90 110, 90 90))"); OGCGeometry u = g.union(g2); assertTrue(u.geometryType().equals("MultiPolygon")); assertTrue(!u.contains(OGCGeometry.fromText("POINT(0 0)"))); assertTrue(u.contains(OGCGeometry.fromText("POINT(9 9)"))); assertTrue(!u.contains(OGCGeometry.fromText("POINT(-20 1)"))); assertTrue(u.disjoint(OGCGeometry.fromText("POINT(0 0)"))); assertTrue(!u.disjoint(OGCGeometry.fromText("POINT(9 9)"))); assertTrue(u.disjoint(OGCGeometry.fromText("POINT(-20 1)"))); assertTrue(u.contains(OGCGeometry.fromText("POINT(100 100)"))); }
Example 2
Source Project: spatial-framework-for-hadoop File: ST_MultiPoint.java License: Apache License 2.0 | 6 votes |
public BytesWritable evaluate(Text wkwrap) throws UDFArgumentException { String wkt = wkwrap.toString(); try { OGCGeometry ogcObj = OGCGeometry.fromText(wkt); ogcObj.setSpatialReference(null); if (ogcObj.geometryType().equals("MultiPoint")) { return GeometryUtils.geometryToEsriShapeBytesWritable(ogcObj); } else { LogUtils.Log_InvalidType(LOG, GeometryUtils.OGCType.ST_MULTIPOINT, GeometryUtils.OGCType.UNKNOWN); return null; } } catch (Exception e) { // IllegalArgumentException, GeometryException LogUtils.Log_InvalidText(LOG, wkt); return null; } }
Example 3
Source Project: spatial-framework-for-hadoop File: ST_GeomFromText.java License: Apache License 2.0 | 6 votes |
public BytesWritable evaluate(Text wkwrap, int wkid) throws UDFArgumentException { String wkt = wkwrap.toString(); try { SpatialReference spatialReference = null; if (wkid != GeometryUtils.WKID_UNKNOWN) { spatialReference = SpatialReference.create(wkid); } OGCGeometry ogcObj = OGCGeometry.fromText(wkt); ogcObj.setSpatialReference(spatialReference); return GeometryUtils.geometryToEsriShapeBytesWritable(ogcObj); } catch (Exception e) { // IllegalArgumentException, GeometryException LogUtils.Log_InvalidText(LOG, wkt); return null; } }
Example 4
Source Project: spatial-framework-for-hadoop File: HiveGeometryOIHelper.java License: Apache License 2.0 | 6 votes |
private OGCGeometry getGeometry(DeferredObject arg) { Object writable; try { writable = oi.getPrimitiveWritableObject(arg.get()); } catch (HiveException e) { LOG.error("Failed to get writable", e); return null; } if (writable == null) { return null; } switch (oi.getPrimitiveCategory()) { case BINARY: return getGeometryFromBytes((BytesWritable)writable); case STRING: return OGCGeometry.fromText(((Text)writable).toString()); default: return null; } }
Example 5
Source Project: presto File: GeoFunctions.java License: Apache License 2.0 | 5 votes |
private static OGCGeometry geometryFromText(Slice input) { OGCGeometry geometry; try { geometry = OGCGeometry.fromText(input.toStringUtf8()); } catch (IllegalArgumentException e) { throw new PrestoException(INVALID_FUNCTION_ARGUMENT, "Invalid WKT: " + input.toStringUtf8(), e); } geometry.setSpatialReference(null); return geometry; }
Example 6
Source Project: presto File: AbstractTestGeoAggregationFunctions.java License: Apache License 2.0 | 5 votes |
protected void assertAggregatedGeometries(String testDescription, String expectedWkt, String... wkts) { List<Slice> geometrySlices = Arrays.stream(wkts) .map(text -> text == null ? null : OGCGeometry.fromText(text)) .map(input -> input == null ? null : GeometrySerde.serialize(input)) .collect(Collectors.toList()); // Add a custom equality assertion because the resulting geometry may have // its constituent points in a different order BiFunction<Object, Object, Boolean> equalityFunction = (left, right) -> { if (left == null && right == null) { return true; } if (left == null || right == null) { return false; } OGCGeometry leftGeometry = OGCGeometry.fromText(left.toString()); OGCGeometry rightGeometry = OGCGeometry.fromText(right.toString()); // Check for equality by getting the difference return leftGeometry.difference(rightGeometry).isEmpty() && rightGeometry.difference(leftGeometry).isEmpty(); }; // Test in forward and reverse order to verify that ordering doesn't affect the output assertAggregation(function, equalityFunction, testDescription, new Page(BlockAssertions.createSlicesBlock(geometrySlices)), expectedWkt); Collections.reverse(geometrySlices); assertAggregation(function, equalityFunction, testDescription, new Page(BlockAssertions.createSlicesBlock(geometrySlices)), expectedWkt); }
Example 7
Source Project: presto File: TestGeometrySerialization.java License: Apache License 2.0 | 5 votes |
private static void testJtsSerialization(String wkt) { Geometry jtsGeometry = createJtsGeometry(wkt); OGCGeometry esriGeometry = OGCGeometry.fromText(wkt); Slice jtsSerialized = JtsGeometrySerde.serialize(jtsGeometry); Slice esriSerialized = GeometrySerde.serialize(esriGeometry); assertEquals(jtsSerialized, esriSerialized); Geometry jtsDeserialized = JtsGeometrySerde.deserialize(jtsSerialized); assertGeometryEquals(jtsDeserialized, jtsGeometry); OGCGeometry esriDeserialized = GeometrySerde.deserialize(esriSerialized); assertGeometryEquals(esriDeserialized, esriGeometry); }
Example 8
Source Project: geometry-api-java File: TestConvexHull.java License: Apache License 2.0 | 5 votes |
@Test public void testHullIssueGithub194() { { //empty OGCGeometry geom = OGCGeometry.fromText("GEOMETRYCOLLECTION(POLYGON EMPTY, POLYGON((0 0, 1 0, 1 1, 0 0)), POLYGON((-10 -10, 10 -10, 10 10, -10 10, -10 -10), (-5 -5, -5 5, 5 5, 5 -5, -5 -5)))"); OGCGeometry result = geom.convexHull(); String text = result.asText(); assertTrue(text.compareTo("POLYGON ((-10 -10, 10 -10, 10 10, -10 10, -10 -10))") == 0); } }
Example 9
Source Project: geometry-api-java File: TestOGCDisjoint.java License: Apache License 2.0 | 5 votes |
private void assertNotDisjoint(String wkt, String otherWkt, String intersectionWkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); OGCGeometry otherGeometry = OGCGeometry.fromText(otherWkt); assertFalse(geometry.disjoint(otherGeometry)); assertTrue(geometry.intersects(otherGeometry)); assertEquals(intersectionWkt, geometry.intersection(otherGeometry).asText()); assertFalse(otherGeometry.disjoint(geometry)); assertTrue(otherGeometry.intersects(geometry)); assertEquals(intersectionWkt, otherGeometry.intersection(geometry).asText()); }
Example 10
Source Project: geometry-api-java File: TestOGC.java License: Apache License 2.0 | 5 votes |
@Test public void testDistanceOnGeometryCollection() { OGCGeometry ogcGeometry = OGCGeometry.fromText("GEOMETRYCOLLECTION (POINT (1 1))"); assertTrue(ogcGeometry.distance(OGCGeometry.fromText("POINT (1 1)")) == 0); //distance to empty is NAN ogcGeometry = OGCGeometry.fromText("GEOMETRYCOLLECTION (POINT (1 1))"); assertTrue(Double.isNaN(ogcGeometry.distance(OGCGeometry.fromText("POINT EMPTY")))); }
Example 11
Source Project: geometry-api-java File: TestOGCContains.java License: Apache License 2.0 | 5 votes |
private void assertContains(String wkt, String otherWkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); OGCGeometry otherGeometry = OGCGeometry.fromText(otherWkt); assertTrue(geometry.contains(otherGeometry)); assertTrue(otherGeometry.within(geometry)); assertFalse(geometry.disjoint(otherGeometry)); }
Example 12
Source Project: geometry-api-java File: TestOGCDisjoint.java License: Apache License 2.0 | 5 votes |
private void assertDisjoint(String wkt, String otherWkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); OGCGeometry otherGeometry = OGCGeometry.fromText(otherWkt); assertTrue(geometry.disjoint(otherGeometry)); assertFalse(geometry.intersects(otherGeometry)); assertTrue(geometry.intersection(otherGeometry).isEmpty()); assertTrue(otherGeometry.disjoint(geometry)); assertFalse(otherGeometry.intersects(geometry)); assertTrue(otherGeometry.intersection(geometry).isEmpty()); }
Example 13
Source Project: geometry-api-java File: TestOGC.java License: Apache License 2.0 | 5 votes |
@Test public void testFlattened() { OGCConcreteGeometryCollection ogcGeometry = (OGCConcreteGeometryCollection)OGCGeometry.fromText("GEOMETRYCOLLECTION (MULTILINESTRING ((1 2, 3 4)), MULTIPOLYGON (((1 2, 3 4, 5 6, 1 2))), MULTIPOINT (1 1))"); assertFalse(ogcGeometry.isFlattened()); ogcGeometry = (OGCConcreteGeometryCollection)OGCGeometry.fromText("GEOMETRYCOLLECTION (MULTIPOINT (1 1), MULTILINESTRING ((1 2, 3 4)), MULTIPOLYGON (((1 2, 3 4, 5 6, 1 2))))"); assertTrue(ogcGeometry.isFlattened()); }
Example 14
Source Project: geometry-api-java File: TestOGC.java License: Apache License 2.0 | 4 votes |
@Test public void testPolygon() throws Exception { OGCGeometry g = OGCGeometry .fromText("POLYGON((-10 -10, 10 -10, 10 10, -10 10, -10 -10), (-5 -5, -5 5, 5 5, 5 -5, -5 -5))"); assertTrue(g.geometryType().equals("Polygon")); OGCPolygon p = (OGCPolygon) g; assertTrue(p.numInteriorRing() == 1); OGCLineString ls = p.exteriorRing(); // assertTrue(ls.pointN(1).equals(OGCGeometry.fromText("POINT(10 -10)"))); boolean b = ls .Equals(OGCGeometry .fromText("LINESTRING(-10 -10, 10 -10, 10 10, -10 10, -10 -10)")); assertTrue(b); OGCLineString lsi = p.interiorRingN(0); b = lsi.Equals(OGCGeometry .fromText("LINESTRING(-5 -5, -5 5, 5 5, 5 -5, -5 -5)")); assertTrue(b); b = lsi.equals((Object)OGCGeometry .fromText("LINESTRING(-5 -5, -5 5, 5 5, 5 -5, -5 -5)")); assertTrue(!lsi.Equals(ls)); OGCMultiCurve boundary = p.boundary(); String s = boundary.asText(); assertTrue(s.equals("MULTILINESTRING ((-10 -10, 10 -10, 10 10, -10 10, -10 -10), (-5 -5, -5 5, 5 5, 5 -5, -5 -5))")); { OGCGeometry g2 = OGCGeometry.fromGeoJson( "{\"type\": \"Polygon\", \"coordinates\": [[[1.00000001,1.00000001], [4.00000001,1.00000001], [4.00000001,4.00000001], [1.00000001,4.00000001]]]}"); OGCGeometry .fromGeoJson( "{\"type\": \"LineString\", \"coordinates\": [[1.00000001,1.00000001], [7.00000001,8.00000001]]}") .intersects(g2); OGCGeometry .fromGeoJson( "{\"type\": \"LineString\", \"coordinates\": [[2.449,4.865], [7.00000001,8.00000001]]}") .intersects(g2); OGCGeometry g3 = OGCGeometry.fromGeoJson( "{\"type\": \"Polygon\", \"coordinates\": [[[1.00000001,1.00000001], [4.00000001,1.00000001], [4.00000001,4.00000001], [1.00000001,4.00000001]]]}"); boolean bb = g2.equals((Object) g3); assertTrue(bb); } }
Example 15
Source Project: geometry-api-java File: TestOGCGeometryCollection.java License: Apache License 2.0 | 4 votes |
private void assertContains(String wkt, String otherWkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); OGCGeometry otherGeometry = OGCGeometry.fromText(otherWkt); Assert.assertTrue(geometry.contains(otherGeometry)); Assert.assertTrue(otherGeometry.within(geometry)); }
Example 16
Source Project: geometry-api-java File: TestOGC.java License: Apache License 2.0 | 4 votes |
@Test public void testGeometryCollection() throws Exception { OGCGeometry g = OGCGeometry .fromText("GEOMETRYCOLLECTION(POLYGON EMPTY, POINT(1 1), LINESTRING EMPTY, MULTIPOLYGON EMPTY, MULTILINESTRING EMPTY)"); assertTrue(g.geometryType().equals("GeometryCollection")); OGCConcreteGeometryCollection gc = (OGCConcreteGeometryCollection) g; assertTrue(gc.numGeometries() == 5); assertTrue(gc.geometryN(0).geometryType().equals("Polygon")); assertTrue(gc.geometryN(1).geometryType().equals("Point")); assertTrue(gc.geometryN(2).geometryType().equals("LineString")); assertTrue(gc.geometryN(3).geometryType().equals("MultiPolygon")); assertTrue(gc.geometryN(4).geometryType().equals("MultiLineString")); g = OGCGeometry .fromText("GEOMETRYCOLLECTION(POLYGON EMPTY, POINT(1 1), GEOMETRYCOLLECTION EMPTY, LINESTRING EMPTY, GEOMETRYCOLLECTION(POLYGON EMPTY, POINT(1 1), LINESTRING EMPTY, MULTIPOLYGON EMPTY, MULTILINESTRING EMPTY, MULTIPOINT EMPTY), MULTIPOLYGON EMPTY, MULTILINESTRING EMPTY)"); assertTrue(g.geometryType().equals("GeometryCollection")); gc = (OGCConcreteGeometryCollection) g; assertTrue(gc.numGeometries() == 7); assertTrue(gc.geometryN(0).geometryType().equals("Polygon")); assertTrue(gc.geometryN(1).geometryType().equals("Point")); assertTrue(gc.geometryN(2).geometryType().equals("GeometryCollection")); assertTrue(gc.geometryN(3).geometryType().equals("LineString")); assertTrue(gc.geometryN(4).geometryType().equals("GeometryCollection")); assertTrue(gc.geometryN(5).geometryType().equals("MultiPolygon")); assertTrue(gc.geometryN(6).geometryType().equals("MultiLineString")); OGCConcreteGeometryCollection gc2 = (OGCConcreteGeometryCollection) gc .geometryN(4); assertTrue(gc2.numGeometries() == 6); assertTrue(gc2.geometryN(0).geometryType().equals("Polygon")); assertTrue(gc2.geometryN(1).geometryType().equals("Point")); assertTrue(gc2.geometryN(2).geometryType().equals("LineString")); assertTrue(gc2.geometryN(3).geometryType().equals("MultiPolygon")); assertTrue(gc2.geometryN(4).geometryType().equals("MultiLineString")); assertTrue(gc2.geometryN(5).geometryType().equals("MultiPoint")); ByteBuffer wkbBuffer = g.asBinary(); g = OGCGeometry.fromBinary(wkbBuffer); assertTrue(g.geometryType().equals("GeometryCollection")); gc = (OGCConcreteGeometryCollection) g; assertTrue(gc.numGeometries() == 7); assertTrue(gc.geometryN(0).geometryType().equals("Polygon")); assertTrue(gc.geometryN(1).geometryType().equals("Point")); assertTrue(gc.geometryN(2).geometryType().equals("GeometryCollection")); assertTrue(gc.geometryN(3).geometryType().equals("LineString")); assertTrue(gc.geometryN(4).geometryType().equals("GeometryCollection")); assertTrue(gc.geometryN(5).geometryType().equals("MultiPolygon")); assertTrue(gc.geometryN(6).geometryType().equals("MultiLineString")); gc2 = (OGCConcreteGeometryCollection) gc.geometryN(4); assertTrue(gc2.numGeometries() == 6); assertTrue(gc2.geometryN(0).geometryType().equals("Polygon")); assertTrue(gc2.geometryN(1).geometryType().equals("Point")); assertTrue(gc2.geometryN(2).geometryType().equals("LineString")); assertTrue(gc2.geometryN(3).geometryType().equals("MultiPolygon")); assertTrue(gc2.geometryN(4).geometryType().equals("MultiLineString")); assertTrue(gc2.geometryN(5).geometryType().equals("MultiPoint")); String wktString = g.asText(); assertTrue(wktString .equals("GEOMETRYCOLLECTION (POLYGON EMPTY, POINT (1 1), GEOMETRYCOLLECTION EMPTY, LINESTRING EMPTY, GEOMETRYCOLLECTION (POLYGON EMPTY, POINT (1 1), LINESTRING EMPTY, MULTIPOLYGON EMPTY, MULTILINESTRING EMPTY, MULTIPOINT EMPTY), MULTIPOLYGON EMPTY, MULTILINESTRING EMPTY)")); g = OGCGeometry .fromGeoJson("{\"type\" : \"GeometryCollection\", \"geometries\" : [{\"type\" : \"Polygon\", \"coordinates\" : []}, {\"type\" : \"Point\", \"coordinates\" : [1, 1]}, {\"type\" : \"GeometryCollection\", \"geometries\" : []}, {\"type\" : \"LineString\", \"coordinates\" : []}, {\"type\" : \"GeometryCollection\", \"geometries\" : [{\"type\": \"Polygon\", \"coordinates\" : []}, {\"type\" : \"Point\", \"coordinates\" : [1,1]}, {\"type\" : \"LineString\", \"coordinates\" : []}, {\"type\" : \"MultiPolygon\", \"coordinates\" : []}, {\"type\" : \"MultiLineString\", \"coordinates\" : []}, {\"type\" : \"MultiPoint\", \"coordinates\" : []}]}, {\"type\" : \"MultiPolygon\", \"coordinates\" : []}, {\"type\" : \"MultiLineString\", \"coordinates\" : []} ] }"); wktString = g.asText(); assertTrue(wktString .equals("GEOMETRYCOLLECTION (POLYGON EMPTY, POINT (1 1), GEOMETRYCOLLECTION EMPTY, LINESTRING EMPTY, GEOMETRYCOLLECTION (POLYGON EMPTY, POINT (1 1), LINESTRING EMPTY, MULTIPOLYGON EMPTY, MULTILINESTRING EMPTY, MULTIPOINT EMPTY), MULTIPOLYGON EMPTY, MULTILINESTRING EMPTY)")); assertTrue(g.equals((Object)OGCGeometry.fromText(wktString))); assertTrue(g.hashCode() == OGCGeometry.fromText(wktString).hashCode()); }
Example 17
Source Project: geometry-api-java File: TestEstimateMemorySize.java License: Apache License 2.0 | 4 votes |
private static OGCGeometry parseWkt(String wkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); geometry.setSpatialReference(null); return geometry; }
Example 18
Source Project: geometry-api-java File: TestOGCGeometryCollection.java License: Apache License 2.0 | 4 votes |
private void assertUnion(String wkt, String otherWkt, String expectedWkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); OGCGeometry otherGeometry = OGCGeometry.fromText(otherWkt); Assert.assertEquals(expectedWkt, geometry.union(otherGeometry).asText()); Assert.assertEquals(expectedWkt, otherGeometry.union(geometry).asText()); }
Example 19
Source Project: geometry-api-java File: TestOGCContains.java License: Apache License 2.0 | 4 votes |
private void assertNotContains(String wkt, String otherWkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); OGCGeometry otherGeometry = OGCGeometry.fromText(otherWkt); assertFalse(geometry.contains(otherGeometry)); assertFalse(otherGeometry.within(geometry)); }
Example 20
Source Project: geometry-api-java File: TestOGCCentroid.java License: Apache License 2.0 | 4 votes |
private static void assertEmptyCentroid(String wkt) { OGCGeometry geometry = OGCGeometry.fromText(wkt); OGCGeometry centroid = geometry.centroid(); Assert.assertEquals(centroid, new OGCPoint(new Point(), geometry.getEsriSpatialReference())); }