J'utilise le type de géométrie Point
dans geomesa pour des détails lat-longs forts dans le type d'entités. Dans le cas d'utilisation lors du stockage d'une nouvelle fonctionnalité je n'ai pas de valeur pour lat-long donc j'ai essayé d'envoyer null
objet pour la fonction createPoint
, mais la bibliothèque 'jts' jetant exception lors du traitement de type géométrie nulle. Here est le code source. En voyant la mise en œuvre de la bibliothèque jts
, il semble difficile de stocker null dans le point geomesa. Quelles sont les possibilités que je peux faire? Voici l'aperçu de mon code:Geomesa accumulo stockant null Point pour la géométrie
sf.setAttribute(Attributes.GEOMETRY.getValue(), JTSFactoryFinder.getGeometryFactory().createPoint((Coordinate)null/*new Coordinate(event.lat, event.lng)*/));
Attachement journaux d'exception:
java.lang.IllegalStateException: getX called on empty Point
at com.vividsolutions.jts.geom.Point.getX(Point.java:124)
at org.locationtech.geomesa.utils.uuid.Z3UuidGenerator$.createUuid(Z3FeatureIdGenerator.scala:93)
at org.locationtech.geomesa.utils.uuid.Z3UuidGenerator$.createUuid(Z3FeatureIdGenerator.scala:70)
at org.locationtech.geomesa.utils.uuid.Z3FeatureIdGenerator.createId(Z3FeatureIdGenerator.scala:32)
at org.locationtech.geomesa.index.geotools.GeoMesaFeatureWriter$.featureWithFid(GeoMesaFeatureWriter.scala:64)
at org.locationtech.geomesa.index.geotools.GeoMesaFeatureWriter.writeFeature(GeoMesaFeatureWriter.scala:128)
at org.locationtech.geomesa.index.geotools.GeoMesaAppendFeatureWriter$class.write(GeoMesaFeatureWriter.scala:194)
at org.locationtech.geomesa.accumulo.data.AccumuloAppendFeatureWriter.write(AccumuloFeatureWriter.scala:19)
at com.hps.GeomesaClient.insert(GeomesaClient.java:129)
Il existe plusieurs endroits où l'intégration avec SimpleFeatures, GeoTools et GeoServer suppose des géométries non nulles. – GeoMesaJim