cityview

CityJSON loader and renderer for Three.js, React-three-fiber, and Jupyter Notebook / JupyterLab

citygml · cityjson · jupyter · jupyter-notebook · jupyterlab
入门
GitHub在线演示
Stars:13
License:MIT License
更新:2025/11/20

README

CityView

PyPI npm

CityJSON loader and renderer for Three.js, React-three-fiber, and Jupyter Notebook / JupyterLab.

Supports CityJSON format and CityJSONSeq format.

Contents

Packages

Package NameDescriptionRegistry
cityview (top-level package)Python packagePyPI
three-cityjsonJavaScript / TypeScript packagenpm

Installation

pip install cityview

Usage

Basic usage

VirtualView

import cityview as cv

view = cv.VirtualView(theme="light")

with open("./packages/three-cityjson/public/sample/daiba_sta.city.jsonl", "r") as f:
    data = f.read()

view.layers = [
    cv.CityJSONLayer(data=data, format="cityjsonseq")
]

view.update()

view

VirtualView

MapView

import cityview as cv

view = cv.MapView(theme="dark")

with open("./packages/three-cityjson/public/sample/daiba_sta.city.jsonl", "r") as f:
    data = f.read()

view.layers = [
    cv.CityJSONLayer(data=data, format="cityjsonseq")
]

view.update()

view

VirtualView

Handling click events

import cityview as cv

view = cv.VirtualView(theme="light")

with open("./packages/three-cityjson/public/sample/daiba_sta.city.jsonl", "r") as f:
    data = f.read()

def handler(change):
    print(change["new"])

view.observe(handler, names="click")

view.layers = [
    cv.CityJSONLayer(data=data, format="cityjsonseq")
]

view.update()

view

Roadmap

  • Online viewer

License

MIT