CityJSON loader and renderer for Three.js, React-three-fiber, and Jupyter Notebook / JupyterLab
CityView
CityJSON loader and renderer for Three.js, React-three-fiber, and Jupyter Notebook / JupyterLab.
Supports CityJSON format and CityJSONSeq format.
Contents
Packages
| Package Name | Description | Registry | |----------------|-------------|------------| | cityview (top-level package) | Python package | | | three-cityjson | JavaScript / TypeScript package |
|
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

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

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