terraformer 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fee193b46a63e77c85cc7e9038265f18f4354330
4
- data.tar.gz: 4e6ccf353873c97779a5a9adfd382fca1560dafe
3
+ metadata.gz: 94f290a9625b7c0820cf1489bc822ec82f24243d
4
+ data.tar.gz: 8ccdb74b6538360ca45f7af6bc2e6c5ba84cdcd3
5
5
  SHA512:
6
- metadata.gz: e388553715283647e19799cd4cce2a9c1081b20fff457c9c64be5697e9ac912680f617c5f4b8d02ab77ca20628a2cac918eed94b911aa5b6589b98405daaa2ab
7
- data.tar.gz: 800a2242a2e9736d1a205be2308727f5d8d029a61127bde45a8948d72ebc645c04a9fe4c488999a1e79ff377e29c9979df548ee80ddd289a231a2080c09b8553
6
+ metadata.gz: 21a14a49544eb19c39f96f6d7a8061f060600985b0e15820dcb06aa5f99ad9ea9036140400906139855acc2050120d32186774c249235b062a267cce252d302e
7
+ data.tar.gz: a98fe28abc34063e50b8b269c3cf4c0a83ceb7a9613f11d7b05761cdeb902cc937b6b123c4c8b2bacfa1d45e719ce0cb2bb04b7251616dcfa8128bc0dae1c559
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  Gemfile.lock
2
+ tmp
data/lib/terraformer.rb CHANGED
@@ -45,7 +45,7 @@ module Terraformer
45
45
  # is determined by +type+ property.
46
46
  #
47
47
  def self.parse geojson
48
- if String === geojson
48
+ if geojson.is_a?(String) or geojson.respond_to?(:read)
49
49
  geojson = File.read geojson if File.readable? geojson
50
50
  geojson = JSON.parse geojson
51
51
  end
@@ -62,6 +62,7 @@ module Terraformer
62
62
  #
63
63
  def self.geojson_io data
64
64
  require 'launchy'
65
+ require 'uri'
65
66
  Launchy.open "http://geojson.io/#data=data:application/json,#{URI.encode_www_form_component data.to_json}"
66
67
  end
67
68
 
@@ -4,7 +4,7 @@ module Terraformer
4
4
 
5
5
  attr_accessor :polygon
6
6
  attr_reader :center, :radius, :resolution
7
- def_delegators :@polygon, :contains?, :within?, :intersects?, :to_feature, :to_json, :to_hash
7
+ def_delegators :@polygon, :bbox, :contains?, :within?, :intersects?, :to_feature, :to_json, :to_hash
8
8
 
9
9
  def initialize c, r, res = DEFAULT_BUFFER_RESOLUTION
10
10
  self.center = c
