An open API service indexing awesome lists of open source software.

https://github.com/kuroko1t/geoview

A lightweight, browser-based GIS data viewer built with Streamlit and Geopandas. Visualize Shape files, GeoJSON, and more instantly
https://github.com/kuroko1t/geoview

data-visualization folium geojson geopandas gis shapfile streamlit

Last synced: 24 days ago
JSON representation

A lightweight, browser-based GIS data viewer built with Streamlit and Geopandas. Visualize Shape files, GeoJSON, and more instantly

Awesome Lists containing this project

README

          

# Geo Data Viewer 🌍🗺️

[![Streamlit](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://streamlit.io/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**Geo Data Viewer** is a lightweight, browser-based GIS data viewer built with Streamlit and Geopandas.
It allows you to visualize and inspect geographic data instantly without installing heavy GIS software like QGIS or ArcGIS.

![Geo Data Viewer Screenshot](docs/images/screenshot_map.png)

[日本語のドキュメントはこちら](#geo-data-viewer-jp)

---

## Features ✨

* **Easy Drag & Drop**: Just upload your files to visualize them instantly.
* **Broad Format Support**: Supports **Shapefile (.shp, .shx, .dbf)**, **GeoJSON**, KML, GPKG, and ZIP archives.
* **Robust Shapefile Loading**:
* Supports multi-file selection (upload .shp, .shx, .dbf together).
* **Auto-repair**: Can load solitary `.shp` files even if the `.shx` index is missing!
* **Data Inspection**: View attribute tables, check data types (integer, string, etc.), and detect missing values (nulls).
* **Dark Mode**: Switch map tiles to Dark Mode for better visualization in low-light environments.
* **Multilingual UI**: Switch between English and Japanese interfaces via the sidebar.
* **Data Filtering**: Filter data rows by column values (Use sliders for numbers, multi-select for categories) to focus on specific features.
* **Interactive Choropleth Maps**: Color the map based on attribute values (e.g., population density) to see patterns.
* **Secure & Clean**: Processed files are stored in temporary directories and automatically cleaned up after use.

## Installation 🛠️

Prerequisites: Python 3.8+ and `gdal` installed on your system.

```bash
# Clone the repository
git clone https://github.com/kuroko1t/geoview.git
cd geoview

# Install dependencies
pip install -r requirements.txt
```

## Usage 🚀

Run the Streamlit app:

```bash
streamlit run app.py
```

Open your browser at `http://localhost:8501`, and start uploading files from the sidebar!

### Supported Formats
* **Shapefile**: Upload `.shp` alone, or `.shp` + `.shx` + `.dbf` together.
* **GeoJSON**: `.geojson`, `.json`
* **Others**: `.kml`, `.gpkg`
* **ZIP**: A zip file containing any of the above.

---


# Geo Data Viewer (日本語) 🇯🇵

![Geo Data Viewer Screenshot](docs/images/screenshot_map.png)

**Geo Data Viewer** は、Streamlit と Geopandas を使用した軽量な GIS データビューアーです。
QGISなどの重いソフトウェアをインストールすることなく、ブラウザ上で手軽に地理データを確認・検査できます。

## 主な機能 ✨

* **簡単ドラッグ&ドロップ**: ファイルをアップロードするだけで、すぐに地図とデータを可視化できます。
* **多形式対応**: **Shapefile (.shp, .shx, .dbf)**, **GeoJSON**, KML, GPKG, ZIPファイルに対応。
* **堅牢なShapefile読み込み**:
* 複数ファイルの同時選択アップロードに対応(.shp, .shx, .dbf をまとめてドラッグ)。
* **自動修復機能**: `.shx` ファイルが見つからない場合でも、`.shp` 単体で読み込み可能です。
* **データ検査**: 属性テーブルのプレビュー、データ型(数値、文字列など)の確認、欠損値(Null)のチェックが可能です。
* **ダークモード**: サイドバーのチェックボックスで、地図をダークモード(暗色テーマ)に切り替えられます。
* **多言語対応**: サイドバーからUI言語を「英語」「日本語」で切り替えられます。
* **データフィルタリング**: 列の値に基づいてデータをフィルタリング(絞り込み)できます。数値ならスライダー、カテゴリなら複数選択で直感的に操作可能です。
* **塗り分け地図 (Choropleth)**: 属性値(人口や密度など)に応じて地図を色分け表示できます。
* **安全・クリーン**: アップロードされたファイルは一時ディレクトリで処理され、使用後は自動的に削除されます。

## インストール方法 🛠️

必須環境: Python 3.8以上

```bash
# リポジトリのクローン
git clone https://github.com/kuroko1t/geoview.git
cd geoview

# ライブラリのインストール
pip install -r requirements.txt
```

## 使い方 🚀

以下のコマンドを実行してアプリを起動します:

```bash
streamlit run app.py
```

ブラウザで `http://localhost:8501` が開きます。サイドバーからファイルをアップロードしてください。

### 対応フォーマット
* **Shapefile**: `.shp` 単体、または `.shp` + `.shx` + `.dbf` の同時アップロード
* **GeoJSON**: `.geojson`, `.json`
* **その他**: `.kml`, `.gpkg`
* **ZIP**: 上記を含むZIPファイル