neo4j-spatial 0.0.1-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/CHANGELOG +3 -0
  2. data/CONTRIBUTORS +5 -0
  3. data/Gemfile +15 -0
  4. data/README.rdoc +55 -0
  5. data/examples/export_layer.rb +54 -0
  6. data/examples/map.osm +6470 -0
  7. data/examples/map2.osm +131867 -0
  8. data/examples/osm_import.rb +29 -0
  9. data/examples/osm_layer.rb +55 -0
  10. data/examples/test.rb +92 -0
  11. data/lib/neo4j/spatial/cmd.rb +37 -0
  12. data/lib/neo4j/spatial/database.rb +85 -0
  13. data/lib/neo4j/spatial/image.rb +54 -0
  14. data/lib/neo4j/spatial/jars/gt-main/gt-api-2.7-M3.jar +0 -0
  15. data/lib/neo4j/spatial/jars/gt-main/gt-main-2.7-M3.jar +0 -0
  16. data/lib/neo4j/spatial/jars/gt-main/jdom-1.0.jar +0 -0
  17. data/lib/neo4j/spatial/jars/gt-main/jts-1.11.jar +0 -0
  18. data/lib/neo4j/spatial/jars/gt-main/xercesImpl-2.4.0.jar +0 -0
  19. data/lib/neo4j/spatial/jars/gt-render/gt-coverage-2.7-M3.jar +0 -0
  20. data/lib/neo4j/spatial/jars/gt-render/gt-cql-2.7-M3.jar +0 -0
  21. data/lib/neo4j/spatial/jars/gt-render/gt-render-2.7-M3.jar +0 -0
  22. data/lib/neo4j/spatial/jars/gt-render/imageio-ext-tiff-1.0.7.jar +0 -0
  23. data/lib/neo4j/spatial/jars/gt-render/imageio-ext-utilities-1.0.7.jar +0 -0
  24. data/lib/neo4j/spatial/jars/gt-render/jai_codec-1.1.3.jar +0 -0
  25. data/lib/neo4j/spatial/jars/gt-render/jai_core-1.1.3.jar +0 -0
  26. data/lib/neo4j/spatial/jars/gt-render/jai_imageio-1.1.jar +0 -0
  27. data/lib/neo4j/spatial/jars/gt-shapefile/commons-pool-1.5.4.jar +0 -0
  28. data/lib/neo4j/spatial/jars/gt-shapefile/geoapi-2.3-M1.jar +0 -0
  29. data/lib/neo4j/spatial/jars/gt-shapefile/geoapi-pending-2.3-M1.jar +0 -0
  30. data/lib/neo4j/spatial/jars/gt-shapefile/gt-data-2.7-M3.jar +0 -0
  31. data/lib/neo4j/spatial/jars/gt-shapefile/gt-metadata-2.7-M3.jar +0 -0
  32. data/lib/neo4j/spatial/jars/gt-shapefile/gt-referencing-2.7-M3.jar +0 -0
  33. data/lib/neo4j/spatial/jars/gt-shapefile/gt-shapefile-2.7-M3.jar +0 -0
  34. data/lib/neo4j/spatial/jars/gt-shapefile/jsr-275-1.0-beta-2.jar +0 -0
  35. data/lib/neo4j/spatial/jars/gt-shapefile/vecmath-1.3.2.jar +0 -0
  36. data/lib/neo4j/spatial/jars/json-simple-1.1.jar +0 -0
  37. data/lib/neo4j/spatial/jars/log4j-1.2.14.jar +0 -0
  38. data/lib/neo4j/spatial/jars/neo4j-spatial-0.3-SNAPSHOT.jar +0 -0
  39. data/lib/neo4j/spatial/layer.rb +60 -0
  40. data/lib/neo4j/spatial/listener.rb +29 -0
  41. data/lib/neo4j/spatial/osm.rb +52 -0
  42. data/lib/neo4j/spatial/shapefile.rb +50 -0
  43. data/lib/neo4j/spatial/version.rb +5 -0
  44. data/lib/neo4j/spatial.rb +56 -0
  45. data/neo4j-spatial.gemspec +31 -0
  46. metadata +158 -0
