Felt is "the best way to work with maps, together".
And this is a simple CLI application to upload your files to it from your console.
The Felt API is pretty straightforward, but sometimes you just need a tool to upload a file from a command line and not deal with all the insides.
pip install felt-upload
or you can use pipx:
pipx install felt-upload
To use it you need an API token from Felt. Get yours here.
You can either pass it directly as --token
option or provide as an env variable FELT_TOKEN
.
You can check token with the user
command, which will print out a user for the given token.
export FELT_TOKEN="felt_pat_Ul8HIuHJZuMyxJJ7ZHajj3gBM6KAs4mnnE6f7GiJIPC"
felt-upload user
felt-upload user --token "felt_pat_Ul8HIuHJZuMyxJJ7ZHajj3gBM6KAs4mnnE6f7GiJIPC"
All further examples assume you have token set in the env.
Create a map with a single layer and upload your files.
felt-upload map data.geojson
You can also specify a bunch of optional parameters.
felt-upload map --title "My new map" --layer-name "Great data" data.geojson
Keep in mind, felt-upload
is pretty straighforward and does not know much about different geo file formats, so if you use shapefiles, you need to specify all the files explicitly:
felt-upload map --title "My new map with shapefiles" shapefile.shx shapefile.shp shapefile.prj shapefile.dbf shapefile.cst
Or use a zip archive
felt-upload map --title "My new map with zipped shapefiles" shapefile_inside.zip
Create multiple layers on a single map
felt-upload map --title "Multilayer"
felt-upload layer <map-id> --layer-name "My point data" dataset.geojson
felt-upload layer <map-id> --layer-name "My other data" dataset-2.geojson
felt-upload layer-import <map-id> --layer-name "My layer from url" http://example.com/path-to-data
Want to add layer to already existing map?
Grab map id
from the url as explained here, e.g. for https://felt.com/map/Untitled-Map-Cwc6EdieQdyXgyPMgDmYBC?loc=37.807,-122.271,14z you need a part after the map name and before the ?
: Cwc6EdieQdyXgyPMgDmYBC
.