geolite-0.0.1 is not a library.
geolite
this is a work in progress and, for now, new patch versions have no backward-compatibility guarantees
open source geocode

getting started
with docker
$ docker run pjpimentel/geolite:0.0.1 -- --version
$ docker run -p 8080:8080 pjpimentel/geolite:prebuilt-brazil
with cargo
$ cargo install geolite
$ geolite --version
docs
- source code modules
- database
- osm-pbf-file
- extract
- index
- optimize
- query
- cli
- http
- docker images
- base image
- pre-built images
- cookbook
- execute all necessary steps
- extract each data from a pbf file
- index extracted data
- optimize data
- query
- explore
- merge separately-built databases
docker images
base image
$ docker run pjpimentel/geolite:0.0.1 -- --version
$ docker run -t -v ./data:/data pjpimentel/geolite:0.0.1 build brazil
pre-built images (soon)
size matters: once a country's data grows too large for a docker image, its pre-built image stops being updated and may be dropped.
docker run -p 8080:8080 pjpimentel/geolite:prebuilt-brazil
docker run -p 8080:8080 pjpimentel/geolite:prebuilt-brazil-YYYYMMDDHHMM
available country list
- brazil
- portugal
cookbook
execute all necessary steps
$ geolite build brazil
$ docker run --rm -t -v ./geolite-data:/.geolite pjpimentel/geolite:latest build brazil
$ docker run --rm -p 8080:8080 -v ./geolite-data:/.geolite pjpimentel/geolite:latest http-server
extract each data from a pbf file
$ geolite osm-pbf-file download brazil
$ geolite extract osm-pbf-blob-chunks brazil
$ geolite extract osm-pbf-data brazil
$ geolite extract osm-admin-levels
$ geolite extract osm-house-numbers
index extracted data
$ geolite index admin-levels-hierarchy
$ geolite index user-friendly-name
$ geolite index coordinates
optimize data
$ geolite optimize delete-intermediary-data
$ geolite optimize sqlite-file
query
$ geolite query "-23.970949,-46.318730"
$ geolite query "rua castro alves, embare, santos, sao paulo"
explore
$ geolite http-server
merge separately-built databases
$ geolite --sqlite-path sudeste.sqlite3 build sudeste
$ geolite --sqlite-path nordeste.sqlite3 build nordeste
$ geolite merge brazil.sqlite3 sudeste.sqlite3 nordeste.sqlite3 ...
$ docker run --rm -t -v ./geolite-data:/.geolite pjpimentel/geolite:latest --sqlite-path /.geolite/sudeste.sqlite3 build sudeste
$ docker run --rm -t -v ./geolite-data:/.geolite pjpimentel/geolite:latest --sqlite-path /.geolite/nordeste.sqlite3 build nordeste
$ docker run --rm -t -v ./geolite-data:/.geolite pjpimentel/geolite:latest --sqlite-path /.geolite/brazil.sqlite3 merge /.geolite/brazil.sqlite3 /.geolite/sudeste.sqlite3 /.geolite/nordeste.sqlite3
$ docker run --rm -p 8080:8080 -v ./geolite-data:/.geolite pjpimentel/geolite:latest --sqlite-path /.geolite/brazil.sqlite3 http-server