id,node_id,name,full_name,private,owner,html_url,description,fork,created_at,updated_at,pushed_at,homepage,size,stargazers_count,watchers_count,language,has_issues,has_projects,has_downloads,has_wiki,has_pages,forks_count,archived,disabled,open_issues_count,license,topics,forks,open_issues,watchers,default_branch,permissions,temp_clone_token,organization,network_count,subscribers_count,readme,readme_html,allow_forking,visibility,is_template,template_repository,web_commit_signoff_required,has_discussions
374846311,MDEwOlJlcG9zaXRvcnkzNzQ4NDYzMTE=,datasette-geojson,eyeseast/datasette-geojson,0,25778,https://github.com/eyeseast/datasette-geojson,Add GeoJSON output to Datasette queries,0,2021-06-08T01:33:19Z,2022-02-16T19:59:42Z,2022-02-16T20:02:49Z,,1102,3,3,Python,1,1,1,1,0,1,0,0,3,,"[""datasette-io"", ""datasette-plugin"", ""geojson"", ""gis"", ""sqlite""]",1,3,3,main,"{""admin"": false, ""maintain"": false, ""push"": false, ""triage"": false, ""pull"": false}",,,1,1,"# datasette-geojson
[](https://pypi.org/project/datasette-geojson/)
[](https://github.com/eyeseast/datasette-geojson/releases)
[](https://github.com/eyeseast/datasette-geojson/actions?query=workflow%3ATest)
[](https://github.com/eyeseast/datasette-geojson/blob/main/LICENSE)
Add GeoJSON as an output option for datasette queries.
## Installation
Install this plugin in the same environment as Datasette.
datasette install datasette-geojson
## Usage
To render GeoJSON, add a `.geojson` extension to any query URL that includes a `geometry` column. That column should be a valid [GeoJSON geometry](https://datatracker.ietf.org/doc/html/rfc7946#section-3.1).
For example, you might use [geojson-to-sqlite](https://pypi.org/project/geojson-to-sqlite/) or [shapefile-to-sqlite](https://pypi.org/project/shapefile-to-sqlite/) to load [neighborhood boundaries](https://bostonopendata-boston.opendata.arcgis.com/datasets/3525b0ee6e6b427f9aab5d0a1d0a1a28_0/explore) into a SQLite database.
```sh
wget -O neighborhoods.geojson https://opendata.arcgis.com/datasets/3525b0ee6e6b427f9aab5d0a1d0a1a28_0.geojson
geojson-to-sqlite boston.db neighborhoods neighborhoods.geojson --spatial-index # create a spatial index
datasette serve boston.db --load-extension spatialite
```
If you're using Spatialite, the geometry column will be in a binary format. If not, make sure the `geometry` column is a well-formed [GeoJSON geometry](https://datatracker.ietf.org/doc/html/rfc7946#section-3.1). If you used `geojson-to-sqlite` or `shapefile-to-sqlite`, you should be all set.
Run this query in Datasette and you'll see a link to download GeoJSON:
```sql
select
rowid,
OBJECTID,
Name,
Acres,
Neighborhood_ID,
SqMiles,
ShapeSTArea,
ShapeSTLength,
geometry
from
neighborhoods
order by
rowid
limit
101
```
Note that the geometry column needs to be explicitly _named_ `geometry` or you won't get the option to export GeoJSON. If you want to use a different column, rename it with `AS`: `SELECT other AS geometry FROM my_table`.

## Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-geojson
python3 -mvenv venv
source venv/bin/activate
Or if you are using `pipenv`:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest
","
datasette-geojson
Add GeoJSON as an output option for datasette queries.
Installation
Install this plugin in the same environment as Datasette.
datasette install datasette-geojson
Usage
To render GeoJSON, add a .geojson extension to any query URL that includes a geometry column. That column should be a valid GeoJSON geometry.
wget -O neighborhoods.geojson https://opendata.arcgis.com/datasets/3525b0ee6e6b427f9aab5d0a1d0a1a28_0.geojson
geojson-to-sqlite boston.db neighborhoods neighborhoods.geojson --spatial-index # create a spatial index
datasette serve boston.db --load-extension spatialite
If you're using Spatialite, the geometry column will be in a binary format. If not, make sure the geometry column is a well-formed GeoJSON geometry. If you used geojson-to-sqlite or shapefile-to-sqlite, you should be all set.
Run this query in Datasette and you'll see a link to download GeoJSON:
select
rowid,
OBJECTID,
Name,
Acres,
Neighborhood_ID,
SqMiles,
ShapeSTArea,
ShapeSTLength,
geometry
from
neighborhoods
order by
rowid
limit101
Note that the geometry column needs to be explicitly namedgeometry or you won't get the option to export GeoJSON. If you want to use a different column, rename it with AS: SELECT other AS geometry FROM my_table.
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-geojson
python3 -mvenv venv
source venv/bin/activate