Skip to content

ramenwang/pointforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PointForge Web App

A full-stack geospatial application built with FastAPI (Backend) and Vanilla JavaScript + Leaflet (Frontend). This application allows users to upload, view, edit, and download geospatial point data (GeoJSON, Shapefiles, and CSV or Excel files with longitude and latitude columns).

Features

  • Upload: Support for GeoJSON (.json, .geojson), Shapefiles (.zip), CSV (.csv), and Excel (.xlsx). For CSV and Excel files, ensure they contain longitude and latitude columns.
  • Interactive Map:
    • Switch between Light, Dark, and Satellite base layers.
    • Real-time cursor coordinate display (Lat/Lng).
    • "Add Point" mode to interactively create new features.
  • Data Management:
    • Attribute Table: Sort, filter, and search through feature attributes.
    • Editing: Edit attributes or delete features via the map popup or table.
    • Clean Canvas: Instantly clear all data to start fresh.
  • Export:
    • Download geospatial data as GeoJSON.
    • Export attributes as CSV (Excel compatible).

Project Structure

pointforge/
├── backend/
│   └── main.py          # FastAPI application
├── static/
│   ├── modules/         # ES Modules (api, map, state, ui, loader)
│   ├── index.html       # Frontend UI
│   └── app.js           # Main Entry Point
├── requirements.txt     # Python dependencies
└── README.md

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)

Installation

  1. Navigate to the project directory:

    cd your\path\to\pointforge
  2. Create a virtual environment (Optional but recommended):

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # macOS/Linux
    source venv/bin/activate
  3. Install dependencies:

    pip install fastapi uvicorn python-multipart geopandas pandas openpyxl

    Note: geopandas is required for Shapefile support; pandas and openpyxl are required for Excel support.

Running the Application

  1. Start the server:

    Run the following command from the root pointforge directory:

    uvicorn backend.main:app --reload
  2. Access the App:

    Open your web browser and navigate to:

    http://127.0.0.1:8000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors