我正在使用geomesa中的Point几何类型,用于特征类型中的强经度细节。在存储新功能时的用例中,我没有lat-long的值,所以我尝试为createPoint函数发送null对象,但库'jts‘在处理空几何类型时抛出异常。Here是源代码。通过查看jts库的实现,似乎很难在geomesa Point中存储null。我可以尝试的可能性是什么?以下是我的代码的快照:
sf.setAttribute(Attributes.GEOMETRY.getValue(), JTSFactoryFinder.getGeometryFactory().createPoint((Coordinate)null/*new Coordinate(event.lat, event.lng)*/));为异常附加日志:
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)发布于 2017-05-16 23:07:20
GeoMesa是一个空间/时空数据库系统。因此,在没有几何图形的情况下存储数据并不是主要用例。GeoMesa中的许多索引都假定有效的经纬度点。
https://stackoverflow.com/questions/43974754
复制相似问题