/Shape_PlotPY_GUI

Python-based interactive geoplot with a GUI in custom TKInter. Intended for free-use and visualization of land usage issues.

Primary LanguagePythonMIT LicenseMIT

Interactive Python shapeplot, to visualize the impact of increased land usage.

  • A map of the continential USA, divided into states.

Overview

This project demonstrates how to create a custom TkInter GUI application for plotting geographical data using GeoPandas and Matplotlib. The application allows users to input a value representing the area in hectares and visualize the corresponding geographical regions on the map.

Intented usage:

The application is intented for free-use visualization of increased land usage in agricultural production. It was originally     developed to display the area impact of increased crop production to satisfy demand for bio-based fuel.  

Features

  • Interactive GUI built with TkInter.
  • Plotting functionality using GeoPandas and Matplotlib.
  • Supports customization of appearance and plot parameters.
  • Ability to reset the plot to its initial state.
  • converstion between [m2, km2, ha]

Requirements

  • Python 3.x
  • CustomTkinter
  • GeoPandas
  • Matplotlib

Installation

  1. Clone this repository to your local machine
  2. Navicate to directory
  3. Install requirements (pip install -r requirements.txt).
  4. Execute the main.py file
  5. Interactive with the plot tool in the Custom TKInter window (fullscreen recommended)

Functionality

#Call plot: The slider and entry widget operates with biderectional functionality. Choose either to selected desired area, click: Update plot. Screenshot 2024-02-20 at 11 20 09 AM

#Reset plot: Use the reset botton to reset values and call and empty plot. Reset_button

#Apply the build-in metric conversion: Use the drop-down menu besides the entry widget, to choose unit [m2,km2,ha], enter number in the widget and HIT ENTER, the engine with convert it to hectares, and update the slider value. To call the new plot; hit Update.

choose_metrics Screenshot 2024-02-20 at 11 52 40 AM conversion_update

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or create a pull request.

License

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