- while (rit.hasNext()) {
- Row row = rit.nextRow();
- Value[] values = row.getValues();
- List<String> lst = new ArrayList<>();
- for (Value value : values) {
- lst.add(value.getString());
+ if (rit.hasNext()) {
+ while (rit.hasNext()) {
+ Row row = rit.nextRow();
+ Value[] values = row.getValues();
+ List<String> lst = new ArrayList<>();
+ for (Value value : values) {
+ lst.add(value.getString());
+ }
+ // display
+ lst.add(row.getValue("name").getString() + " (" + row.getValue("label").getString() + ")");
+ Node field = row.getNode("geopoint");
+ if (field != null && field.isNodeType(EntityType.geopoint.get())) {
+ double lat = field.getProperty(WGS84PosName.lat.get()).getDouble();
+ double lon = field.getProperty(WGS84PosName.lon.get()).getDouble();
+ double alt = field.hasProperty(WGS84PosName.alt.get())
+ ? field.getProperty(WGS84PosName.alt.get()).getDouble()
+ : Double.NaN;
+ String geoshape = GeoShapeUtils.geoPointToGeoShape(lon, lat, alt);
+ lst.add(geoshape);
+ }
+ csvWriter.writeLine(lst);