citysdk 0.1.1.2 → 0.1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE.txt +1 -1
- data/lib/citysdk.rb +1 -1
- data/lib/citysdk/file_reader.rb +18 -13
- data/lib/citysdk/importer.rb +21 -4
- metadata +17 -5
- checksums.yaml +0 -15
data/LICENSE.txt
CHANGED
data/lib/citysdk.rb
CHANGED
data/lib/citysdk/file_reader.rb
CHANGED
@@ -10,28 +10,33 @@ module CitySDK
|
|
10
10
|
|
11
11
|
class FileReader
|
12
12
|
|
13
|
-
RE_NAME = /(title|titel|naam|name)/i
|
14
|
-
RE_A_NAME = /^(naam|name|title|titel)$/i
|
15
|
-
RE_GEO = /^geom(etry)?|location|locatie$/i
|
16
13
|
RE_Y = /lat|(y.*coord)|(y.*loc(atie|ation)?)/i
|
17
14
|
RE_X = /lon|lng|(x.*coord)|(x.*loc(atie|ation)?)/i
|
15
|
+
RE_GEO = /^geom(etry)?|location|locatie$/i
|
16
|
+
RE_NAME = /(title|titel|naam|name)/i
|
17
|
+
RE_A_NAME = /^(naam|name|title|titel)$/i
|
18
18
|
|
19
19
|
attr_reader :file, :content,:params
|
20
20
|
|
21
21
|
def initialize(pars)
|
22
22
|
@params = pars
|
23
23
|
file_path = File.expand_path(@params[:file_path])
|
24
|
-
|
25
|
-
when /\.zip/i
|
26
|
-
readZip(file_path)
|
27
|
-
when /\.(geo)?json/i
|
28
|
-
readJSON(file_path)
|
29
|
-
when /\.shape/i
|
30
|
-
readShape(file_path)
|
31
|
-
when /\.csv|tsv/i
|
32
|
-
readCsv(file_path)
|
33
|
-
when /\.csdk/i
|
24
|
+
if File.extname(file_path) == '.csdk'
|
34
25
|
readCsdk(file_path)
|
26
|
+
else
|
27
|
+
ext = @params[:originalfile] ? File.extname(@params[:originalfile]) : File.extname(file_path)
|
28
|
+
case ext
|
29
|
+
when /\.zip/i
|
30
|
+
readZip(file_path)
|
31
|
+
when /\.(geo)?json/i
|
32
|
+
readJSON(file_path)
|
33
|
+
when /\.shape/i
|
34
|
+
readShape(file_path)
|
35
|
+
when /\.csv|tsv/i
|
36
|
+
readCsv(file_path)
|
37
|
+
when /\.csdk/i
|
38
|
+
readCsdk(file_path)
|
39
|
+
end
|
35
40
|
end
|
36
41
|
|
37
42
|
@params[:rowcount] = @content.length
|
data/lib/citysdk/importer.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module CitySDK
|
2
2
|
|
3
3
|
class Importer
|
4
|
-
attr_reader :filereader, :api
|
4
|
+
attr_reader :filereader, :api, :params
|
5
5
|
|
6
6
|
def initialize(pars)
|
7
7
|
@params = pars
|
@@ -147,6 +147,10 @@ module CitySDK
|
|
147
147
|
sign_in
|
148
148
|
if @params[:unique_id] and @params[:match] and (@params[:hasgeometry] != 'unknown')
|
149
149
|
|
150
|
+
# puts ""
|
151
|
+
# puts "doImport... 1"
|
152
|
+
# puts ""
|
153
|
+
|
150
154
|
match_tpl[:match][:params][:radius] = @params[:radius] || 200
|
151
155
|
match_tpl[:match][:params][:geometry_type] = @params[:geometry_type] || :point
|
152
156
|
@params[:match].each do |a|
|
@@ -157,10 +161,13 @@ module CitySDK
|
|
157
161
|
nodes.each do |rec|
|
158
162
|
node = {
|
159
163
|
:geom => rec[:geometry],
|
160
|
-
:id => rec[:
|
164
|
+
:id => rec[:id]
|
161
165
|
}
|
162
166
|
node[:name] = rec[:properties][@params[:name]] if @params[:name]
|
163
167
|
node[:data] = rec[:properties]
|
168
|
+
|
169
|
+
# puts JSON.pretty_generate(node)
|
170
|
+
|
164
171
|
@api.match_create_node(node) if not dryrun
|
165
172
|
count -= 1
|
166
173
|
end
|
@@ -168,14 +175,22 @@ module CitySDK
|
|
168
175
|
|
169
176
|
elsif @params[:unique_id] and (@params[:hasgeometry] != 'unknown')
|
170
177
|
|
178
|
+
# puts ""
|
179
|
+
# puts "doImport... 2"
|
180
|
+
# puts ""
|
181
|
+
|
171
182
|
begin
|
172
183
|
nodes.each do |rec|
|
184
|
+
|
173
185
|
node = {
|
174
186
|
:geom => rec[:geometry],
|
175
|
-
:id => rec[:
|
187
|
+
:id => rec[:id]
|
176
188
|
}
|
177
189
|
node[:name] = rec[:properties][@params[:name]] if @params[:name]
|
178
190
|
node[:data] = rec[:properties]
|
191
|
+
|
192
|
+
# puts JSON.pretty_generate(node)
|
193
|
+
|
179
194
|
@api.create_node(node) if not dryrun
|
180
195
|
count -= 1
|
181
196
|
end
|
@@ -202,10 +217,12 @@ module CitySDK
|
|
202
217
|
sign_in
|
203
218
|
@filereader.content.each do |rec|
|
204
219
|
row = rec[:properties]
|
205
|
-
|
220
|
+
|
221
|
+
pc = row[@params[:postcode]]
|
206
222
|
hn = row[@params[:housenumber]]
|
207
223
|
qres = {}
|
208
224
|
if not (pc.empty? or hn.empty?)
|
225
|
+
pc = pc.downcase.gsub(/[^a-z0-9]/,'')
|
209
226
|
hn.scan(/\d+/).reverse.each { |n|
|
210
227
|
qres = @api.get("/nodes?#{@params[:addresslayer]}::#{@params[:addressfield]}=#{pc + n}")
|
211
228
|
break if qres[:status]=='success' and qres[:record_count].to_i >= 1
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: citysdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.1.
|
4
|
+
version: 0.1.1.3
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Tom Demeyer
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
12
|
+
date: 2013-07-19 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: dbf
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: georuby
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: faraday
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: charlock_holmes
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: rspec
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -110,26 +121,27 @@ files:
|
|
110
121
|
homepage: http://citysdk.waag.org
|
111
122
|
licenses:
|
112
123
|
- MIT
|
113
|
-
metadata: {}
|
114
124
|
post_install_message:
|
115
125
|
rdoc_options: []
|
116
126
|
require_paths:
|
117
127
|
- lib
|
118
128
|
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
119
130
|
requirements:
|
120
131
|
- - ! '>='
|
121
132
|
- !ruby/object:Gem::Version
|
122
133
|
version: '0'
|
123
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
124
136
|
requirements:
|
125
137
|
- - ! '>='
|
126
138
|
- !ruby/object:Gem::Version
|
127
139
|
version: '0'
|
128
140
|
requirements: []
|
129
141
|
rubyforge_project:
|
130
|
-
rubygems_version:
|
142
|
+
rubygems_version: 1.8.25
|
131
143
|
signing_key:
|
132
|
-
specification_version:
|
144
|
+
specification_version: 3
|
133
145
|
summary: Encapsulates the CitySDK api, provides high-level file import functionality.
|
134
146
|
test_files:
|
135
147
|
- spec/api_spec.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
ODc0NzYzYzU3NTQ1MTM0OTM0NjJlM2NhODJjZGNkODE0Yjk0NGJjZQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NmYyMTgxZGQzNWIzOGQwZjVhYzk2MWFmZWRlYWZhZDU1MTAyNWU1MQ==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NjY4NmVkMzc2MDFkNDE2MTg4ZGY0MDBkNmI3OGMxYTBkOWM3MDZjYjBiMjRi
|
10
|
-
YzBkZDMzN2U0MzllMDE2NjVmNjllZGYyOTM4MDVjZWNiNzQ3MmE3YjU0YjA1
|
11
|
-
OGY4NjhkYmVkMTQ4ZTFmZTY0YzllZTdkNGQ0YTQ4OTBjNTAyZDY=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
M2JkYTkyYmM2YWVlMWRjYTA5NmQ0YmJkN2VkMzFlMDU0MDMxMGZiM2RiMDY1
|
14
|
-
MzhmZTJkMDQwMDA3MTBmYWQwOWUyNmUxODAxMjQzYzRlMjFhYzkxMzcxYmMy
|
15
|
-
ZTc2ZmIzNjNlYzU5OTg5MGYzMWIwMzJmMjA2MmM3MmQ4YjQ3YjA=
|