Skip to content

Instantly share code, notes, and snippets.

@peterneubauer
Last active December 18, 2015 17:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peterneubauer/5822727 to your computer and use it in GitHub Desktop.
Save peterneubauer/5822727 to your computer and use it in GitHub Desktop.
Minimal Spatial setup
package spatial;
import com.vividsolutions.jts.geom.Coordinate;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.geotools.map.Layer;
import org.neo4j.collections.rtree.Envelope;
import org.neo4j.collections.rtree.SpatialIndexReader;
import org.neo4j.gis.spatial.EditableLayer;
import org.neo4j.gis.spatial.SimplePointLayer;
import org.neo4j.gis.spatial.SpatialDatabaseRecord;
import org.neo4j.gis.spatial.SpatialDatabaseService;
import org.neo4j.gis.spatial.pipes.GeoPipeFlow;
import org.neo4j.gis.spatial.pipes.GeoPipeline;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
public class Spatial {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Map<String, String> conf = new HashMap<String, String>();
GraphDatabaseService graph = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder("./graph").setConfig(conf).newGraphDatabase();
try {
SpatialDatabaseService db = new SpatialDatabaseService(graph);
EditableLayer layer = db.getOrCreatePointLayer("neo-text", "lat", "lon");
Coordinate coordinate = new Coordinate(13.76, 55.56);
layer.add( layer.getGeometryFactory().createPoint(
coordinate) );
// Search for nearby locations
List<SpatialDatabaseRecord> results = GeoPipeline.startNearestNeighborLatLonSearch(layer,coordinate, 10.0).toSpatialDatabaseRecordList();
for(SpatialDatabaseRecord record : results) {
System.out.println(record.getNodeId());
}
} finally {
graph.shutdown();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment