X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.geo%2Fsrc%2Forg%2Fargeo%2Fapp%2Fapi%2Fgeo%2FFeatureAdapter.java;h=69689a95b07f1e54ca015184534b5112e43f0293;hb=e9978679e86dcd297270432e4ed953b782f1e7c6;hp=d00a2c092952c1a79850ec0c2cd5f01a9005c9c1;hpb=b4ffcdbc144ccb0633f033bb0be498988374ae68;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.geo/src/org/argeo/app/api/geo/FeatureAdapter.java b/org.argeo.app.geo/src/org/argeo/app/api/geo/FeatureAdapter.java index d00a2c0..69689a9 100644 --- a/org.argeo.app.geo/src/org/argeo/app/api/geo/FeatureAdapter.java +++ b/org.argeo.app.geo/src/org/argeo/app/api/geo/FeatureAdapter.java @@ -5,11 +5,8 @@ import javax.xml.namespace.QName; import org.argeo.api.acr.Content; import org.argeo.api.acr.search.AndFilter; import org.argeo.app.api.EntityType; -import org.argeo.app.api.WGS84PosName; -import org.argeo.app.geo.JTS; -import org.locationtech.jts.geom.Coordinate; +import org.argeo.app.geo.acr.GeoEntityUtils; import org.locationtech.jts.geom.Geometry; -import org.locationtech.jts.geom.Point; import jakarta.json.stream.JsonGenerator; @@ -18,12 +15,7 @@ public interface FeatureAdapter { // TODO deal with more defaults // TODO deal with target feature if (c.hasContentClass(EntityType.geopoint)) { - double latitude = c.get(WGS84PosName.lat, Double.class).get(); - double longitude = c.get(WGS84PosName.lon, Double.class).get(); - - Coordinate coordinate = new Coordinate(longitude, latitude); - Point the_geom = JTS.GEOMETRY_FACTORY.createPoint(coordinate); - return the_geom; + return getGeoPointGeometry(c); } return null; } @@ -31,4 +23,17 @@ public interface FeatureAdapter { void writeProperties(JsonGenerator g, Content content, QName targetFeature); void addConstraintsForFeature(AndFilter filter, QName targetFeature); + + static Geometry getGeoPointGeometry(Content c) { + if (c.hasContentClass(EntityType.geopoint)) { + return GeoEntityUtils.toPoint(c); +// double latitude = c.get(WGS84PosName.lat, Double.class).get(); +// double longitude = c.get(WGS84PosName.lon, Double.class).get(); +// +// Coordinate coordinate = new Coordinate(longitude, latitude); +// Point the_geom = JTS.GEOMETRY_FACTORY.createPoint(coordinate); +// return the_geom; + } + return null; + } }