Neo4j Spatial at LocationDay 2013 in Malmö

1,229 views

Published on

Craig presented 'Neo4j Spatial' at http://locationday.io, an innovative one-day conference in December 2013 in Malmö, Sweden, featuring live streaming of all presentations. A recording of the presentation can also be seen on YouTube at https://www.youtube.com/watch?v=TaV0J5pFMFU

Published in: Software, Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,229
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
28
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • The purpose of this presentation is to introduce Neo4j Spatial, and two specific projects, the GSoC and OSM
    Mention Neo Technologies and AmanziTel, but no more
    We have a product in the market that uses uDig and Neo4j, but felt that our integration was too specific to our needs, and so decided to collaborate with Neo Technologies to produce a more generalized library available as an extension to the database
  • KV: Dynomite, Voldemort, Tokyo*
    BigTable: HBase, Hypertable, Cassandra
    Document: CouchDB, MongoDB
    Graph: AllegroGraph, Sones, Neo4j
  • The current success and popularity of NoSQL data models has been driven by the internet, and the associated explosion in the volume and interconnectedness of data.
  • This example does highlight a few things about semi-structured data, schema-less databases and even opens the conversation for some discussions on performance (implicit indexes through local search, etc.)
  • Storage:
    plugable – dataset, layer, encoder
    Search:
    Indexing is currently an R-Tree, but it is possible to plug in any custom mechanism conforming to the interface.
    Multi-dimensional index
    Spatial indices (quad-tree, R-tree, kn-tree, SFCs)
    Composite indices and dynamic indices
    Lucene
  • Neo4j Spatial at LocationDay 2013 in Malmö

    1. 1. Neo4jSpatial Craig Taverner Neo Technology / AmanziTel #neo4j @craigtaverner craig@amanzi.com Web Map Data with Neo4j-Spatial and OpenStreetMap
    2. 2. Where are the Mushrooms?
    3. 3. Where are the Mushrooms?
    4. 4. NoSQL Not Only SQLNot Only SQL
    5. 5. NOSQL data models Bigtable clones Key-value stores Document databases Graph databases Data complexity Datasize Points Points Points Point, LineString, Polygon, MultiPolygon, Geoprocessing, OpenStreetMap
    6. 6. Neo4j – Nodes, Relationships, Properties Nodes have different properties Matrix characters: People vs. Programs Build structure as you go Who loves Neo?
    7. 7. Neo4j Spatial 2010 GSoC 2010 Core Storage, GeometryEncoder Search/RTree, Operations I/O (Shapefile) Extensions Geotools Datastore GeoServer & uDig Ruby API neo4j-spatial.rb (Rubygem) OpenStreetMap Import OSM, Dynamic Layers (JSON & CQL) Export Shapefiles, and SLD styled PNG
    8. 8. Neo4j OSM in uDig
    9. 9. OpenStreetMap
    10. 10. OpenStreetMap
    11. 11. OpenStreetMap
    12. 12. OpenStreetMap OSM RTree namic ayers Dynamic Layers
    13. 13. Routing on OSM
    14. 14. Neo4j-Spatial 2011 OSM Performance Changesets and Users Geoprocessing LBS and SimplePointLayer Routing OSM GSoC 2011 – Geoprocessing functions Data Mining OSM What's next Geoprocessing pipeline Cool domains: artistic maps
    15. 15. Finding things close to other things http://blog.neo4j.org/2011/03/neo4j-spatial-part1-finding-things.html
    16. 16. Finding things close to other things http://blog.neo4j.org/2011/03/neo4j-spatial-part1-finding-things.html
    17. 17. Routing with OSM
    18. 18. Data Mining OSM timestamp > 1207014810000 and timestamp < 1208310810000 and ( user = 'Zenon' or user = 'tomasCY' or user = 'muffu' or user = 'dcp' or user = 'cartOMike' or user = 'djanda' or user = 'Peter14' or user = 'toaster' or user = 'user_7363' or user = 'lyx' )
    19. 19. Artistic Maps
    20. 20. Artistic Maps
    21. 21. Artistic Maps
    22. 22. Cellular Network Topology
    23. 23. Cellular Network Topology ID Site Latitude Longitude 1 ABC 55.678 12.567 2 XYZ 55.890 12.123 3 PRQ 55.543 12.890 ID Sector SiteID Azimuth Beamwidth 1 1 1 0 100 2 2 1 120 100 3 3 1 240 100 4 1 2 0 90 5 2 2 120 110 6 3 2 240 90 7 1 3 0 180 8 2 3 180 180 O(N) O(ln(N)) O(1)

    ×