@@ -1,3 +1,3 @@
1
1
  module Terraformer
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
@@ -0,0 +1,154 @@
1
+ {
2
+ "type": "FeatureCollection",
3
+ "features": [
4
+ {
5
+ "type": "Feature",
6
+ "properties": {},
7
+ "geometry": {
8
+ "type": "Polygon",
9
+ "coordinates": [
10
+ [
11
+ [
12
+ -123.46435546875,
13
+ 48.58932584966972
14
+ ],
15
+ [
16
+ -125.39794921875,
17
+ 47.204642388766935
18
+ ],
19
+ [
20
+ -125.17822265625,
21
+ 43.46886761482923
22
+ ],
23
+ [
24
+ -120.78369140624999,
25
+ 41.96765920367816
26
+ ],
27
+ [
28
+ -117.42187500000001,
29
+ 44.43377984606825
30
+ ],
31
+ [
32
+ -117.22412109375,
33
+ 46.46813299215554
34
+ ],
35
+ [
36
+ -119.99267578124999,
37
+ 48.48748647988415
38
+ ],
39
+ [
40
+ -123.46435546875,
41
+ 48.58932584966972
42
+ ]
43
+ ]
44
+ ]
45
+ }
46
+ },
47
+ {
48
+ "type": "Feature",
49
+ "properties": {},
50
+ "geometry": {
51
+ "type": "Polygon",
52
+ "coordinates": [
53
+ [
54
+ [
55
+ -118.21289062499999,
56
+ 47.88688085106898
57
+ ],
58
+ [
59
+ -121.728515625,
60
+ 46.27103747280261
61
+ ],
62
+ [
63
+ -121.04736328125,
64
+ 44.040218713142146
65
+ ],
66
+ [
67
+ -117.90527343750001,
68
+ 42.601619944327965
69
+ ],
70
+ [
71
+ -114.80712890625,
72
+ 44.98034238084973
73
+ ],
74
+ [
75
+ -118.21289062499999,
76
+ 47.88688085106898
77
+ ]
78
+ ]
79
+ ]
80
+ }
81
+ },
82
+ {
83
+ "type": "Feature",
84
+ "properties": {},
85
+ "geometry": {
86
+ "type": "Polygon",
87
+ "coordinates": [
88
+ [
89
+ [
90
+ -120.89355468749999,
91
+ 46.22545288226939
92
+ ],
93
+ [
94
+ -120.69580078125001,
95
+ 44.88701247981298
96
+ ],
97
+ [
98
+ -119.35546875000001,
99
+ 44.69989765840321
100
+ ],
101
+ [
102
+ -118.71826171875,
103
+ 45.24395342262324
104
+ ],
105
+ [
106
+ -118.564453125,
107
+ 45.920587344733654
108
+ ],
109
+ [
110
+ -118.30078125,
111
+ 45.259422036351694
112
+ ],
113
+ [
114
+ -117.99316406249999,
115
+ 45.460130637921004
116
+ ],
117
+ [
118
+ -117.94921874999999,
119
+ 45.72152152227954
120
+ ],
121
+ [
122
+ -117.68554687499999,
123
+ 46.31658418182218
124
+ ],
125
+ [
126
+ -118.30078125,
127
+ 46.619261036171515
128
+ ],
129
+ [
130
+ -119.20166015625,
131
+ 45.96642454131025
132
+ ],
133
+ [
134
+ -119.46533203125,
135
+ 46.58906908309182
136
+ ],
137
+ [
138
+ -119.72900390625001,
139
+ 46.01222384063236
140
+ ],
141
+ [
142
+ -119.90478515625,
143
+ 46.76996843356982
144
+ ],
145
+ [
146
+ -120.89355468749999,
147
+ 46.22545288226939
148
+ ]
149
+ ]
150
+ ]
151
+ }
152
+ }
153
+ ]
154
+ }
@@ -54,6 +54,25 @@ describe Terraformer do
54
54
  p.coordinates[1][1].must_equal Terraformer::Coordinate.new 103, 3
55
55
  end
56
56
 
57
+ it 'parses geojson files' do
58
+ file = File.open('test/examples/point.geojson')
59
+ p = Terraformer.parse file
60
+ p.dont_be_terrible_ok
61
+ p.type.must_equal 'Point'
62
+ p.coordinates.must_be_instance_of Terraformer::Coordinate
63
+ p.coordinates.must_equal Terraformer::Coordinate.new 100, 0
64
+ end
65
+
66
+ it 'parses the target of a Pathname' do
67
+ require "pathname"
68
+ path = Pathname.new('test/examples/point.geojson')
69
+ p = Terraformer.parse path
70
+ p.dont_be_terrible_ok
71
+ p.type.must_equal 'Point'
72
+ p.coordinates.must_be_instance_of Terraformer::Coordinate
73
+ p.coordinates.must_equal Terraformer::Coordinate.new 100, 0
74
+ end
75
+
57
76
  it 'parses polygons' do
58
77
  p = Terraformer.parse EXAMPLES[:polygon]
59
78
  p.dont_be_terrible_ok
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraformer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenichi Nakamura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-04 00:00:00.000000000 Z
11
+ date: 2014-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: launchy
@@ -60,6 +60,7 @@ files:
60
60
  - terraformer.gemspec
61
61
  - test/arcgis_spec.rb
62
62
  - test/convex_hull_spec.rb
63
+ - test/examples/cascadiagons.geojson
63
64
  - test/examples/circle.geojson
64
65
  - test/examples/geometry_collection.geojson
65
66
  - test/examples/line_string.geojson
@@ -95,13 +96,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
96
  version: '0'
96
97
  requirements: []
97
98
  rubyforge_project:
98
- rubygems_version: 2.4.1
99
+ rubygems_version: 2.4.5
99
100
  signing_key:
100
101
  specification_version: 4
101
102
  summary: ''
102
103
  test_files:
103
104
  - test/arcgis_spec.rb
104
105
  - test/convex_hull_spec.rb
106
+ - test/examples/cascadiagons.geojson
105
107
  - test/examples/circle.geojson
106
108
  - test/examples/geometry_collection.geojson
107
109
  - test/examples/line_string.geojson