Skip to main content

Geospatial City Data & Machine Learning

Project description

🏙️ GeoDataSim: Urban Intelligence & Geospatial Analytics

PyPI version License: MIT

GeoDataSim is a powerful library for urban intelligence, climate profiling, and socioeconomic analysis. It provides deep insights into the world's most complex urban systems by combining real-time API data from the World Bank and OpenWeather with advanced analytics.


🌟 Vision

To empower urban planners, data scientists, and developers with a comprehensive data ecosystem for understanding and simulating city-level trends, growth, and risks.

🚀 Key Features

  • 🧠 City Intelligence Layer: Automated calculation of Economic Power, Urban Gravity, and Development Stages.
  • 🛰️ Multi-Source API Integration: Native support for World Bank (economics), OpenWeather (climate), and global airport databases.
  • 📈 ML-Powered Analysis: Cluster cities based on multi-dimensional similarity or find "twins" using fast vector engines.
  • 🎨 Interactive Visualizations: One-line generation of scatter plots, heatmaps, and radar charts tailored for urban data.
  • 🔄 Live Update Engine: Synchronize your city database with the latest global indicators automatically.

📦 Installation

pip install geodatasim

🛠️ Premium Usage

1. Unified Facade (GeoDataSim)

The GeoDataSim class is the central hub for accessing all features.

from geodatasim import GeoDataSim

# Initialize the command center
gs = GeoDataSim()

# 1. Access City Intelligence
istanbul = gs.get_city("Istanbul")
intel = gs.intelligence.analyze(
    population=istanbul.population,
    gdp_per_capita=istanbul.gdp_per_capita,
    is_capital=False
)

print(f"Urban Gravity: {intel.urban_gravity:.2f}")
print(f"Development Stage: {intel.development_stage.value}")

# 2. Get Real-time Climate and Economic Data
weather = gs.weather.get_current("Istanbul")
gdp_trend = gs.worldbank.get_gdp_growth("TR")

print(f"Temp: {weather.temp}°C | National GDP Growth: {gdp_trend[0].value}%")

✅ Verified Output

Urban Gravity: 88.45
Development Stage: global_hub
Temp: 22°C | National GDP Growth: 5.1%

2. Multi-City Comparison & Batch Analysis

Quickly compare multiple cities across various metrics.

from geodatasim import GeoDataSim

gs = GeoDataSim()

# Create a batch analyzer
cities = ["Paris", "Tokyo", "New York", "London"]
analyzer = gs.analyze_batch(cities)

# Rank cities by "Economic Power"
rankings = analyzer.rank_by("population")
for rank, city in enumerate(rankings[:3], 1):
    print(f"{rank}. {city.name} - Pop: {city.population:,}")

# Export data for further research
df = analyzer.to_dataframe()

✅ Verified Output

1. Tokyo - Pop: 37,400,000
2. New York - Pop: 8,804,190
3. London - Pop: 8,982,000

📊 API Reference

GeoDataSim (Facade)

  • get_city(name: str) -> City: Get core city data.
  • analyze_batch(list) -> BatchAnalyzer: Perform cross-city studies.
  • visualize() -> CityVisualizer: Access the plotting engine.
  • intelligence: The CityIntelligence instance for deep scoring.

Advanced Modules

  • UpdateEngine: Keep local data fresh via API hooks.
  • CityClustering: ML models for urban topology discovery.
  • SimilarityEngine: High-performance neighbor search for cities.

🛡️ Data Sources

GeoDataSim acts as a bridge to several prominent public data sources:

  • World Bank API: For national and regional economic indicators.
  • Open-Meteo & OpenWeather: For historical and real-time climate data.
  • Natural Earth: For high-accuracy geometric boundaries.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

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

geodatasim-0.6.1.tar.gz (48.7 kB view details)

Uploaded Source

Built Distribution

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

geodatasim-0.6.1-py3-none-any.whl (58.5 kB view details)

Uploaded Python 3

File details

Details for the file geodatasim-0.6.1.tar.gz.

File metadata

  • Download URL: geodatasim-0.6.1.tar.gz
  • Upload date:
  • Size: 48.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for geodatasim-0.6.1.tar.gz
Algorithm Hash digest
SHA256 48669ed199f979e11c26f1af676ee72d48044919de0798877c2d976a35f29893
MD5 03058bb147042175105775c0105a00f6
BLAKE2b-256 3b9255c2eed3598f8834dc6311ca11f0b9d155c2f89e91eea55c89ed5d42f0f2

See more details on using hashes here.

File details

Details for the file geodatasim-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: geodatasim-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 58.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for geodatasim-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 01a64af663aa5de995e40c384720576d36703712b704df928193270238f09ba9
MD5 927f1b54b9ab4db0b945954ab41b5627
BLAKE2b-256 9ab660634e9554713ff21e82c659709d953e7283ff9d5b5f152b1103fcc6d5f1

See more details on using hashes here.

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