diff options
author | hellekin <hellekin@cepheide.org> | 2020-10-06 17:27:01 +0200 |
---|---|---|
committer | hellekin <hellekin@cepheide.org> | 2020-10-06 17:27:01 +0200 |
commit | 0fbfec77830b4e51aec88f5ef6d290d8a0c4daca (patch) | |
tree | 4a251261276954c221704965b3e5f110ae1c9ec7 /doc/import/README.md | |
parent | 6f6537b1f3f730e46341d65527a3562918803096 (diff) | |
download | incommon-map-0fbfec77830b4e51aec88f5ef6d290d8a0c4daca.tar.gz |
Document importation of resources
Renamed `readme.txt` to `README.md` to stick to standard README case
and take advantage of Markdown formatting supported by code hosting
services.
Also fixed names in the content.
And added import method to the database.
Diffstat (limited to 'doc/import/README.md')
-rw-r--r-- | doc/import/README.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/doc/import/README.md b/doc/import/README.md new file mode 100644 index 0000000..b65225e --- /dev/null +++ b/doc/import/README.md @@ -0,0 +1,32 @@ +## Parsing Resources + +The script `parser.rb` creates a file named `Locations.geojson`, which contains +all the points from the ConcertES and Dewey Maps databases. It parses the .csv +files from the Concertes folder and the .json files from the Dewey folder. To +run it: `ruby parser.rb` + +The main files it uses are: + +- `Concertes/20200312_EntreprisesSignaletique.csv` which contains the name of + the points from the Concertes data +- `Concertes/20200312_EntreprisesCoordonnees.csv` which contains the coordinates + of the points from the Concertes data and +- `Dewey/dewey-maps-markers.json` which contains the data of the points from the + Dewey data + +## Importing to Database + +Once you have `Locations.geojson`, connect to the Rails console: + +```ruby +# Load the GeoJSON into an Array +locs = JSON.parse(IO.read('doc/import/Locations.geojson')) +# Get related Agent records. You must have run `rails db:seed` beforehand. +dewey = Agent.find_by(name: 'Dewey') +concertes = Agent.find_by(name: 'ConcertES') +# Create Resource records +locs['features'].each do |f| + agent = f['properties']['source'] == dewey['name'] ? dewey : concertes + Resource.create(agent_id: agent.id, feature: f) +end +``` |