2222import mil .nga .giat .geowave .core .geotime .store .dimension .GeometryWrapper ;
2323import mil .nga .giat .geowave .core .geotime .store .dimension .Time ;
2424import mil .nga .giat .geowave .core .index .ByteArrayId ;
25+ import mil .nga .giat .geowave .core .index .FloatCompareUtils ;
2526import mil .nga .giat .geowave .core .index .StringUtils ;
2627import mil .nga .giat .geowave .core .ingest .GeoWaveData ;
2728import mil .nga .giat .geowave .core .ingest .IngestPluginBase ;
@@ -326,7 +327,11 @@ public CloseableIterator<GeoWaveData<Object>> toGeoWaveData(
326327
327328 ptBuilder .add (geometry );
328329
329- if (event .DetailLatitude .get () != Stanag4676EventWritable .NO_DETAIL && event .DetailLongitude .get () != Stanag4676EventWritable .NO_DETAIL ) {
330+ if (!FloatCompareUtils .checkDoublesEqual (
331+ event .DetailLatitude .get (),
332+ Stanag4676EventWritable .NO_DETAIL ) && !FloatCompareUtils .checkDoublesEqual (
333+ event .DetailLongitude .get (),
334+ Stanag4676EventWritable .NO_DETAIL )) {
330335 detail_coord_sequence .add (event .DetailLongitude .get ());
331336 detail_coord_sequence .add (event .DetailLatitude .get ());
332337 }
@@ -335,7 +340,11 @@ public CloseableIterator<GeoWaveData<Object>> toGeoWaveData(
335340 Double detailLongitude = null ;
336341 Double detailElevation = null ;
337342 Geometry detailGeometry = null ;
338- if (event .DetailLatitude .get () != Stanag4676EventWritable .NO_DETAIL && event .DetailLongitude .get () != Stanag4676EventWritable .NO_DETAIL ) {
343+ if (!FloatCompareUtils .checkDoublesEqual (
344+ event .DetailLatitude .get (),
345+ Stanag4676EventWritable .NO_DETAIL ) && !FloatCompareUtils .checkDoublesEqual (
346+ event .DetailLongitude .get (),
347+ Stanag4676EventWritable .NO_DETAIL )) {
339348 detailLatitude = event .DetailLatitude .get ();
340349 detailLongitude = event .DetailLongitude .get ();
341350 detailElevation = event .DetailElevation .get ();
@@ -561,7 +570,15 @@ else if (event.EventType.get() == 4) {
561570 Double lastEventDetailLatitude = null ;
562571 Double lastEventDetailLongitude = null ;
563572
564- if (firstEvent .DetailLatitude .get () != Stanag4676EventWritable .NO_DETAIL && firstEvent .DetailLongitude .get () != Stanag4676EventWritable .NO_DETAIL && lastEvent .DetailLatitude .get () != Stanag4676EventWritable .NO_DETAIL && lastEvent .DetailLongitude .get () != Stanag4676EventWritable .NO_DETAIL ) {
573+ if (!FloatCompareUtils .checkDoublesEqual (
574+ firstEvent .DetailLatitude .get (),
575+ Stanag4676EventWritable .NO_DETAIL ) && !FloatCompareUtils .checkDoublesEqual (
576+ firstEvent .DetailLongitude .get (),
577+ Stanag4676EventWritable .NO_DETAIL ) && !FloatCompareUtils .checkDoublesEqual (
578+ lastEvent .DetailLatitude .get (),
579+ Stanag4676EventWritable .NO_DETAIL ) && !FloatCompareUtils .checkDoublesEqual (
580+ lastEvent .DetailLongitude .get (),
581+ Stanag4676EventWritable .NO_DETAIL )) {
565582 firstEventDetailLatitude = firstEvent .DetailLatitude .get ();
566583 firstEventDetailLongitude = firstEvent .DetailLongitude .get ();
567584 lastEventDetailLatitude = lastEvent .DetailLatitude .get ();
0 commit comments