Skip to main content

Natural Language Geocoding implements an AI technique to convert natural language descriptions of spatial areas into polygons.

Project description

natural-language-geocoding

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.

Installing and Using

pip install natural-language-geocoding
natural-language-geocoding init

See documentation on how to configure and populate the OpenSearch cluster in Sources.

Running the demo

There's a streamlit demo in src/natural_language_geocoding_demo. It can be run by following these steps.

  1. 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.
  2. Follow steps for local development
  3. Create and populate an OpenSearch cluster following the instructions in Sources.
  4. Run scripts/run_demo.sh
  5. It will open in your browser

Developing

  1. Install python and uv
  2. Checkout the code
  3. Run scripts/recreate_venv.sh
  4. Run PYTHONPATH=src python src/natural_language_geocoding/main.py init
  5. Run pre-commit install to install the pre commit checks
  6. Make changes
  7. Verify linting passes scripts/lint.sh
  8. Commit and push your changes

Contributions

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.

Contributor License Agreement (CLA)

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
  • 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 contracts@element84.com
    • Mailing a hardcopy to: Element 84, 210 N. Lee Street Suite 203 Alexandria, VA 22314, USA.

Attribution

See Sources for attribution and licensing information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

natural_language_geocoding-0.1.0.tar.gz (310.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

natural_language_geocoding-0.1.0-py3-none-any.whl (92.6 kB view details)

Uploaded Python 3

File details

Details for the file natural_language_geocoding-0.1.0.tar.gz.

File metadata

File hashes

Hashes for natural_language_geocoding-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8acad49a93e7e204193247108c43a9ceb5759124d2ba0d9c59c69034f35c4bc7
MD5 73b27faf79a9e9fd27bd73074d49a160
BLAKE2b-256 cdc706813990fd8645e99472af3ed7d54e1e392bb7e68674ae1f8fe21d2d71e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for natural_language_geocoding-0.1.0.tar.gz:

Publisher: pypi-publish.yml on Element84/natural-language-geocoding

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file natural_language_geocoding-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for natural_language_geocoding-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e5e7836ae8129a722fe44fd4b0b6afd53e775deb17c50e407a8e7eeb3f91cb6
MD5 d581ce887c5a3b4d0f8909361bae1c20
BLAKE2b-256 ea0ce28364c6763b003075b6e47c4b321ec12c78bdf26f63f367bcdb41373610

See more details on using hashes here.

Provenance

The following attestation bundles were made for natural_language_geocoding-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on Element84/natural-language-geocoding

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page