George Bartolomey
3feec01b21
A small parser of unece.org "Trade code download page" added to Makefile to fetch last database's URL to download. Also, the forgejo action added. Action runs every month to update databases and send PR to Forgejo. Signed-off-by: George Bartolomey <george@bh4.ru> |
||
---|---|---|
.forgejo/workflows | ||
.github | ||
data | ||
debian | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
VERSION |
UN/LOCODE database for ForstFS
Overview
FrostFS uses UN/LOCODE in storage node attributes and storage policies. Inner ring nodes converts UN/LOCODE into human-readable set of attributes such as continent, country name, etc.
This repository tools generate UN/LOCODE database for FrostFS using data from following sources:
- UN/LOCODE database in CSV format, licensed under the ODC Public Domain Dedication and Licence (PDDL)
- OpenFlight Airports and Countries databases, licensed under the GNU AGPL-3.0 license
- OpenStreetMap® open data, licensed under the Open Data Commons Open Database License (ODbL)
Build
Prerequisites
- Latest frostfs-cli tool
Quick start
Just run make
to generate locode_db
file for use with FrostFS InnerRing nodes.
$ make
...
--out locode_db
Building
Then run frost-cli command to generate boltDB file.
$ frostfs-cli util locode generate --help
generate UN/LOCODE database for FrostFS
Usage:
frostfs-cli util locode generate [flags]
Flags:
--airports string Path to OpenFlights airport database (csv)
--continents string Path to continent polygons (GeoJSON)
--countries string Path to OpenFlights country database (csv)
-h, --help help for generate
--in strings List of paths to UN/LOCODE tables (csv)
--out string Target path for generated database
--subdiv string Path to UN/LOCODE subdivision database (csv)
$ ./frostfs-cli util locode generate \
--airports airports.dat \
--continents continents.geojson \
--countries countries.dat \
--in 2022-2\ UNLOCODE\ CodeList.csv \
--subdiv 2022-2\ SubdivisionCodes.csv \
--out locode_db
Database generation might take some time!
You can test generated database with frostfs-cli
.
$ frostfs-cli util locode info --db locode_db --locode 'RU LED'
Country: Russia
Location: Saint Petersburg (ex Leningrad)
Continent: Europe
Subdivision: [SPE] Sankt-Peterburg
Coordinates: 59.88, 30.25
Building Debian package
The most simple way is to run a make target
$ make debpackage
When packages are built, you can clean up the leftover with
$ dh clean
or
$ make debclean
License
This project is licensed under the CC Attribution-ShareAlike 4.0 International - see the LICENSE file for details