neo4j-spatial 0.0.5-java → 0.0.6-java
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/export_layer +59 -0
- data/bin/osm_import +29 -0
- data/bin/osm_layer +74 -0
- data/lib/neo4j/spatial/version.rb +1 -1
- data/lib/neo4j/spatial/version.rb~ +5 -0
- data/neo4j-spatial.gemspec +1 -0
- metadata +11 -5
data/bin/export_layer
ADDED
@@ -0,0 +1,59 @@
|
|
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
|
+
$zoom = 1.0
|
12
|
+
$args = Neo4j::Spatial::Cmd.args
|
13
|
+
|
14
|
+
if $list === 'layers'
|
15
|
+
layers = Neo4j::Spatial::Layer.list
|
16
|
+
puts "Have #{layers.length} existing layers in the database:"
|
17
|
+
layers.each {|l| puts "\t#{l} (#{l.type_name})"}
|
18
|
+
puts
|
19
|
+
exit 0
|
20
|
+
end
|
21
|
+
|
22
|
+
if $help || $args.length < 1
|
23
|
+
puts <<-eos
|
24
|
+
|
25
|
+
usage: ./export_layer.rb <-D storage_path> <-F format> <-E dir> <-Z zoom> <-W width> <-H height> <-l> <-h> layer <layers>
|
26
|
+
-D Use specified database location
|
27
|
+
-F Use specified export format (png, shp)
|
28
|
+
-E Use specified export directory path (default '.')
|
29
|
+
-Z Zoom in by specified factor (eg. 3.0)
|
30
|
+
-W Image width (default 600)
|
31
|
+
-H Image height (default 400)
|
32
|
+
-l List existing database layers first
|
33
|
+
-h Display this help and exit
|
34
|
+
The layer(s) should be pre-existing layers (including dynamic layers) in the database.
|
35
|
+
Supported formats are 'shp' for ESRI Shapefile and 'png' for images.
|
36
|
+
|
37
|
+
For example:
|
38
|
+
./export_layer.rb -D db -E exports -F png croatia.osm highway highway-residential natural-water
|
39
|
+
|
40
|
+
This will export four previously defined layers to png format files in the 'exports' directory.
|
41
|
+
|
42
|
+
eos
|
43
|
+
exit
|
44
|
+
end
|
45
|
+
|
46
|
+
if $format.to_s.downcase === 'shp'
|
47
|
+
$exporter = Neo4j::Spatial::ShapefileExporter.new :dir => $export
|
48
|
+
else
|
49
|
+
$exporter = Neo4j::Spatial::ImageExporter.new :dir => $export, :zoom => $zoom, :width => $width, :height => $height
|
50
|
+
end
|
51
|
+
|
52
|
+
puts "Exporting #{$args.length} layers to #{$exporter.format}"
|
53
|
+
|
54
|
+
$args.each do |layer|
|
55
|
+
l = Neo4j::Spatial::Layer.find layer
|
56
|
+
puts "Exporting #{l} (#{l.type_name}) - #{l.index.layer_bounding_box}"
|
57
|
+
$exporter.export l.name
|
58
|
+
puts "Finished exporting #{l} (#{l.type_name}) of #{l.index.count} entries"
|
59
|
+
end
|
data/bin/osm_import
ADDED
@@ -0,0 +1,29 @@
|
|
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
|
+
require 'fileutils'
|
11
|
+
|
12
|
+
$files = Neo4j::Spatial::Cmd.args
|
13
|
+
|
14
|
+
if $help || $files.length < 1
|
15
|
+
puts "usage: osm_import.rb <-d> <-D storage_path> file.osm"
|
16
|
+
puts "\t-d\tDelete database first"
|
17
|
+
puts "\t-D\tUse specified database location"
|
18
|
+
exit
|
19
|
+
end
|
20
|
+
|
21
|
+
if $delete
|
22
|
+
puts "Deleting previous database #{Neo4j::Config[:storage_path]}"
|
23
|
+
FileUtils.rm_rf Neo4j::Config[:storage_path]
|
24
|
+
end
|
25
|
+
|
26
|
+
$files.each do |file|
|
27
|
+
osm_importer = Neo4j::Spatial::OSMImporter.new
|
28
|
+
osm_importer.import file
|
29
|
+
end
|
data/bin/osm_layer
ADDED
@@ -0,0 +1,74 @@
|
|
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.describe}"}
|
17
|
+
puts
|
18
|
+
exit 0
|
19
|
+
end
|
20
|
+
|
21
|
+
if $exists
|
22
|
+
if $exists == true
|
23
|
+
$exists = $args.shift
|
24
|
+
end
|
25
|
+
if Neo4j::Spatial::Layer.exist?($exists)
|
26
|
+
puts "Layer '#{$exists}' exists"
|
27
|
+
exit 0
|
28
|
+
else
|
29
|
+
puts "Layer '#{$exists}' not found"
|
30
|
+
exit -1
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
if $help || $args.length < 2
|
35
|
+
puts <<-eos
|
36
|
+
|
37
|
+
usage: ./osm_layer.rb <-D storage_path> <-x> <-l> <-r> <-h> layer layerspec <layerspecs>
|
38
|
+
-D Use specified database location
|
39
|
+
-x Test if specified layer exists (and exit)
|
40
|
+
-r Delete specified dynamic layer on specified osm layer
|
41
|
+
-l List existing database layers
|
42
|
+
-h Display this help and exit
|
43
|
+
The layer should be a pre-existing OSM layer in the database created with OSM import.
|
44
|
+
The layerspec(s) are strings that are composed of multiple '-' or '.' separators.
|
45
|
+
Each pair in order is treated as a property-value pair to match when searching the
|
46
|
+
original layer for the new dynamic layer geometries.
|
47
|
+
|
48
|
+
For example:
|
49
|
+
./osm_layer.rb -D db croatia.osm highway highway-residential natural-water
|
50
|
+
|
51
|
+
This will define three dynamic layers in the croation.osm dataset:
|
52
|
+
highway all ways that have a 'highway' property
|
53
|
+
highway-residential all ways that have 'highway'='residential'
|
54
|
+
natural-waterway all ways that have 'natural'='waterway'
|
55
|
+
|
56
|
+
eos
|
57
|
+
exit
|
58
|
+
end
|
59
|
+
|
60
|
+
$layer = Neo4j::Spatial::OSMLayer.new $args.shift
|
61
|
+
|
62
|
+
if $layer.empty?
|
63
|
+
puts "No such layer: #{$layer}"
|
64
|
+
end
|
65
|
+
|
66
|
+
$args.each do |layerspec|
|
67
|
+
x = layerspec.split(/[\.-]/) << nil
|
68
|
+
x = x[0...(2*(x.length/2))] # allow only even number of entries
|
69
|
+
if $delete
|
70
|
+
$layer.remove_dynamic_layer Hash[*x]
|
71
|
+
else
|
72
|
+
$layer.add_dynamic_layer Hash[*x]
|
73
|
+
end
|
74
|
+
end
|
data/neo4j-spatial.gemspec
CHANGED
@@ -22,6 +22,7 @@ EOF
|
|
22
22
|
|
23
23
|
s.require_path = 'lib'
|
24
24
|
s.files = Dir.glob("{bin,lib,examples}/**/*").reject{|x| x=~/(tmp|target|croatia|test-data)/} + %w(README.rdoc CHANGELOG CONTRIBUTORS Gemfile neo4j-spatial.gemspec)
|
25
|
+
s.executables = ['osm_import', 'osm_layer', 'export_layer']
|
25
26
|
s.has_rdoc = true
|
26
27
|
s.extra_rdoc_files = %w( README.rdoc )
|
27
28
|
s.rdoc_options = ["--quiet", "--title", "Neo4j-Spatial.rb", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4j-spatial
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
11
11
|
platform: java
|
12
12
|
authors:
|
13
13
|
- Craig Taverner
|
@@ -58,13 +58,18 @@ description: |
|
|
58
58
|
access Neo4j-Spatial features from the convenience of the Ruby scripting language.
|
59
59
|
|
60
60
|
email: craig@amanzi.com
|
61
|
-
executables:
|
62
|
-
|
61
|
+
executables:
|
62
|
+
- osm_import
|
63
|
+
- osm_layer
|
64
|
+
- export_layer
|
63
65
|
extensions: []
|
64
66
|
|
65
67
|
extra_rdoc_files:
|
66
68
|
- README.rdoc
|
67
69
|
files:
|
70
|
+
- bin/osm_import
|
71
|
+
- bin/osm_layer
|
72
|
+
- bin/export_layer
|
68
73
|
- lib/neo4j/spatial/osm.rb
|
69
74
|
- lib/neo4j/spatial/database.rb
|
70
75
|
- lib/neo4j/spatial/layer.rb
|
@@ -103,6 +108,7 @@ files:
|
|
103
108
|
- lib/neo4j/spatial/listener.rb
|
104
109
|
- lib/neo4j/spatial/version.rb
|
105
110
|
- lib/neo4j/spatial/geometry.rb
|
111
|
+
- lib/neo4j/spatial/version.rb~
|
106
112
|
- lib/neo4j/spatial.rb
|
107
113
|
- examples/osm_import.rb
|
108
114
|
- examples/test.rb
|