Geocoding is the process of converting a place into the location of that place. Natural Language Geocoding can geocode natural language descriptions of places on the Earth into the geometry.
pip install natural-language-geocoding
natural-language-geocoding init
See documentation on how to configure and populate the OpenSearch cluster in Sources.
There's a streamlit demo in src/natural_language_geocoding_demo
. It can be run by following these steps.
- Set up AWS credentials. The demo uses AWS Bedrock Anthropic Claude as the LLM. Valid AWS access keys to an account need to be present.
- Follow steps for local development
- Create and populate an OpenSearch cluster following the instructions in Sources.
- Run
scripts/run_demo.sh
- It will open in your browser
- Install python and uv
- Checkout the code
- Run
scripts/recreate_venv.sh
- Run
PYTHONPATH=src python src/natural_language_geocoding/main.py init
- Run
pre-commit install
to install the pre commit checks - Make changes
- Verify linting passes
scripts/lint.sh
- Commit and push your changes
We are happy to take contributions! It is best to get in touch with the maintainers about larger features or design changes before starting the work, as it will make the process of accepting changes smoother.
Everyone who contributes code to natural language geocoding will be asked to sign a CLA, which is based off of the Apache CLA.
-
Download a copy of one of the following from the
docs/cla
directory in this repository:- Individual Contributor (You're using your time):
2024_1_24-Natural-Language-Geocoding-Open-Source-Contributor-Agreement-Individual.pdf
- Corporate Contributor (You're using company time):
2024_1_24-Natural-Language-Geocoding-Open-Source-Contributor-Agreement-Corporate.pdf
- Individual Contributor (You're using your time):
-
Sign the CLA -- either physically on a printout or digitally using appropriate PDF software.
-
Send the signed CLAs to Element 84 via one of the following methods:
- Emailing the document to [email protected]
- Mailing a hardcopy to:
Element 84, 210 N. Lee Street Suite 203 Alexandria, VA 22314, USA
.
See Sources for attribution and licensing information.