{"id":13586179,"url":"https://github.com/OpenGeoscience/geonotebook","last_synced_at":"2025-04-07T14:33:53.085Z","repository":{"id":132203750,"uuid":"64249762","full_name":"OpenGeoscience/geonotebook","owner":"OpenGeoscience","description":"A Jupyter notebook extension for geospatial visualization and analysis","archived":false,"fork":false,"pushed_at":"2019-01-21T15:53:04.000Z","size":14870,"stargazers_count":1081,"open_issues_count":39,"forks_count":142,"subscribers_count":66,"default_branch":"master","last_synced_at":"2025-04-03T23:11:43.445Z","etag":null,"topics":["analysis","jupyter","jupyter-notebook-extension","mapnik","notebook","opengeoscience","python","tile-server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenGeoscience.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-07-26T19:48:45.000Z","updated_at":"2025-03-06T19:40:34.000Z","dependencies_parsed_at":"2024-01-03T07:09:17.245Z","dependency_job_id":"8685abb9-42ce-4511-8fb9-9ae395bf3e77","html_url":"https://github.com/OpenGeoscience/geonotebook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGeoscience%2Fgeonotebook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGeoscience%2Fgeonotebook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGeoscience%2Fgeonotebook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenGeoscience%2Fgeonotebook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenGeoscience","download_url":"https://codeload.github.com/OpenGeoscience/geonotebook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247670531,"owners_count":20976592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analysis","jupyter","jupyter-notebook-extension","mapnik","notebook","opengeoscience","python","tile-server"],"created_at":"2024-08-01T15:05:22.298Z","updated_at":"2025-04-07T14:33:52.586Z","avatar_url":"https://github.com/OpenGeoscience.png","language":"Python","readme":"## GeoNotebook [![CircleCI](https://circleci.com/gh/OpenGeoscience/geonotebook.svg?style=shield)](https://circleci.com/gh/OpenGeoscience/geonotebook) [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/OpenGeoscience/geonotebook)\nGeoNotebook is an application that provides client/server\nenvironment with interactive visualization and analysis capabilities\nusing [Jupyter](http://jupyter.org), [GeoJS](http://www.github.com/OpenGeoscience/geojs) and other open source tools.\nJointly developed by  [Kitware](http://www.kitware.com) and\n[NASA Ames](https://www.nasa.gov/centers/ames/home/index.html).\n\nDocumentation for GeoNotebook can be found at http://geonotebook.readthedocs.io.\n\n## Screenshots\n![screen shot](https://data.kitware.com/api/v1/file/5898b1788d777f07219fcafb/download?contentDisposition=inline)\n\nCheckout some additional [screenshots](screenshots/)\n\n\n## Installation\n\n### System Prerequisites\n\nFor default tile serving\n  + GDAL \u003e= 2.1.0\n  + mapnik \u003e= 3.1.0\n  + python-mapnik \u003e= 0.1\n\n### Clone the repo:\n```bash\ngit clone https://github.com/OpenGeoscience/geonotebook.git\ncd geonotebook\n```\n### Make a virtualenv, install jupyter[notebook], install geonotebook\n```bash\nmkvirtualenv -a . geonotebook\n\n# Numpy must be fully installed before rasterio\npip install -r prerequirements.txt\n\npip install -r requirements.txt\n\npip install .\n\n# Enable both the notebook and server extensions\njupyter serverextension enable --sys-prefix --py geonotebook\njupyter nbextension enable --sys-prefix --py geonotebook\n```\n\n*Note* The `serverextension` and `nbextension` commands accept flags that configure how\nand where the extensions are installed.  See `jupyter serverextension --help` for more\ninformation.\n\n### Installing geonotebook for development\nWhen developing geonotebook, it is often helpful to install packages as a reference to the\nchecked out repository rather than copying them to the system `site-packages`.  A \"development\ninstall\" will allow you to make live changes to python or javascript without reinstalling the\npackage.\n```bash\n# Install the geonotebook python package as \"editable\"\npip install -e .\n\n# Install the notebook extension as a symlink\njupyter nbextension install --sys-prefix --symlink --py geonotebook\n\n# Enable the extension\njupyter serverextension enable --sys-prefix --py geonotebook\njupyter nbextension enable --sys-prefix --py geonotebook\n\n# Start the javascript builder\ncd js\nnpm run watch\n```\n\n### Run the notebook:\n```bash\ncd notebooks/\njupyter notebook\n```\n\n### Configure the notebook:\nGeonotebook relies on a configuration for several of its options. The system will merge configuration files in the following precedence:\n\n+ /etc/geonotebook.ini\n+ /usr/etc/geonotebook.ini\n+ /usr/local/etc/geonotebook.ini\n+ ```sys.prefix```/etc/geonotebook.ini \n  (e.g. /home/user/.virtual_environments/geonotebook/etc/geonotebook.inig)\n+ ~/.geonotebook.ini\n+ ```os.getcwd()```/.geonotebook.ini\n+ any path specified in the ```GEONOTEBOOK_INI``` environment variable.\n\nThe [default configuration](config/geonotebook.ini) is installed in ```sys.prefix```/etc/geonotebook.ini\n\n\n### Run the tests\n```bash\n# From the source root\npip install -r requirements-dev.txt\ntox\n\n# Optionally only run tests on python 2.7\n# tox -e py27\n```\n\n## Docker Container\nSystem requirements for running the notebook can sometimes prove burdensome to install. To ease these issues we have included a [docker container](devops/docker) that will run the notebook inside a containerized process. \n\n## Vagrant Machine\nAdditionally there is a `Vagrantfile` for standing up an instance of Geonotebook within a virtual machine, further instructions can be found [here](Vagrant.md).\n\n## Tile Server\n\nBy default geonotebook provides its own tile server based on [Mapnik](https://github.com/mapnik) and [GDAL](http://www.gdal.org/) as a Jupyter Notebook server extension. Assuming system pre-requisites are available this should not need to be configured. Alternately geonotebook may be configured to use a pre-existing [Geoserver](http://geoserver.org/) for serving tiles. A built in geoserver implementation is available as a virtual machine in devops/geoserver/.  \n\n### Use geoserver for tile serving\nFirst provision the geoserver\n\n```\ncd devops/geoserver/\nvagrant up\n```\n\nSecond change the ```vis_server``` configuration to ```geoserver``` in the ```[default]``` section of your configuration. Then include a ```[geoserver]``` section with the pertinent configuration.  E.g.:\n\n```\n[default]\nvis_server=geoserver\n\n...\n\n[geoserver]\nusername = admin\npassword = geoserver\nurl = http://127.0.0.1:8080/geoserver\n```\n","funding_links":[],"categories":["Python","Data Processing","`Python` processing of optical imagery (non deep learning)","交互式小部件和可视化","Software","Domain-Specific Projects"],"sub_categories":["Processing imagery - post processing","Geospatial"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenGeoscience%2Fgeonotebook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenGeoscience%2Fgeonotebook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenGeoscience%2Fgeonotebook/lists"}