blob: bc4b3f5008ab798a11933770b022efcbad112f73 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
require 'json'
class Parser
def initialize()
@list_of_locations = {}
@list_of_locations["type"] = "FeatureCollection"
@list_of_locations["features"] = []
end
def parseDeweyFiles(data_file)
data = JSON.parse(File.read(data_file))
i = 0
cat_nbr = 0
while i < data.size
new_item = {}
new_item["type"] = "Feature"
new_item["geometry"] = {}
new_item["geometry"]["type"] = "Point"
coords = data[i]["fields"]["position"].split(";")[1].gsub("POINT (","").gsub(")","").split(" ")
coords[0] = coords[0].to_f
coords[1] = coords[1].to_f
new_item["geometry"]["coordinates"] = coords
new_item["properties"] = {}
new_item["properties"]["name"] = data[i]["fields"]["name"]
new_item["properties"]["description"] = data[i]["fields"]["comment"]
new_item["properties"]["entry_number"] = data[i]["pk"]
new_item["properties"]["phone_number"] = data[i]["fields"]["phone"]
new_item["properties"]["website"] = data[i]["fields"]["web"]
new_item["properties"]["mail"] = data[i]["fields"]["email"]
new_item["properties"]["address"] = data[i]["fields"]["address"]
new_item["properties"]["city"] = "" #No equivalent in Dewey database
new_item["properties"]["postal_code"] = "" #No equivalent in Dewey database
new_item["properties"]["categories"] = data[i]["fields"]["subcategories"]
new_item["properties"]["source"] = "Dewey"
new_item["properties"]["srid"] = data[i]["fields"]["position"].split(";")[0].gsub("SRID=","")
@list_of_locations["features"].push(new_item)
i += 1
end
end
def writeToFile(write_file)
File.write(write_file, JSON.pretty_generate(@list_of_locations))
end
def seeCategories(data_file)
data = CSV.parse(File.read(data_file), headers: true, :col_sep => ";")
i = 0
p = Set.new
while i < data.size
p << data[i]["Cat"]
i += 1
end
puts p
end
end
BEGIN {
puts "Starting parser"
}
parser = Parser.new()
parser.parseDeweyFiles("Dewey/dewey-maps-markers.json")
parser.writeToFile("LocationsDewey.geojson")
END {
puts "Ending parser"
}
|