forked from autonomic-cooperative/cotech-website
Geocode Coop addresses to lat & long for map
This commit is contained in:
21
scripts/geocode_coop_addresses.rb
Normal file
21
scripts/geocode_coop_addresses.rb
Normal file
@ -0,0 +1,21 @@
|
||||
require 'bundler/setup'
|
||||
require 'yaml'
|
||||
require 'geocoder'
|
||||
|
||||
Geocoder.configure(lookup: :nominatim)
|
||||
|
||||
root_path = Pathname.new(__dir__).join('..')
|
||||
|
||||
Dir[root_path.join('_coops/*.md')].each do |path|
|
||||
content = File.read(path)
|
||||
body = content.split("\n").reverse.take_while { |l| l != "---" }.reverse.join("\n")
|
||||
metadata = YAML.safe_load(content)
|
||||
|
||||
address = metadata['address']
|
||||
latitude, longitude = Geocoder.coordinates(address, params: { region: 'uk' })
|
||||
metadata['latitude'] ||= latitude
|
||||
metadata['longitude'] ||= longitude
|
||||
|
||||
frontmatter = YAML.dump(metadata)
|
||||
File.write(path, frontmatter + "---" + "\n" + body)
|
||||
end
|
Reference in New Issue
Block a user