Skip to content
/ map-rs Public

A fast, open-source GIS tool for urban analysis, map visualization, and geospatial data processing. Features include area selection, Overpass Turbo data fetching, and customizable layers. Built with Rust and Bevy. ๐Ÿš€

License

Notifications You must be signed in to change notification settings

SO9010/map-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Urban Planning GIS App

A fast, open-source GIS tool for urban planning, spatial analysis, and geospatial data visualization. This application allows users to select areas, fetch data from OpenStreetMap (Overpass Turbo), and analyze geographic data with a focus on urban development and sustainability.

How to Use the Program

To use the program in its current state:

  1. Select the Selection Tool (second icon from the left).
  2. Use it to select an area on the map.
  3. On the left side, choose the type of Overpass request you want to perform from the dropdown menu.
  4. At the top, select the Workspace.
    • Note: Loading may take a few seconds depending on the size of the response.
  5. Once the data is loaded, switch back to the Cursor Tool (which also acts as the info tool).
  6. Click on a house or other element.
  7. You can then change its color based on its properties.

Features

๐Ÿ—บ๏ธ Map Navigation & Selection

  • Move around and zoom into maps seamlessly.
  • Select an area using circle or polygon tools.
  • Center the selection on the screen for easy analysis.

๐Ÿ“Œ Layer Management

  • Add, remove, and reorder layers (vector, raster, and real-time data).
  • Fetch OpenStreetMap data dynamically using Overpass Turbo.

๐Ÿ“Š Geospatial Analysis (Planned)

  • Query building and road data based on custom filters.
  • Measure areas, distances, and proximity between features.
  • Overlay datasets such as solar potential, pollution, or transit accessibility.

๐Ÿ› ๏ธ Workspace & Project Management (Next working on)

  • Save and load workspaces with selected areas and layers.
  • Export workspaces for future analysis or collaboration.

๐Ÿ”Œ Data Integration (Planned)

  • Import/Export GeoJSON, Shapefiles, and other GIS formats.
  • Support for WMS/WFS layers (real-time weather, elevation, etc.).
  • Generate heatmaps and custom visualizations.

Building from source (WIP - Currently for Developers Only)

Prerequisites

  1. Rust toolchain (incl. Cargo)

  2. Click on your Linux distribution to see the required dependencies:

Fedora / RHEL / CentOS (dnf)
sudo dnf install alsa-lib-devel libudev-devel fontconfig-devel protobuf-compiler
Ubuntu / Debian (apt)
sudo apt install libasound2-dev libudev-dev libfontconfig1-dev protobuf-compiler
Arch Linux / Manjaro (pacman)
sudo pacman -S alsa-lib libudev fontconfig protobuf
Alpine Linux (apk)
sudo apk add alsa-lib-dev eudev-dev fontconfig-dev protobuf-dev protobuf

Compile project

git clone https://github.com/SO9010/map-rs.git
cd map-rs
cargo build # or 'cargo run', to run the app

Roadmap

  • โœ… Basic Map Navigation & Selection
  • โœ… Overpass Turbo Data Fetching
  • โณ Layer System (WIP)
  • โณ Attribute Table & Metadata Display
  • โณ Custom Styling & Visualization
  • โณ GeoJSON & Shapefile Support
  • โณ Geospatial Analysis Tools

Contributing

Contributions are welcome! Feel free to fork the repository, submit issues, or suggest new features.

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature-name
  3. Make changes and commit: git commit -m "Added new feature"
  4. Push to your branch: git push origin feature-name
  5. Submit a pull request.

License

Apache 2.0 License

About

A fast, open-source GIS tool for urban analysis, map visualization, and geospatial data processing. Features include area selection, Overpass Turbo data fetching, and customizable layers. Built with Rust and Bevy. ๐Ÿš€

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •