use of org.geojson.FeatureCollection in project OpenTripPlanner by opentripplanner.
the class BanoGeocoder method geocode.
/**
*/
@Override
public GeocoderResults geocode(String address, Envelope bbox) {
try {
URL banoUrl = getBanoGeocoderUrl(address, bbox);
URLConnection conn = banoUrl.openConnection();
InputStream in = conn.getInputStream();
FeatureCollection featureCollection = mapper.readValue(in, FeatureCollection.class);
in.close();
List<GeocoderResult> geocoderResults = new ArrayList<GeocoderResult>();
for (Feature feature : featureCollection.getFeatures()) {
GeoJsonObject geom = feature.getGeometry();
if (geom instanceof Point) {
Point p = (Point) geom;
GeocoderResult res = new GeocoderResult();
res.setLat(p.getCoordinates().getLatitude());
res.setLng(p.getCoordinates().getLongitude());
res.setDescription(feature.getProperties().get("label").toString());
/*
* Note: We also have here as properties a break-down of other details, such as
* the house number, street, city, postcode... Can be useful if needed.
*/
geocoderResults.add(res);
} else {
// Should not happen according to the API
}
}
return new GeocoderResults(geocoderResults);
} catch (IOException e) {
LOG.error("Error processing BANO geocoder results", e);
return new GeocoderResults(e.getLocalizedMessage());
}
}
use of org.geojson.FeatureCollection in project collect by openforis.
the class SamplingPointsController method loadSamplingPointDataFeatures.
private FeatureCollection loadSamplingPointDataFeatures(CollectSurvey survey) {
FeatureCollection featureCollection = new FeatureCollection();
Feature feature = new Feature();
feature.setProperty("letter", "o");
feature.setProperty("color", "blue");
feature.setProperty("rank", "15");
MultiPoint multiPoint = new MultiPoint();
CoordinateOperations coordinateOperations = getCoordinateOperations(survey);
List<SamplingDesignItem> samplingDesignItems = loadSamplingDesignItems(survey);
for (SamplingDesignItem item : samplingDesignItems) {
Coordinate coordinate = new Coordinate(item.getX(), item.getY(), item.getSrsId());
multiPoint.add(createLngLatAlt(coordinateOperations, coordinate));
}
feature.setGeometry(multiPoint);
featureCollection.add(feature);
return featureCollection;
}
Aggregations