An intelligent web application that combines Gemini 3 Flash, Google Earth Engine, and Google Maps to automate archaeological site extraction from academic papers and provide comprehensive satellite-based analysis.
Upload an archaeological research paper (PDF), and the system:
- Extracts site information using Gemini 3's multimodal capabilities
- Analyzes satellite imagery with Gemini 3 Vision to identify archaeological features
- Performs contextual research using Gemini 3 with search grounding to find related sites and recent findings
- Downloads satellite data from Google Earth Engine for further analysis
All powered by Gemini 3 Flash with advanced reasoning, multimodal understanding, and real-time search capabilities.
1. Multimodal Input Processing
- PDF Analysis: Gemini 3 processes entire research papers to extract structured archaeological data
- Satellite Image Analysis: Vision capabilities analyze 6-panel satellite composites (RGB, NDVI, NDWI, BSI, DEM, Slope)
- Text + Image Reasoning: Combined modalities for comprehensive site assessment
2. Search Grounding
- Real-time web search integration for contextual enrichment
- Finds similar archaeological sites globally
- Retrieves recent research and conservation status
- All responses include verified source citations
3. Structured Outputs
- Complex JSON schema extraction from unstructured PDFs
- Nested archaeological metadata (coordinates, dating, site characteristics)
- Satellite analysis results with confidence levels and recommendations
4. Advanced Reasoning
- Coordinate format recognition and conversion (DMS, decimal degrees)
- Archaeological feature identification in satellite imagery
- Cross-referencing site data with regional archaeological patterns
- Speed: Sub-second response for PDF extraction and image analysis
- Multimodal: Seamlessly handles text, images, and search results
- Structured: Native JSON output with complex nested schemas
- Grounded: Search integration ensures factual accuracy with citations
- Cost-effective: Flash model provides enterprise-grade intelligence at scale
PDF Upload β Gemini 3 (Text) β Structured Site Data
β
Site Coordinates β Google Earth Engine β Satellite Data
β
Satellite Images β Gemini 3 (Vision) β Archaeological Analysis
β
Site Metadata β Gemini 3 (Search) β Contextual Research
β
Integrated Results β Google Maps Visualization
- Gemini 3 Flash: All AI processing (extraction, analysis, research)
- Google Earth Engine: Sentinel-2 imagery, SRTM DEM, spectral indices
- Google Maps: Interactive site visualization and navigation
- Google Cloud: Service account authentication for GEE
Input: Upload "Archaeological Survey of Brazilian Amazon.pdf"
Gemini 3 Extraction Output:
{
"sites": [
{
"site_name": "Fazenda Colorada",
"coordinates": {
"raw_text": "9Β°57'38.96\"S, 67Β°29'51.39\"W",
"latitude": -9.960822,
"longitude": -67.497608
},
"temporal": {
"dating": "1200-1400 CE",
"cultural_period": "Late Pre-Columbian"
},
"characteristics": {
"site_type": "Settlement mound",
"features": ["circular plaza", "defensive earthworks"]
}
}
]
}Gemini 3 Vision Analysis (on satellite imagery):
{
"visual_features": [
{
"feature_type": "Circular earthwork",
"confidence": "high",
"location": "Center-west quadrant",
"reasoning": "Distinct circular pattern in NDVI suggests buried structure with altered vegetation"
}
],
"archaeological_potential": "high",
"recommendations": [
"Ground-penetrating radar survey recommended",
"Darker soils in BSI indicate possible terra preta (anthropogenic soil)"
]
}Gemini 3 Search Grounding (contextual research):
{
"similar_sites": [
{
"name": "Acre geoglyphs",
"location": "Acre, Brazil",
"similarity": "Geometric earthworks from same cultural period",
"source_url": "https://www.nature.com/articles/...",
"source_title": "Nature - Ancient Amazonian earthworks"
}
],
"recent_research": [
{
"summary": "LiDAR reveals extensive pre-Columbian settlements in Amazon",
"year": "2024",
"source_url": "https://science.org/..."
}
]
}- Extracts precise coordinates from various formats (DMS, decimal, UTM)
- Identifies ambiguous or withheld location data
- Preserves confidence levels and source references
- Analyzes 6 different satellite data products simultaneously
- Correlates vegetation patterns (NDVI) with terrain (DEM/Slope)
- Identifies archaeological indicators invisible to single-sensor analysis
- Every factual claim includes source URL and title
- Distinguishes between academic, database, and general sources
- Provides reliability assessment of information quality
- Converts academic text to actionable GIS data
- Generates researcher-focused recommendations
- Flags uncertainties and data quality issues
-
Gemini API Key
- Get from: https://aistudio.google.com/apikey
-
Google Earth Engine Service Account
- Create GCP project: https://console.cloud.google.com/
- Enable Earth Engine API
- Create service account with JSON key
- Register at: https://code.earthengine.google.com/
Create .env file:
GEMINI_API_KEY=your-gemini-api-key
GEE_PROJECT_ID=your-gcp-project-idPlace GEE service account JSON:
# Rename to gee_service_account.json in project root
mv ~/Downloads/your-project-xxxxx.json ./gee_service_account.json# Build and run
docker-compose up -d
# Access at http://localhost:8088# Install dependencies
pip install -r requirements.txt
# Run application
python app.pygemini-geoflow/
β
βββ app.py # Flask application entry point
βββ config.py # Configuration and GEE settings
βββ requirements.txt # Python dependencies
βββ Dockerfile # Container configuration
βββ docker-compose.yml # Docker orchestration
β
βββ prompts/ # Gemini 3 prompt templates
β βββ extraction_prompt.py # PDF site extraction instructions
β βββ satellite_analysis_prompt.py # Vision analysis guidelines
β βββ contextual_enrichment_prompt.py # Search grounding prompts
β
βββ services/ # Core business logic
β βββ llm_service.py # Gemini 3 API integration
β βββ gee_service.py # Earth Engine data extraction
β βββ visualization_service.py # Satellite image rendering
β
βββ routes/ # Flask API endpoints
β βββ extraction_routes.py # /extract - PDF processing
β βββ gee_routes.py # /preview_gee, /download_gee
β βββ analysis_routes.py # /ai_analysis - Gemini vision + search
β
βββ utils/ # Utility functions
β βββ coordinate_parser.py # DMS/decimal conversion
β βββ pdf_processor.py # PDF text extraction
β
βββ templates/ # Frontend HTML
β βββ index.html # Web interface
β
βββ static/ # Frontend assets
βββ css/
β βββ style.css # Application styling
βββ js/
βββ app.js # Application initialization
βββ api.js # Backend communication
βββ ui.js # UI rendering
βββ eventHandlers.js # User interactions
βββ mapHelpers.js # Google Maps integration
Never commit these files:
.env(contains API keys)gee_service_account.json(GCP credentials)
Use .gitignore to exclude sensitive data.