geocoder-olleh 0.2.3 → 0.2.4
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.
- checksums.yaml +4 -4
- data/km2_LocalSearch.md +74 -0
- data/lib/geocoder/lookups/olleh.rb +30 -10
- data/lib/geocoder/olleh/version.rb +1 -1
- data/lib/geocoder/results/olleh.rb +32 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d2afc3e7667878e6845e61eba31f0281ad67c123
|
|
4
|
+
data.tar.gz: 306fa16f547805908e9976878b9de9a7d0e1e7c9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f16ad4659d8e5dc909eaa4d0bba1f5c03878f0e4245ea17bb98e9af49f950508c7c97bbabfa759191168977fea4154e2c400c77639ac72f1968379705cb4c4d5
|
|
7
|
+
data.tar.gz: e148fbf059d6726aef6587351876686962ae4775802e8ec3006b574173527c97ccce516a7a349d2b2933f286dc74847cf1c8f4217428b9370dbb3d91fffcb3bc
|
data/km2_LocalSearch.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
## Way to send out - valid request
|
|
2
|
+
|
|
3
|
+
* Request URL : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22UTF-8_Address%22,%22s%22=%22AN%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
4
|
+
|
|
5
|
+
* "s"="AN" : Return both of old and new addresses
|
|
6
|
+
* "sr":"RANK" : Give high priority to the accuracy
|
|
7
|
+
* "places":"5" : Number of address that want to get returned
|
|
8
|
+
* "option":"2" : Distance based result alignment from current location
|
|
9
|
+
* "isaddr":"0", "isaddr":"1" : Search from address DB or not (0 : No, 1 : Yes)
|
|
10
|
+
|
|
11
|
+
## Search queries from end users
|
|
12
|
+
|
|
13
|
+
1) POI search
|
|
14
|
+
|
|
15
|
+
* KeyWord1 : 국민은행
|
|
16
|
+
* KeyWord2 : 서울 국민은행
|
|
17
|
+
* KeyWord3 : 서초동 강남미래타워
|
|
18
|
+
|
|
19
|
+
- Valid query1 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EA%25B5%25AD%25EB%25AF%25BC%25EC%259D%2580%25ED%2596%2589%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
20
|
+
- Valid query2 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2584%259C%25EC%259A%25B8+%25EA%25B5%25AD%25EB%25AF%25BC%25EC%259D%2580%25ED%2596%2589%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
21
|
+
- Valid query3 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2584%259C%25EC%25B4%2588%25EB%258F%2599+%25EA%25B0%2595%25EB%2582%25A8%25EB%25AF%25B8%25EB%259E%2598%25ED%2583%2580%25EC%259B%258C%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
22
|
+
|
|
23
|
+
2) Old address search (With Gibun or without Gibun)
|
|
24
|
+
|
|
25
|
+
* KeyWord1 : 삼평동
|
|
26
|
+
* KeyWord2 : 삼평동 689
|
|
27
|
+
* KeyWord3 : 분당구 689
|
|
28
|
+
* KeyWord4 : 분당구 삼평동 689
|
|
29
|
+
* KeyWord5 : 성남시 분당구 삼평동 689
|
|
30
|
+
* KeyWord6 : 경기 성남시 분당구 삼평동 689
|
|
31
|
+
* KeyWord7 : 경기도 성남시 분당구 삼평동 689
|
|
32
|
+
|
|
33
|
+
- Valid query1 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2582%25BC%25ED%258F%2589%25EB%258F%2599%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
34
|
+
- Valid query2 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2582%25BC%25ED%258F%2589%25EB%258F%2599+689%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
35
|
+
- Valid query3 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EB%25B6%2584%25EB%258B%25B9%25EA%25B5%25AC+689%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
36
|
+
- Valid query4 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EB%25B6%2584%25EB%258B%25B9%25EA%25B5%25AC+%25EC%2582%25BC%25ED%258F%2589%25EB%258F%2599+689%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
37
|
+
- Valid query5 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2584%25B1%25EB%2582%25A8%25EC%258B%259C+%25EB%25B6%2584%25EB%258B%25B9%25EA%25B5%25AC+%25EC%2582%25BC%25ED%258F%2589%25EB%258F%2599+689%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
38
|
+
- Valid query6 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EA%25B2%25BD%25EA%25B8%25B0+%25EC%2584%25B1%25EB%2582%25A8%25EC%258B%259C+%25EB%25B6%2584%25EB%258B%25B9%25EA%25B5%25AC+%25EC%2582%25BC%25ED%258F%2589%25EB%258F%2599+689%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
39
|
+
- Valid query7 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EA%25B2%25BD%25EA%25B8%25B0%25EB%258F%2584+%25EC%2584%25B1%25EB%2582%25A8%25EC%258B%259C+%25EB%25B6%2584%25EB%258B%25B9%25EA%25B5%25AC+%25EC%2582%25BC%25ED%258F%2589%25EB%258F%2599+689%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
40
|
+
|
|
41
|
+
3) New address search (With street number or without street number)
|
|
42
|
+
|
|
43
|
+
* KeyWord1 : 사임당로
|
|
44
|
+
* KeyWord2 : 사임당로 174
|
|
45
|
+
* KeyWord3 : 서초구 사임당로 174
|
|
46
|
+
* KeyWord4 : 서울 서초구 사임당로 174
|
|
47
|
+
* KeyWord5 : 서울시 서초구 사임당로 174
|
|
48
|
+
|
|
49
|
+
- Valid query1 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2582%25AC%25EC%259E%2584%25EB%258B%25B9%25EB%25A1%259C%22,%22s%22=%22AN%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
50
|
+
- Valid query2 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2582%25AC%25EC%259E%2584%25EB%258B%25B9%25EB%25A1%259C+174%22,%22s%22=%22AN%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
51
|
+
- Valid query3 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2584%259C%25EC%25B4%2588%25EB%258F%2599+%25EC%2582%25AC%25EC%259E%2584%25EB%258B%25B9%25EB%25A1%259C+174%22,%22s%22=%22AN%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
52
|
+
- Valid query4 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2584%259C%25EC%259A%25B8+%25EC%2584%259C%25EC%25B4%2588%25EB%258F%2599+%25EC%2582%25AC%25EC%259E%2584%25EB%258B%25B9%25EB%25A1%259C+174%22,%22s%22=%22AN%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
53
|
+
- Valid query5 : `http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22%25EC%2584%259C%25EC%259A%25B8%25EC%258B%259C+%25EC%2584%259C%25EC%25B4%2588%25EB%258F%2599+%25EC%2582%25AC%25EC%259E%2584%25EB%258B%25B9%25EB%25A1%259C+174%22,%22s%22=%22AN%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
54
|
+
|
|
55
|
+
## Data to be taken
|
|
56
|
+
|
|
57
|
+
* Old address : address from "ADDR" or "M_ADDR1" + "M_ADDR2"
|
|
58
|
+
* New address : address from "NEW_ADDR"
|
|
59
|
+
|
|
60
|
+
* Coordinates
|
|
61
|
+
"Y":"1933916.06","H_CODE":"4113565500","X":"965566.75"
|
|
62
|
+
|
|
63
|
+
* Procedure to query address
|
|
64
|
+
|
|
65
|
+
Search address with "s"="AN" & "isaddr":"1"
|
|
66
|
+
`http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22UTF-8_Address%22,%22s%22=%22AN%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
67
|
+
|
|
68
|
+
Search address with "isaddr":"1"
|
|
69
|
+
`http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22UTF-8_Address%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%221%22}`
|
|
70
|
+
|
|
71
|
+
Search address with "isaddr":"0"
|
|
72
|
+
`http://openapi.kt.com/maps/search/km2_LocalSearch?params={%22query%22:%22UTF-8_Address%22,%22sr%22:%22RANK%22,%22places%22:%225%22,%22option%22:%222%22,%22timestamp%22:%2220120413092033765%22,%22isaddr%22:%220%22}`
|
|
73
|
+
|
|
74
|
+
If all above 3 returns no address it means there is no available results for the * keyword
|
|
@@ -113,6 +113,8 @@ module Geocoder::Lookup
|
|
|
113
113
|
'convert_coord'
|
|
114
114
|
when options.include?(:l_code)
|
|
115
115
|
'addr_step_search'
|
|
116
|
+
when options.include?(:places)
|
|
117
|
+
'addr_local_search'
|
|
116
118
|
when options.include?(:radius)
|
|
117
119
|
'addr_nearest_position_search'
|
|
118
120
|
else
|
|
@@ -128,6 +130,7 @@ module Geocoder::Lookup
|
|
|
128
130
|
def results(query)
|
|
129
131
|
data = fetch_data(query)
|
|
130
132
|
return [] unless data
|
|
133
|
+
return [] if data["error"]
|
|
131
134
|
doc = JSON.parse(URI.decode(data["payload"]))
|
|
132
135
|
if doc['ERRCD'] != nil && doc['ERRCD'] != 0
|
|
133
136
|
Geocoder.log(:warn, "Olleh API error: #{doc['ERRCD']} (#{doc['ERRMS'] if doc['ERRMS']}).")
|
|
@@ -135,20 +138,23 @@ module Geocoder::Lookup
|
|
|
135
138
|
end
|
|
136
139
|
|
|
137
140
|
case Olleh.check_query_type(query)
|
|
138
|
-
when
|
|
141
|
+
when 'addr_local_search'
|
|
142
|
+
return [] if doc["RESULTDATA"]["place"]["TotalCount"].to_i == 0
|
|
143
|
+
return doc["RESULTDATA"]["place"]["Data"]
|
|
144
|
+
when 'geocoding'
|
|
139
145
|
return [] if doc['RESDATA']['COUNT'] == 0
|
|
140
|
-
return doc['RESDATA'][
|
|
141
|
-
when
|
|
146
|
+
return doc['RESDATA']['ADDRS']
|
|
147
|
+
when 'reverse_geocoding'
|
|
142
148
|
return [] if doc['RESDATA']['COUNT'] == 0
|
|
143
|
-
return doc['RESDATA'][
|
|
144
|
-
when
|
|
145
|
-
return [] if doc[
|
|
146
|
-
return doc["RESDATA"] || []
|
|
147
|
-
when "convert_coord"
|
|
149
|
+
return doc['RESDATA']['ADDRS'] || []
|
|
150
|
+
when 'route_search'
|
|
151
|
+
return [] if doc['RESDATA']['SROUTE']['isRoute'] == 'false'
|
|
148
152
|
return doc['RESDATA'] || []
|
|
149
|
-
when
|
|
153
|
+
when 'convert_coord'
|
|
154
|
+
return doc['RESDATA'] || []
|
|
155
|
+
when 'addr_step_search'
|
|
150
156
|
return doc['RESULTDATA'] || []
|
|
151
|
-
when
|
|
157
|
+
when 'addr_nearest_position_search'
|
|
152
158
|
return doc['RESULTDATA'] || []
|
|
153
159
|
else
|
|
154
160
|
[]
|
|
@@ -157,6 +163,8 @@ module Geocoder::Lookup
|
|
|
157
163
|
|
|
158
164
|
def base_url(query)
|
|
159
165
|
case Olleh.check_query_type(query)
|
|
166
|
+
when "addr_local_search"
|
|
167
|
+
"https://openapi.kt.com/maps/search/km2_LocalSearch?params="
|
|
160
168
|
when "route_search"
|
|
161
169
|
"https://openapi.kt.com/maps/etc/RouteSearch?params="
|
|
162
170
|
when "reverse_geocoding"
|
|
@@ -174,6 +182,18 @@ module Geocoder::Lookup
|
|
|
174
182
|
|
|
175
183
|
def query_url_params(query)
|
|
176
184
|
case Olleh.check_query_type(query)
|
|
185
|
+
when "addr_local_search"
|
|
186
|
+
# option 2 is for sorting results. we are using default.
|
|
187
|
+
# places is for number of results
|
|
188
|
+
# sr is for
|
|
189
|
+
# isaddr for searching address only. excluding building name, etc.
|
|
190
|
+
hash = {
|
|
191
|
+
query: URI.encode(query.text),
|
|
192
|
+
option: "1",
|
|
193
|
+
places: query.options[:places],
|
|
194
|
+
sr: query.options[:sr],
|
|
195
|
+
isaddr: "1"
|
|
196
|
+
}
|
|
177
197
|
when "route_search"
|
|
178
198
|
hash = {
|
|
179
199
|
SX: query.options[:start_x],
|
|
@@ -164,6 +164,38 @@ module Geocoder::Result
|
|
|
164
164
|
"#{@data['SIDO']} #{@data['L_SIGUN_GU']} #{@data['L_DONG']} #{@data['GIBUN']}"
|
|
165
165
|
end
|
|
166
166
|
|
|
167
|
+
##
|
|
168
|
+
# addr used when we call km2_LocalSearch
|
|
169
|
+
# using old address system
|
|
170
|
+
def addr
|
|
171
|
+
@data["ADDR"].gsub("+", " ")
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
##
|
|
175
|
+
# addr used when we call km2_LocalSearch
|
|
176
|
+
# using new address system
|
|
177
|
+
def new_addr
|
|
178
|
+
@data["NEW_ADDR"].gsub("+", " ")
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
##
|
|
182
|
+
# NAME used when we call km2_LocalSearch
|
|
183
|
+
def name
|
|
184
|
+
@data["NAME"]
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
##
|
|
188
|
+
# UTMK X coordinate used when we call km2_LocalSearch
|
|
189
|
+
def x
|
|
190
|
+
@data["X"]
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
##
|
|
194
|
+
# UTMK Y coordinate used when we call km2_LocalSearch
|
|
195
|
+
def y
|
|
196
|
+
@data["Y"]
|
|
197
|
+
end
|
|
198
|
+
|
|
167
199
|
response_attributes.each do |a|
|
|
168
200
|
define_method a do
|
|
169
201
|
@data[a]
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: geocoder-olleh
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jaigouk Kim
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-11-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -55,6 +55,7 @@ files:
|
|
|
55
55
|
- bin/console
|
|
56
56
|
- bin/setup
|
|
57
57
|
- geocoder-olleh.gemspec
|
|
58
|
+
- km2_LocalSearch.md
|
|
58
59
|
- lib/geocoder/lookups/olleh.rb
|
|
59
60
|
- lib/geocoder/olleh.rb
|
|
60
61
|
- lib/geocoder/olleh/lookup.rb
|