GIS Playground is a comprehensive web-based GIS application that combines multiple data sources and provides advanced spatial data visualization and analysis capabilities. The application features real-time wildfire data integration, intelligent spatial data processing, and interactive mapping functionality, making it a versatile tool for geographic data exploration and analysis.
- Real-time wildfire data from ESRI's feature services
- Support for multiple spatial file formats:
- Shapefiles
- GeoJSON
- CSV (with spatial coordinates)
- GeoPackage
- Custom Layer visualization
- Multiple base map options
- AI-assisted layer naming and description generation
- Automated data quality analysis
- Spatial clustering for large datasets
- Smart attribute analysis and validation
- Automated CRS standardization
- Geometry validation and repair
- Multi-layer GeoPackage support
- Comprehensive error handling and validation
- Interactive map interface
- Dynamic layer toggling
- Feature property inspection
- Custom styling options
- Python 3.8+
- PostgreSQL with PostGIS extension
- GDAL/OGR libraries
- Clone the repository:
git clone https://github.com/yourusername/gis-playground.git
cd gis-playground
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install required packages:
pip install -r requirements.txt
app/
: Source code directorydatabase/
: Data processing and managementmodels/
: API interactionroutes/
: API interactionstatic/
: Static files (CSS, JS, Images)templates/
: HTML templates- init.py: Package initialization
config/
: Configuration filesdata/
: Raw and processed data storagelogs/
: Log filesprocessors/
: Data processing scripts- File type-specific processors (Shapefile, CSV, GeoJSON, GeoPackage)
tools/
: Geoprocessing toolsvalidation/
: Geometry and attribute validationconversion/
: CRS and format conversionanalysis/
: Spatial analysis toolsai/
: AI-assisted processing tools
utils/
: Utility functionsrequirements.txt
: List of dependenciesREADME.md
: Project documentationmanage.py
: Database management commandsrun.py
: Main Flask application
- Shapefile Processor: Handles ESRI Shapefile processing
- CSV Processor: Processes CSV files with spatial coordinates
- GeoJSON Processor: Manages GeoJSON file processing
- GeoPackage Processor: Handles multi-layer GeoPackage files
- Geometry Validation: Ensures spatial data integrity
- CRS Conversion: Standardizes coordinate reference systems
- Smart Processing: AI-assisted data analysis and naming
- Start the Flask development server:
python run.py
-
Open your web browser and navigate to
http://localhost:5000
-
Upload spatial data through the interface:
- Supports multiple file formats
- Automatic processing and validation
- AI-assisted naming and description
- Quality analysis reporting
- Census data integration
- Advanced spatial analysis tools
- Custom styling interface
- Batch processing capabilities
- Enhanced AI features
- ESRI for real-time wildfire data
- OpenStreetMap contributors
- Leaflet.js community
- GDAL/OGR project