data/CHANGELOG ADDED
@@ -0,0 +1,3 @@
1
+ == 0.0.1 / 2010-12-09
2
+ * First release based on trivial wrapper on Neo4j Spatial 0.3-SNAPSHOT
3
+ * Depends on Neo4j.rb 1.0.0 (beta), to get the required Neo4j-1.2 jars
data/CONTRIBUTORS ADDED
@@ -0,0 +1,5 @@
1
+ Maintainer:
2
+ Craig Taverner <craig at amanzi dot com>
3
+
4
+ Contributors:
5
+ *
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source :gemcutter
2
+
3
+ gemspec
4
+
5
+ group 'test' do
6
+ gem "rake", ">= 0.8.7"
7
+ gem "rdoc", ">= 2.5.10"
8
+ gem "horo", ">= 1.0.2"
9
+ gem "rspec", ">= 2.0.0"
10
+ gem "test-unit"
11
+ end
12
+
13
+ #gem 'ruby-debug-base19' if RUBY_VERSION.include? "1.9"
14
+ #gem 'ruby-debug-base' if RUBY_VERSION.include? "1.8"
15
+ #gem "ruby-debug-ide"
data/README.rdoc ADDED
@@ -0,0 +1,55 @@
1
+ == Welcome to neo4j-spatial.rb
2
+
3
+ Neo4j is a graph database for Java, Neo4j.rb is a graph database for JRuby using Neo4j internally. Neo4j-spatial.rb is a wrapper on Neo4j.rb that includes all the Java dependencies to enable spatial analysis, and includes some Ruby wrappers to access the spatial utilities.
4
+
5
+ For more information on the underlying components refer to:
6
+ * {Neo4J}[http://www.neo4j.org] - for persistence and traversal of the graph
7
+ * {Neo4J.rb}[http://github.com/andreasronge/neo4j] - for Ruby API to Neo4j
8
+ * {Neo4j-Spatial}[http://github.com/neo4j/neo4j-spatial] - for loading, indexing and analysing spatial data
9
+
10
+ === Why Neo4j-Spatial.rb ?
11
+
12
+ When we wrote Neo4j-spatial we found that while it had many capabilities, most users did not know about them. The lack of articles, blogs and examples made the code a little unapproachable. This Ruby wrapper was originally written to support writing blogs about some of the interesting use cases that are possible with Neo4j-Spatial, but the decision to base it on Andreas Ronges excellent Neo4j.rb library also means that it can be used in a much wider context, including Rails application.
13
+
14
+ === Documentation
15
+
16
+ .. to be done ..
17
+
18
+ === Installation
19
+
20
+ Two options:
21
+ * As a RubyGem: jruby -S gem install neo4j-spatial
22
+ * From source: git clone git@github.com:craigtaverner/neo4j-spatial.rb.git
23
+
24
+ Take note that neo4j-spatial.rb requires that you install the neo4j gem for database access, and optionally the amanzi-sld gem (for advanced styling of the PNG exports). If you install neo4j-spatial as a rubygem, you should get these dependencies automatically, otherwise be sure to install them before running the examples below.
25
+
26
+ === Some Examples
27
+
28
+ .. to be done ..
29
+ (or see the code in the command-line utilities described below for examples)
30
+
31
+ === Command-line utilities
32
+
33
+ The examples directory includes a few sample Ruby scripts for various import/export tasks, as well as some sample OSM data to test one. Consider the following run through:
34
+
35
+ git clone git@github.com:craigtaverner/neo4j-spatial.rb.git
36
+ cd neo4j-spatial.rb/examples
37
+ jruby osm_import.rb map2.osm
38
+ jruby osm_layer.rb map2.osm highway highway-residential waterway natural natural-water
39
+ jruby osm_layer.rb -l
40
+ jruby export_layer.rb highway-residential
41
+ jruby export_layer.rb -F shp highway-residential natural
42
+
43
+ Then take a look in the examples/target/export directory for the PNG and SHP files generated. Run each of the three utility commands with no arguments, or with -h, to see what options are available.
44
+
45
+ === Contributing
46
+
47
+ Have you found a bug, need help or have a patch ?
48
+ Just clone neo4j-spatial.rb and send me a pull request or email me.
49
+ Do you need help - mail the neo4j or neo4j.rb mailing lists.
50
+
51
+ === License
52
+
53
+ * Neo4j and Neo4j-Spatial - Dual free software/commercial license, see http://neo4j.org/
54
+ * Neo4j.rb - MIT, see the LICENSE file http://github.com/andreasronge/neo4j/tree/master/LICENSE.
55
+ * Lucene - Apache, see http://lucene.apache.org/java/docs/features.html
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env jruby
2
+
3
+ # useful if being run inside a source code checkout
4
+ $: << 'lib'
5
+ $: << '../lib'
6
+
7
+ require 'rubygems'
8
+ require 'neo4j/spatial'
9
+ require 'neo4j/spatial/cmd'
10
+
11
+ $args = Neo4j::Spatial::Cmd.args
12
+
13
+ if $list === 'layers'
14
+ layers = Neo4j::Spatial::Layer.list
15
+ puts "Have #{layers.length} existing layers in the database:"
16
+ layers.each {|l| puts "\t#{l} (#{l.type_name})"}
17
+ puts
18
+ exit 0
19
+ end
20
+
21
+ if $help || $args.length < 1
22
+ puts <<-eos
23
+
24
+ usage: ./export_layer.rb <-D storage_path> <-F format> <-E dir> <-l> <-h> layer <layers>
25
+ -D Use specified database location
26
+ -F Use specified export format (png, shp)
27
+ -E Use specified export directory path (default '.')
28
+ -l List existing database layers first
29
+ -h Display this help and exit
30
+ The layer(s) should be pre-existing layers (including dynamic layers) in the database.
31
+ Supported formats are 'shp' for ESRI Shapefile and 'png' for images.
32
+
33
+ For example:
34
+ ./export_layer.rb -D db -E exports -F png croatia.osm highway highway-residential natural-water
35
+
36
+ This will export four previously defined layers to png format files in the 'exports' directory.
37
+
38
+ eos
39
+ exit
40
+ end
41
+
42
+ if $format.to_s === 'shp'
43
+ $exporter = Neo4j::Spatial::ShapefileExporter.new :dir => $export
44
+ else
45
+ $exporter = Neo4j::Spatial::ImageExporter.new :dir => $export
46
+ end
47
+
48
+ puts "Exporting #{$args.length} layers to #{$exporter.format}"
49
+
50
+ $args.each do |layer|
51
+ l = Neo4j::Spatial::Layer.find layer
52
+ puts "Exporting #{l} (#{l.type_name}) - #{l.index.layer_bounding_box}"
53
+ $exporter.export l.name
54
+ end