2017-05-15 2 views
0

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) 
+0

Il existe plusieurs endroits où l'intégration avec SimpleFeatures, GeoTools et GeoServer suppose des géométries non nulles. – GeoMesaJim

Répondre

0

GeoMesa est un système de base de données spatiale/spatio-temporelle. En tant que tel, stocker des données sans géométrie n'est pas un cas d'utilisation principal. La plupart des indices de GeoMesa supposent des points de longitude-latitude valides.