File size: 3,973 Bytes
0ba8ff6 a055110 0ba8ff6 a055110 0688ea5 2908650 0688ea5 2908650 2953cf8 2908650 0688ea5 2908650 0688ea5 2908650 2953cf8 2908650 2953cf8 2908650 2953cf8 763a243 2953cf8 abfbe40 2953cf8 2908650 2953cf8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
---
title: geospatial-data-converter
emoji: π
colorFrom: green
colorTo: blue
sdk: docker
app_port: 7860
pinned: true
tags: [geospatial, streamlit, docker]
---
# geospatial-data-converter
[](https://opensource.org/licenses/MIT)
[](https://www.python.org)

[](https://github.com/joshuasundance-swca/geospatial-data-converter/actions/workflows/docker-hub.yml)
[](https://hub.docker.com/r/joshuasundance/geospatial-data-converter)
[](https://github.com/joshuasundance-swca/geospatial-data-converter/actions/workflows/hf-space.yml)
[](https://huggingface.co/spaces/joshuasundance/geospatial-data-converter)



[](https://github.com/pre-commit/pre-commit)
[](https://github.com/charliermarsh/ruff)
[](http://mypy-lang.org/)
[](https://github.com/psf/black)
[](https://github.com/PyCQA/bandit)

This project showcases a simple geospatial data converter using [Streamlit](https://streamlit.io) and [GeoPandas](https://geopandas.org/).
# Features
- User-friendly interface for easy data conversion
- Supports conversion from the following input formats:
- ArcGIS featurelayer URL
- Uploaded file: KML, KMZ, GeoJSON, ZIP
- Provides data in the selected output format
- Presents data preview (geometry omitted for display purposes)
- Download button for the converted data
# Deployment
`geospatial-data-converter` is deployed as a [Docker image](https://hub.docker.com/r/<your-dockerhub-username>/geospatial-data-converter) based on the `python:3.11-slim-bookworm` image.
## With Docker (pull from Docker Hub)
1. Run in terminal:
`docker run -p 7860:7860 <your-dockerhub-username>/geospatial-data-converter:latest`
2. Open http://localhost:8501 in your browser
## Docker Compose (build locally)
1. Clone the repo. Navigate to cloned repo directory
2. Run in terminal: `docker compose up`
3. Open http://localhost:7860 in your browser
## Run Tests (with local Docker container)
1. Run in terminal: 'docker compose run test pytest'
## Kubernetes
1. Clone the repo. Navigate to cloned repo directory
2. Run bash script: `/bin/bash ./kubernetes/deploy.sh`
3. Get the IP address for your new service: `kubectl get service geospatial-data-converter`
# Links
- [Streamlit](https://streamlit.io)
- [GeoPandas](https://geopandas.org/)
- [Docker Hub](https://hub.docker.com/)
|