Geodesignhub API
API Endpoint
https://www.geodesignhub.com/api/v1Geodesignhub API exposes a number of functionalities of the platform for developers to build applications and plugins. The API is a JSON-based and provides a REST interface, it uses standard HTTP response codes to indicate API errors.
Token Authentication
Geodesignhub exposes project objects and information via the API. These are associated with individual user accounts via Token Authentication. Since the token is linked to the user, all the projects that the user is part of are accessible using the token. Currently, tokens have an expiry of six months after which a new token can be issued.
You can get your Token by opening the API page on Geodesignhub.
Access
Geodesignhub supports only https:// connections via the API. http://
connections will be given a automatic HTTP 301 response. In some cases, http://
queries may be dropped by the server, you may get time out or end point not reachable errors.
Pagination
Geodesignhub API responses are generally paginated. The default page size is 10; you can alter this by adding the page_size
parameter to your request.
Response Codes
The API uses standard HTTP response codes to communicate the status of the request. In general, 2xx codes signify success and 4xx codes signify failure, and these codes are generally associated with an invalid parameter being provided in the request. A 5xx code is a general server failure on our side. Please contact our support team if you encounter 5xx errors.
Projects API ¶
Resources related to projects on Geodesignhub.
Projects Collection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": "5c84b38a16ebeed0",
"projecttitle": "Cagliari geodesign",
"projectdesc": "Alternative futures for Metro Cagliari",
"startdate": "2023-06-14",
"projecttype": "free",
"external_connection": "none"
},
{
"id": "f05bf015a514a67c",
"projecttitle": "Phoenix Geodesign",
"projectdesc": "Alternative futures for Phoenix, Arizona",
"startdate": "2023-06-14",
"projecttype": "free",
"external_connection": "none"
}
]
List all projectsGET/projects/
Returns a list of projects that has the current user as a member.
Latest Project Details ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": "5c84b38a16ebeed0",
"projecttitle": "Cagliari geodesign",
"projectdesc": "Alternative futures for Metro Cagliari",
"startdate": "2023-06-14",
"projecttype": "free",
"external_connection": "none"
}
]
List all projectsGET/projects/latest/
Returns with the details of the latest created project that has the current user as a member.
Project Creation ¶
Headers
Content-Type: application/json
Authorization: Token ABC123
Body
{
"creation_code": "3PRHNU",
"project_title": "Dublin Geodesign",
"project_description": "Alternative futures for Ranelagh",
"map_bounds": "-6.257314682006836,53.32508049349382,-6.250877380371094,53.328925153953186",
"map_center": "-6.254,53.327",
"zoom_level": 16,
"systems": [
{
"name": "ENE",
"tag": "POR",
"verbose_description": "Energy",
"color": "#ab507e",
"cost": 40000
},
{
"name": "AG",
"tag": "POR",
"verbose_description": "Agriculture",
"color": "#d9cd91",
"cost": 4000
}
],
"tags": [
{
"tag": "Green Housing",
"code": "0.5"
}
],
"plugins": []
}
Headers
Content-Type: application/json
Body
{
"message": "New Project and systems created, they will appear on user1's profile page"
}
Create New ProjectPOST/projects/create/
Create a new project in Geodesignhub, a set of data is requried to create a project, please review below
creation_code
A Geodesignhub project creation code, if you don’t have one, please contact your project administratorproject_title
Title of the project, it will be displayed at the top of every projectproject_description
Title of the project, it will be displayed at the top of every projectmap_bounds
Represents a rectangular geographical area on a map.map_center
Represents a center as comma seperated Latitude,Longitude centerzoom_level
Sets the zoom of the mapsystems
A list of systems that will be created in the project. Each object should have aname
,verbose_description
,color
andcost
value for the system. Maximum nine systems can be provided.tags
A list of tags that can be added to Diagrams. Each object should have atag
andcode
property both as strings.plugins
A list of plugin UUIDs to attach to the project, you can use the the user interface to add them as well.
IGC Project Creation ¶
Headers
Content-Type: application/json
Authorization: Token ABC123
Body
{
"gpl_project_id": "ifY96Z8u1zvbd8Bb24gaaBqgD7l3bag8",
"project_title" : "Dublin Geodesign",
"project_description":"Alternative futures for Ranelagh",
"map_bounds": "-6.257314682006836,53.32508049349382,-6.250877380371094,53.328925153953186",
"map_center" : "-6.254,53.327",
"zoom_level":16,
"systems": [{"name":"ENE", "tag":"POR", "verbose_description":"Energy", "color":"#ab507e", "cost":40000}, {"name":"AG", "tag":"POR", "verbose_description":"Agriculture", "color":"#d9cd91", "cost":4000}]
"tags": [{"tag": "Green Housing","code": "0.5"}],
"plugins":[]
}
Headers
Content-Type: application/json
Body
{
"message": "New Project and systems created, they will appear on user1's profile page"
}
Create New IGC ProjectPOST/projects/create-igc-project/
Create a new project in Geodesignhub, a set of data is requried to create a project, please review below:
gpl_project_id
A Geoplanner project ID, contact your IGC administrator for this code if you dont have it.project_title
Title of the project, it will be displayed at the top of every projectproject_description
Title of the project, it will be displayed at the top of every projectmap_bounds
Represents a rectangular geographical area on a map.map_center
Represents a center as comma seperated Latitude,Longitude centerzoom_level
Sets the zoom of the mapsystems
A list of systems that will be created in the project. Each object should have aname
,verbose_description
,color
andcost
value for the system. Maximum nine systems can be provided.tags
A list of tags that can be added to Diagrams. Each object should have atag
andcode
property both as strings.plugins
A list of plugin UUIDs to attach to the project, you can use the the user interface to add them as well.
Project Detail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"id": "5c84b38a16ebeed0",
"projecttitle": "lego geodesign",
"projectdesc": "lgd",
"startdate": "2016-11-15",
"projecttype": "free",
"external_connection": "none"
}
Get a single projectGET/projects/{projectid}/
Returns the title and description of the selected project. Project name is a sixteen character hash of the project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Members ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"members": [
{
"username": "ufeusr1"
},
{
"username": "ufeusr2"
},
{
"username": "ufeusr3"
}
]
}
List members of a projectGET/projects/{projectid}/members/
Returns a list of all the usernames that are a part of the project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Stakeholders ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"stakeholders": [
{
"id": "50e6964e-dcf8-4967-bbd2-b448679f1514"
"name": "City Council"
},
{
"id": "c204303b-d23a-4fa7-b4b2-6a4c51410c81",
"name": "Department of Transport"
},
{
"id": "50f13d08-a472-4477-88a3-5a14b294ca33",
"name": "Private Company"
}
]
}
List stakeholders of a projectGET/projects/{projectid}/stakeholders/
Returns a list of all the stakeholder that are added to the project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123
Body
[
"City Council",
"Department of Transport"
]
Headers
Content-Type: application/json
Body
{
"message": "2 stakeholders created successfully and added to the project"
}
Add project stakeholderPOST/projects/{projectid}/stakeholders/
Add multiple stakeholders to the project
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Study Area Bounds ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"bounds": "-0.11569976806640624,51.49624032118747,-0.06420135498046875,51.52829020697338"
}
Get project boundsGET/projects/{projectid}/bounds/
Returns a string with bounding box for the project study area coordinates in a southwest_lng,southwest_lat,northeast_lng,northeast_lat
format.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Plugins ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{"id": "b08bd2e7-0595-481b-95c9-86c39b57d3db" , "description":"Buildings 3D Viewer"},
{"id":"3fef8104-c4b2-47fd-86ca-4ebcbf29ef13", "description":"Dashboard"},
]
Get project pluginsGET/projects/{projectid}/plugins/
Returns the id and description of all the plugins that are added / linked to the project
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123
Body
[
"14c338ae-ab5f-47c9-b067-e40710dc29c9",
"c467ad77-087d-481e-9f09-7afafc2720a0"
]
Headers
Content-Type: application/json
Body
{
"message": "2 plugins added successfully"
}
Add project pluginsPOST/projects/{projectid}/plugins/
Add plugins with the specified ID to the project, any existing plugins will be removed
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
External Data Layers ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": 123,
"server_type": "mapcentia-gc2",
"layer_type": "wms",
"url": "https://cagmap.snh.gov.uk/arcgis/services/snh_habitats_and_species/MapServer/WMSServer?",
"layer_name": "Habitats",
"attribution": "Map data from OpenStreetMap.",
"display_name": "All Natural Habitats",
"additional_metadata": {}
}
]
Get External LayersGET/projects/{projectid}/data_layers/
A list of external layers added to this project
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123
Body
{
"id": 123,
"server_type": "mapcentia-gc2",
"layer_type": "wms",
"url": "https://cagmap.snh.gov.uk/arcgis/services/snh_habitats_and_species/MapServer/WMSServer?",
"layer_name": "Habitats",
"attribution": "Map data from OpenStreetMap.",
"display_name": "All Natural Habitats",
"additional_metadata": {
"id": "61b8cfd1-1673-4dc9-bc21-1dcc48db63c8"
}
}
Headers
Content-Type: application/json
Body
{
"message": "2 plugins added successfully"
}
Add External LayerPOST/projects/{projectid}/data_layers/
Add external layers as overlays or underlays to a Project
server_type
The type of external server, acceptable values areesri
for a public ESRI ArcGIS Server,eorg
for ESRI ArcGIS Organization that requires a ESRI login,mapserver
for Mapserver,geoserver
for Geoserver,mapcentia-gc2
for Mapcentia GC2,other
for any other server.layer_type
The type of layer that is linked, acceptable values areWMS
for a standard Web Mapping server,XYZ
for a map tile layer,esri-basemap
for a ESRI ArcGIS basemap,esri-tilelayer
for a ESRI Tile layer,esri-dynamicmaplayer
for a ESRI Dynamic Map Layer,esri-imagemaplayer
for ESRI Image map layer oresri-featurelayer
for ESRI Feature Layer.url
A validhttps
url link to to the layer, all non HTTPS links will be igonredlayer_name
The name of the layer on the hosting serverattribution
A attribution to the data, if applicabledisplay_name
The name of the layer as will be displayed in the user interfaceadditional_metadata
A arbitrary JSON object to hold any other metadata
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
External Data Layers ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": 123,
"server_type": "mapcentia-gc2",
"layer_type": "wms",
"url": "https://cagmap.snh.gov.uk/arcgis/services/snh_habitats_and_species/MapServer/WMSServer?",
"layer_name": "Habitats",
"attribution": "Map data from OpenStreetMap.",
"display_name": "All Natural Habitats",
"additional_metadata": {}
}
]
Get External Layer DetailGET/projects/{project_id}/data_layers/
Get the details of a single external layer added to this project
- project_id
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Delete External LayerDELETE/projects/{project_id}/data_layers/{layer_id}/
Delete external layers linked to the project, you must be a project administrator to delete a layer
- project_id
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- layer_id
integer
(required) Example: 23The ID of the layer
Project Study Area Center ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"center": "-0.1567,51.5041"
}
Get project centerGET/projects/{projectid}/center/
Returns a string with center of the study area in longitude,latitude
format.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Constraints ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.13458251953125,
51.49891200625809
],
[
-0.11260986328124999,
51.48651406499528
],
[
-0.1702880859375,
51.473257364513714
],
[
-0.1847076416015625,
51.46812470399791
],
[
-0.17990112304687497,
51.50062180251775
],
[
-0.18745422363281247,
51.5091698216777
],
[
-0.1888275146484375,
51.5177162373547
],
[
-0.17852783203125,
51.52327054772943
],
[
-0.17234802246093747,
51.52327054772943
],
[
-0.13458251953125,
51.49891200625809
],
[
-0.13458251953125,
51.49891200625809
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "constraints",
"author": "ufeusr1",
"color": "#343434",
"diagramid": 2,
"sysid": 1
}
}
]
},
"sysid": 1,
"rank": 0,
"id": 0,
"description": "No Description Added. Please add one.",
"length": 0,
"area": 16791.702
}
Get project constraintsGET/projects/{projectid}/constraints/
Returns a GeoJSON geometry of constraints set within the project area.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Boundaries ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
38.989019,
37.180636
],
[
38.989191,
37.166958
],
[
39.004469,
37.166411
],
[
39.006529,
37.182414
],
[
38.989019,
37.180636
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
39.013395,
37.182277
],
[
39.011679,
37.166
],
[
39.032106,
37.167368
],
[
39.03039,
37.18214
],
[
39.013395,
37.182277
]
]
],
"type": "Polygon"
}
}
]
},
"description": "First Boundaries"
}
Get project boundariesGET/projects/{projectid}/boundaries/
Returns a GeoJSON geometry of the first boundary set within the project area.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Project Second Boundaries ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
38.989019,
37.180636
],
[
38.989191,
37.166958
],
[
39.004469,
37.166411
],
[
39.006529,
37.182414
],
[
38.989019,
37.180636
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"bname": "Boundary 1",
"areatype": "boundaries",
"color": "#a6cee3",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
39.013395,
37.182277
],
[
39.011679,
37.166
],
[
39.032106,
37.167368
],
[
39.03039,
37.18214
],
[
39.013395,
37.182277
]
]
],
"type": "Polygon"
}
}
]
},
"description": "Second Boundaries"
}
Get second project boundariesGET/projects/{projectid}/secondboundaries/
Returns a GeoJSON geometry of second boundaries set within the project area. (Upto two boundaries can be set in a project)
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Tags API ¶
Resources related to tags on Geodesignhub.
Create Tags ¶
Headers
Authorization: Token ABC123
Body
{
"tags": [
{
"tag": "Hello World",
"code": "1.2.2"
}
]
}
Headers
Content-Type: application/json
Body
{
"status": "Tags created successfully"
}
Bulk Create project tagsPOST/projects/{projectid}/tags/create/
Creates multiple tags for a project. Using this endpoint, you can create multiple tags for a project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
List Tags ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": "a95fcf52-b2df-46a8-9f70-dab4e7eebaa9",
"tag": "house",
"slug": "house",
"code": "3.4",
"diagrams": []
},
{
"id": "d5ea9a83-ca25-4f2a-b077-6480055e4835",
"tag": "home",
"slug": "home",
"code": "0.4",
"diagrams": []
},
{
"id": "12697faa-6dbf-4b47-9696-6108c7e4e99e",
"tag": "holiday",
"slug": "holiday",
"code": "1",
"diagrams": [23]
},
{
"id": "b88bc74b-58fb-4a38-88b9-16a679a4b783",
"tag": "housing",
"slug": "housing"
"code": "3",
"diagrams": [25]
}
]
Get all project tagsGET/projects/{projectid}/tags/
Returns a JSON object detailing all the tags associated with a project, a diagram can have multiple tags associated with it.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Diagrams API ¶
Resources related to diagrams on Geodesignhub.
Diagrams Collection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": 7,
"worlddescription": "ase",
"author": "ufeusr1",
"created_at": "2018-08-26T20:53:25.838663",
"rank": 1,
"sysid": 2
},
{
"id": 8,
"worlddescription": "ce",
"author": "ufeusr1",
"created_at": "2018-01-26T20:53:25.838663",
"rank": 1,
"sysid": 1
},
{
"id": 9,
"worlddescription": "32",
"author": "ufeusr1",
"created_at": "2018-02-02T20:53:25.838663",
"rank": 2,
"sysid": 1
}
]
List project diagramsGET/projects/{projectid}/diagrams/
Returns all the diagrams for the project by ID and description.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
All Diagrams ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"author": "ufeusr1",
"color": "#071ac8",
"diagramid": 5,
"sysid": 1,
"systag": "Small buildings, low density housing"
}
}
]
},
"sysid": 1,
"rank": 1,
"id": 1,
"description": "testing",
"length": 0,
"area": 16791.702,
"cost_override": 100,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
},
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.1064300537109375,
51.5212411667077
],
[
-0.07432937622070312,
51.50927666176991
],
[
-0.06299972534179688,
51.505537109466715
],
[
-0.06282806396484375,
51.50468231156
],
[
-0.06420135498046875,
51.504148054725356
],
[
-0.07656097412109375,
51.50607135001545
],
[
-0.08737564086914062,
51.5089561407416
],
[
-0.09990692138671875,
51.51066556016948
],
[
-0.1078033447265625,
51.51087923308819
],
[
-0.10951995849609375,
51.51525930707282
],
[
-0.11484146118164062,
51.522522891558964
],
[
-0.11243820190429688,
51.522629700334875
],
[
-0.1064300537109375,
51.5212411667077
],
[
-0.1064300537109375,
51.5212411667077
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"author": "ufeusr1",
"color": "#071ac8",
"diagramid": 7,
"sysid": 1,
"systag": "Small buildings, low density housing"
}
}
]
},
"sysid": 1,
"rank": 2,
"id": 2,
"description": "new polciy",
"length": 0,
"area": 16791.702,
"cost_override": 0,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
},
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09479999542236328,
51.51472517425703
],
[
-0.09415626525878906,
51.511760623284765
],
[
-0.09419918060302733,
51.509837568143645
],
[
-0.09758949279785156,
51.510558723334285
],
[
-0.09883403778076172,
51.51103948711957
],
[
-0.09836196899414062,
51.511760623284765
],
[
-0.0990915298461914,
51.515900258184224
],
[
-0.09492874145507812,
51.515900258184224
],
[
-0.09479999542236328,
51.51472517425703
],
[
-0.09479999542236328,
51.51472517425703
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"author": "ufeusr1",
"color": "#fc1999",
"diagramid": 8,
"sysid": 2,
"systag": "Large buildings, Industry, commerce"
}
}
]
},
"sysid": 2,
"rank": 1,
"id": 1,
"description": "new project",
"length": 0,
"area": 16791.702,
"cost_override": 100,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
}
]
Get details of all diagramsGET/projects/{projectid}/diagrams/all/
Returns the a list of Diagram geometries and properties for all the diagrams in the project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
All Diagram Details ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"sysid": 1,
"rank": 1,
"id": 1,
"description": "testing",
"length": 0,
"area": 16791.702,
"cost_override": 100,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"additional_metadata": {},
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
{
"sysid": 1,
"rank": 2,
"id": 2,
"description": "new polciy",
"length": 0,
"area": 16791.702,
"cost_override": 0,
"cost_override_type": "total",
"building_data": {
"storeys_above_ground": 14,
"storeys_below_ground": 0
},
"notes": "",
"additional_metadata": {},
"created_at": "2018-08-26 20:57:02",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
{
"sysid": 45,
"rank": 2,
"id": 2,
"description": "test",
"type": "project",
"length": 0.0,
"area": 5691.222,
"fundingtype": "public",
"cost_override_type": "per hectare.",
"cost_override": 0.0,
"created_at": "2020-08-24 19:25:57",
"building_data": {},
"notes": "",
"additional_metadata": {},,
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"additional_metadata": {},
"tag_codes": "wp6sw"
}
]
Get details of all diagramsGET/projects/{projectid}/diagrams/all/details/
Returns the a list of Diagram properties (without Geometries) for all the diagrams in the project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Diagram Detail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#ffcc00",
"systag": "Small buildings, low density housing",
"diagramid": 155,
"sysname": "LDH",
"position": "LDH 1",
"author": "ufeusr1"
},
"geometry": {
"coordinates": [
[
[
-6.255365,
53.327752
],
[
-6.255408,
53.32691
],
[
-6.254233,
53.326839
],
[
-6.254147,
53.327739
],
[
-6.255365,
53.327752
]
]
],
"type": "Polygon"
}
}
]
},
"sysid": 48,
"rank": 2,
"id": 2,
"description": "new park",
"type": "project",
"length": 0,
"area": 7733.067,
"fundingtype": "public",
"cost_override_type": "per hectare.",
"cost_override": 0,
"created_at": "2020-03-06 12:50:32",
"start_date": "2020-02-26",
"end_date": "2022-02-22",
"notes": "",
"additional_metadata": {},
"building_data": {
"storeys_above_ground": 95,
"storeys_below_ground": -10
},
"tag_codes": "wp6sw",
"flat_geobuf_url": "",
"external_geometries": ""
}
Get details of a diagramGET/projects/{projectid}/diagrams/{diagramid}/
Returns the a GeoJSON feature collection geometry of the diagram that is passed in the diagram ID.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
A object called “additional_metadata” must be provided
Tags
tag_codes
: List of Code ID stringsAdditional Metadata
additional_metadata
: Free form JSON objectDiagram Title
title
: StringStart Date
start_date
: Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZEnd Date
end_date
: Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZ
Headers
Content-Type: application/json
Authorization: Token ABC123
Body
{
"additional_metadata": {
"id": "ca665187-6cfd-40a2-8cbf-3247d73c55f3"
},
"tag_codes": [
"1.3.4"
],
"title": "New Title",
"start_date": "2020-01-28T00:00:00.000Z",
"end_date": "2021-01-28T00:00:00.000Z"
}
Headers
Content-Type: application/json
Body
{
"status": "Diagram properties updated successfully"
}
Headers
Content-Type: application/json
Body
{
"status": "Processing unsuccessful. Tag ID provided refers to a tag not in the project."
}
Bulk Update properties of a diagramPOST/projects/{projectid}/diagrams/{diagramid}/
Bulk update selected properties of a diagram. Currently, five properties are supported:
Tags (tag_codes): List of Code ID strings
Additional Metadata (additional_metadata): Free form JSON object
Diagram Title (title): String
Start Date (start_date): Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZ
End Date (end_date): Time represented as simplified extended ISO format (ISO 8601), which is always 24 or 27 characters long (YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZ
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Diagram Tags Detail ¶
Headers
Content-Type: application/json
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": "a95fcf52-b2df-46a8-9f70-dab4e7eebaa9",
"tag": "house",
"slug": "house",
"code": "1.3.4",
"diagrams": [
23,
22
]
}
]
Get all Tags associated with a diagramGET/projects/{projectid}/diagrams/{diagramid}/tags/
Returns the a JSON detailing the tags associated / linkedbo a diagram for the that is passed in the diagram ID.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Headers
Authorization: Token ABC123
Body
[
"8a0abf8b-5bbc-4a1b-ac80-872291daed9f"
]
Headers
Content-Type: application/json
Body
{
"status": "Tag updated successfully"
}
Headers
Content-Type: application/json
Body
{
"status": "Processing unsuccessful. Tag ID provided refers to a tag not in the project."
}
Update all Tags associated with a diagramPOST/projects/{projectid}/diagrams/{diagramid}/tags/
Updates the tags associated with a diagram by assigning the the tag IDs passed in the request body.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Diagram Tags Detail ¶
Headers
Content-Type: application/json
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": "a95fcf52-b2df-46a8-9f70-dab4e7eebaa9",
"tag": "house",
"slug": "house",
"code": "1.3.4",
"diagrams": [
23,
22
]
}
]
Get all Tags associated with a diagram (Tag code)GET/projects/{projectid}/diagrams/{diagramid}/tags/codes/
Returns the a JSON detailing the tags associated / linked to a diagram for the that is passed in the diagram ID.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Headers
Authorization: Token ABC123
Body
[
"1.3.4"
]
Headers
Content-Type: application/json
Body
{
"status": "Tag updated successfully"
}
Headers
Content-Type: application/json
Body
{
"status": "Processing unsuccessful. Tag ID provided refers to a tag not in the project."
}
Update Tags associated with a diagram (Tag code)POST/projects/{projectid}/diagrams/{diagramid}/tags/codes/
Updates the tags associated with a diagram by assigning the the tag code passed in the request body.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Diagram Notes Detail ¶
Headers
Content-Type: application/json
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"id": "54",
"notes": "This housing project is already funded"
}
Get all Notes associated with a diagramGET/projects/{projectid}/diagrams/{diagramid}/notes/
Returns the a JSON object detailing the notes associated / linked to a diagram that is passed in the diagram ID parameter.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Headers
Authorization: Token ABC123
Body
{
"notes": "This is a updated note for the diagram"
}
Headers
Content-Type: application/json
Body
{
"id": "54",
"notes": "This is a updated note for the diagram"
}
Update all Notes associated with a diagramPOST/projects/{projectid}/diagrams/{diagramid}/notes/
Returns the a JSON detailing the notes associated / linked to a diagram that is passed in the diagram ID parameter.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Diagram Last Changed ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"changehash": "57266cf8"
}
Get details last modified timestamp of a diagramGET/projects/{projectid}/diagrams/{diagramid}/changeid/
Returns the a hash of the last modified date, can be used to see if a diagram has changed from the last time it was accessed.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
User Diagrams Selections ¶
Headers
Content-Type: application/json
Body
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#da801c",
"volume_information": {
"min_height": 0,
"max_height": 45.0,
},
"sysid": 26,
"diagramid": 50,
"sysname": "MIX",
"author": "ufeusr1",
"rgbcolor": "[218, 128, 28]",
"description": "new housing"
},
"geometry": {
"coordinates": [
[
[
-6.253425,
53.326606
],
[
-6.253683,
53.326452
],
[
-6.253415,
53.326372
],
[
-6.253184,
53.326285
],
[
-6.253002,
53.326292
],
[
-6.252868,
53.32642
],
[
-6.253018,
53.326516
],
[
-6.253195,
53.3266
],
[
-6.253425,
53.326606
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#ffcc00",
"volume_information": {
"min_height": 0,
"max_height": 63.0,
},
"sysid": 25,
"diagramid": 95,
"sysname": "LDH",
"author": "ufeusr1",
"rgbcolor": "[255, 204, 0]",
"description": "test2"
},
"geometry": {
"coordinates": [
[
[
-6.255169,
53.324732
],
[
-6.248817,
53.325347
],
[
-6.251221,
53.323553
],
[
-6.255169,
53.324732
]
]
],
"type": "Polygon"
}
}
]
}
Get details diagrams selected by a userGET/projects/{projectid}/members/{username}/diagrams/
Returns the geometry of the diagrams selected by the user for the particular project. The user has to be a member of the project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- username
string
(required) Example: ufeusr1The username of a user who is a member of the project
Diagram Groups API ¶
Resources related to diagram groups on Geodesignhub
Create Diagram Group ¶
Headers
Authorization: Token ABC123
Body
{
"diagram_groups": [
{
"diagrams": [
12,
13,
15
],
"group_name": "Green Infrastructure plan"
}
]
}
Headers
Content-Type: application/json
Body
{
"status": "Diagram Groups created successfully"
}
Bulk Create diagram groupPOST/projects/{projectid}/diagrams/group/
Creates multiple diagram groups in a project. Using this endpoint, you can create multiple multiple diagram groups in your project
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Thumbnails API ¶
Resources related to images of diagrams within a project on Geodesignhub.
Generate All Diagrams Thumbnail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"message": "Thumbnails Generated",
"results_url": [
"/api/v1/projects/b522ccca68f6decf/diagrams/138/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/139/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/140/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/141/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
"/api/v1/projects/b522ccca68f6decf/diagrams/142/thumbnail/d04c4c17-ff04-4354-8479-1de67b437523/",
]
}
Generate thumbnails of all diagrams in a projectGET/projects/{projectid}/diagrams/all/generate_thumbnails/
Returns a list of urls where you can download generated diagram thumbnails, useful for generating all diagram thumbnails in a project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Generate Diagram Thumbnail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"message": "Task Generated",
"results_url": "/api/v1/projects/5c84b38a16ebeed0/diagrams/12/thumbnail/70c5f4e6-b656-4412-8ee5-16c30de0509f"
}
Generate a thumbnail of a single diagramGET/projects/{projectid}/diagrams/{diagramid}/generate_thumbnail/
Returns a uuid of the job that generates a thumbnail image, can be used to download a PNG image of a diagram.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
Get Diagram Thumbnail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: image/png
Content-Length: 26572
Download a thumbnail of a diagramGET/projects/{projectid}/diagrams/{diagramid}/thumbnail/{jobid}/
Returns a PNG image of the diagram thumbnail that was generated earlier, a PNG image is retured as a response
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- diagramid
integer
(required) Example: 12The ID of the diagram in the form of an integer
- jobid
string
(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the job as given by the earlier generate
Systems API ¶
Resources related to systems within a project on Geodesignhub.
Systems Collection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": 1,
"sname": "LDH",
"color": "#071ac8"
},
{
"id": 2,
"name": "HDH",
"color": "#fc1999"
},
{
"id": 3,
"name": "AG",
"color": "#18a81b"
},
{
"id": 15,
"name": "S4",
"color": "#0a650c"
}
]
List project systemsGET/projects/{projectid}/systems/
Returns basic system details for the project with ID and system name. For futher details, look up the systems/{systemid} endpoint
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
System Detail ¶
Headers
Content-Type: application/json
Body
{
"id": 1,
"name": "LDH",
"verbose_description": "Low Density Housing",
"color": "#071ac8",
"tag": "SMB",
"cost": 100000,
"budget": 2000000,
"current_ha": 0,
"target_ha": 5
}
Get system detailsGET/projects/{projectid}/systems/{sysid}/
Returns the details of that system such as system name, type, etc.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
System Diagrams ¶
Headers
Content-Type: application/json
Body
{
"diagrams": [
5,
7,
13,
15,
18
]
}
Get system diagramsGET/projects/{projectid}/systems/{sysid}/diagrams/
Returns the IDs of all the diagrams contained in that system
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
System Evaluation ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"geojson": {
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.21629333496093747,
51.5399294146093
],
[
-0.208740234375,
51.53480425870272
],
[
-0.204620361328125,
51.524979430024345
],
[
-0.204620361328125,
51.514725174257
],
[
-0.2066802978515625,
51.505750806437874
],
[
-0.218353271484375,
51.497202145853784
],
[
-0.230712890625,
51.49164465653034
],
[
-0.24307250976562497,
51.48822432632349
],
[
-0.2767181396484375,
51.48822432632349
],
[
-0.2877044677734375,
51.49078959803455
],
[
-0.292510986328125,
51.494637234974235
],
[
-0.2931976318359375,
51.5091698216777
],
[
-0.2849578857421875,
51.5283970022217
],
[
-0.276031494140625,
51.536512708129735
],
[
-0.2684783935546875,
51.540783551151826
],
[
-0.22384643554687497,
51.54206472590799
],
[
-0.21629333496093747,
51.5399294146093
],
[
-0.21629333496093747,
51.5399294146093
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "red",
"color": "#f03b20"
}
},
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.141448974609375,
51.5403564848844
],
[
-0.13458251953125,
51.53864817973767
],
[
-0.12153625488281249,
51.52882418070984
],
[
-0.11947631835937499,
51.52198884392169
],
[
-0.11947631835937499,
51.50959718054336
],
[
-0.12359619140625,
51.50062180251775
],
[
-0.1297760009765625,
51.49634719159713
],
[
-0.1593017578125,
51.497202145853784
],
[
-0.16754150390625,
51.49848454717058
],
[
-0.1737213134765625,
51.5027589576403
],
[
-0.1764678955078125,
51.51045188624856
],
[
-0.17578125,
51.519425328081894
],
[
-0.1627349853515625,
51.53523137707124
],
[
-0.1544952392578125,
51.5399294146093
],
[
-0.1483154296875,
51.540783551151826
],
[
-0.141448974609375,
51.5403564848844
],
[
-0.141448974609375,
51.5403564848844
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "green",
"color": "#74c476"
}
},
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.05699157714843749,
51.56341232867588
],
[
-0.050811767578125,
51.55999738544502
],
[
-0.0439453125,
51.55231282551346
],
[
-0.03776550292968749,
51.53523137707124
],
[
-0.0384521484375,
51.5283970022217
],
[
-0.04119873046875,
51.524552215462975
],
[
-0.0446319580078125,
51.52198884392169
],
[
-0.0501251220703125,
51.520707104039275
],
[
-0.05699157714843749,
51.520707104039275
],
[
-0.06797790527343749,
51.524124996893335
],
[
-0.06866455078125,
51.53523137707124
],
[
-0.06591796875,
51.54121061341155
],
[
-0.07415771484375,
51.55487448974971
],
[
-0.06797790527343749,
51.56255861691012
],
[
-0.0624847412109375,
51.56426602441386
],
[
-0.05699157714843749,
51.56341232867588
],
[
-0.05699157714843749,
51.56341232867588
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "green",
"color": "#74c476"
}
}
]
},
"sysid": 1
}
Get system evaluationGET/projects/{projectid}/systems/{sysid}/evaluation/
Returns a GeoJSON feature collection for the evaluation map for this system.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
Add Project Diagram to System ¶
A diagram must contain the following details
geometry
A GeoJSON FeatureCollection objectfeaturetype
Whether the diagram is a line or a polygondescription
Title of the diagramfundingtype
Specify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
Headers
Content-Type: application/json
Authorization: Token ABC123
Body
{
"geometry": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09307265281677245,
51.516194024429446
],
[
-0.09310483932495117,
51.51524595382876
],
[
-0.09136676788330077,
51.51502562473659
],
[
-0.09100198745727538,
51.515639872882986
],
[
-0.09152770042419434,
51.51636093622468
],
[
-0.09307265281677245,
51.51622740683744
],
[
-0.09307265281677245,
51.516194024429446
]
]
]
}
}
]
},
"featuretype": "polygon",
"description": "A new shopping mall",
"fundingtype": "pu"
}
Headers
Content-Type: application/json
Body
{
"diagram_id": "2321",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}
Add a project diagramPOST/projects/{projectid}/systems/{sysid}/add/project/
Add a new diagram to a system
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
Add Policy Diagram to System ¶
A diagram must contain the following details
geometry
A GeoJSON FeatureCollection objectfeaturetype
Whether the diagram is a line or a polygondescription
Title of the diagramfundingtype
Specify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
Headers
Content-Type: application/json
Authorization: Token ABC123
Body
{
"geometry": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.10273933410644531,
51.5111730317151
],
[
-0.10273933410644531,
51.523003529077705
],
[
-0.08351325988769531,
51.523003529077705
],
[
-0.08351325988769531,
51.5111730317151
],
[
-0.10273933410644531,
51.5111730317151
]
]
]
}
}
]
},
"featuretype": "polygon",
"description": "Low taxation policy",
"fundingtype": "pu"
}
Headers
Content-Type: application/json
Body
{
"diagram_id": "2042",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}
Add a policy diagramPOST/projects/{projectid}/systems/{sysid}/add/policy/
Add a new diagram to a system
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a policy in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
Add External Project Diagram ¶
A diagram must contain the following details
url
A url to a Flatgeobuf (FGB) file or the URL for Cloud Optimized GeoTIFF layerlayer_type
Specify the type of geometry linked:- fgb-layer - A Flatgeobuf File
- cogs - A Cloud Optimized GeoTIFF layer
featuretype
Whether the diagram is a line or a polygondescription
Title of the diagramfundingtype
Specify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
You can also include optional the following optional fields-
additional_metadata
A arbitrary JSON object to hold any other metadatacost
Specify the cost for the diagram, as an integercost_type
Specify the type of cost, if a unit cost is specified, Geodesignhub will multiply that cost with the number of hectares in the diagram- t - total cost
- u - unit cost
Headers
Content-Type: application/json
Authorization: Token ABC123
Body
{
"url": "https://s3.amazonaws.com/my_fgbfile.fgb",
"layer_type": "fgb-layer",
"featuretype": "polygon",
"description": "A new shopping mall",
"fundingtype": "pu",
"additional_metadata": {}
}
Headers
Content-Type: application/json
Body
{
"diagram_id": "2321",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}
Add a external project diagramPOST/projects/{projectid}/systems/{sysid}/add/external/project/
Add a new diagram to a system with external geometries
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
Add External Policy Diagram ¶
A diagram must contain the following details
url
A url to a Flatgeobuf (FGB) file or the URL for Cloud Optimized GeoTIFF layerlayer_type
Specify the type of geometry linked:- fgb-layer - A Flatgeobuf File
- cogs - A Cloud Optimized GeoTIFF layer
featuretype
Whether the diagram is a line or a polygondescription
Title of the diagramfundingtype
Specify the funding type of the diagram:- pu - Public
- pp - Public + Private
- pr - Private
- bu - Budgeted
You can also include optional the following optional fields
additional_metadata
A arbitrary JSON object to hold any other metadatacost
Specify the cost for the diagram, as an integercost_type
Specify the type of cost, if a unit cost is specified, Geodesignhub will multiply that cost with the number of hectares in the diagram- t - total cost
- u - unit cost
Headers
Content-Type: application/json
Authorization: Token ABC123
Body
{
"url": "https://s3.amazonaws.com/my_fgbfile.fgb",
"layer_type": "fgb-layer",
"featuretype": "polygon",
"description": "A new shopping mall",
"fundingtype": "pu",
"additional_metadata": {}
}
Headers
Content-Type: application/json
Body
{
"diagram_id": "2321",
"grid_location": "TRANS 1",
"status": "Successfully added diagram to the project"
}
Add a external policy diagramPOST/projects/{projectid}/systems/{sysid}/add/external/policy/
Add a new diagram to a system with external geometries
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
User System Diagram Selection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.1064300537109375,
51.5212411667077
],
[
-0.07432937622070312,
51.50927666176991
],
[
-0.06299972534179688,
51.505537109466715
],
[
-0.06282806396484375,
51.50468231156
],
[
-0.06420135498046875,
51.504148054725356
],
[
-0.07656097412109375,
51.50607135001545
],
[
-0.08737564086914062,
51.5089561407416
],
[
-0.09990692138671875,
51.51066556016948
],
[
-0.1078033447265625,
51.51087923308819
],
[
-0.10951995849609375,
51.51525930707282
],
[
-0.11484146118164062,
51.522522891558964
],
[
-0.11243820190429688,
51.522629700334875
],
[
-0.1064300537109375,
51.5212411667077
],
[
-0.1064300537109375,
51.5212411667077
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
},
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
}
]
}
Get diagrams selected in a system by userGET/projects/{projectid}/systems/{sysid}/{username}/diagrams/
Returns the geometry of the diagrams selected by the user for the particular project and a specific system.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
- username
string
(required) Example: ufeusr1The username of a user who is a member of the project
User System Projects Diagram Selection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
}
]
}
Get project diagrams selected in a system by userGET/projects/{projectid}/systems/{sysid}/{username}/diagrams/projects/
Returns the geometry only of project diagrams selected by the user for the particular project and a specific system.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
- username
string
(required) Example: ufeusr1The username of a user who is a member of the project
User System Policies Diagram Selection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.1064300537109375,
51.5212411667077
],
[
-0.07432937622070312,
51.50927666176991
],
[
-0.06299972534179688,
51.505537109466715
],
[
-0.06282806396484375,
51.50468231156
],
[
-0.06420135498046875,
51.504148054725356
],
[
-0.07656097412109375,
51.50607135001545
],
[
-0.08737564086914062,
51.5089561407416
],
[
-0.09990692138671875,
51.51066556016948
],
[
-0.1078033447265625,
51.51087923308819
],
[
-0.10951995849609375,
51.51525930707282
],
[
-0.11484146118164062,
51.522522891558964
],
[
-0.11243820190429688,
51.522629700334875
],
[
-0.1064300537109375,
51.5212411667077
],
[
-0.1064300537109375,
51.5212411667077
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"color": "#071ac8",
"systag": "Small buildings, low density housing"
}
}
]
}
Get geometries of policy diagrams selected in a system by userGET/projects/{projectid}/systems/{sysid}/{username}/diagrams/policies/
Returns the geometry only of policy diagrams selected by the user for the particular project and a specific system.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
- username
string
(required) Example: ufeusr1The username of a user who is a member of the project
Change Teams API ¶
A set of resources related to Change teams within a Geodesignhub Project
Change Team Collection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": 1,
"title": "DEV"
},
{
"id": 4,
"title": "ECON"
}
]
List all change teamsGET/projects/{projectid}/cteams/
Return all the change teams for that project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Change Team Designs ¶
Headers
Content-Type: application/json
Body
{
"synthesis": [
{
"cteamid": 1,
"creationdate": "2016-04-28T22:24:21.968000",
"id": "PHBN4B9H1KDBHKPK",
"description": "v3"
},
{
"cteamid": 1,
"creationdate": "2016-04-30T13:36:54.304000",
"id": "9F79977KO8KB35GM",
"description": "ve3"
},
{
"cteamid": 1,
"creationdate": "2016-04-30T13:39:01.860000",
"id": "0FN94DJH903ONLH4",
"description": "e2"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:34:27.744000",
"id": "7N1LP9E4E2OG81L8",
"description": "new d"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:36:05.462000",
"id": "BE52E36N507DIBFF",
"description": "old design"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:36:33.845000",
"id": "82F3ADJ2P67FCI8O",
"description": "v5"
},
{
"cteamid": 1,
"creationdate": "2016-05-01T19:40:15.976000",
"id": "9P45D3EA03ON7AL9",
"description": "v09"
},
{
"cteamid": 1,
"creationdate": "2016-06-09T20:50:11.149083",
"id": "EMHK5NP4K47OMHCB",
"description": "v1"
}
]
}
List designs of a change teamGET/projects/{projectid}/cteams/{cteamid}/
Returns a list of synthesis created by this change team
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
Change Team Designs ¶
Headers
Content-Type: application/json
Body
{
"description": "v3",
"creationdate": "2024-05-30T16:45:35.281332Z",
"id": "7GXZPB4DW322NEEY"
}
List designs of a change teamGET/projects/{projectid}/cteams/{cteamid}/details/
Returns a list of synthesis created by this change team
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
Change Team Members ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"members": [
"ufeusr1"
]
}
List members of a change teamGET/projects/{projectid}/cteams/{cteamid}/members/
Returns a list of usernames of users who are members of this change team.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
Design Synthesis ESRI JSON ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"geometry": {
"rings": [
[
[
-6.255692,
53.326477
],
[
-6.255649,
53.326358
],
[
-6.255928,
53.326262
],
[
-6.256051,
53.326352
],
[
-6.255692,
53.326477
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"id": 0
}
},
{
"geometry": {
"rings": [
[
[
-6.255418,
53.326198
],
[
-6.255252,
53.326102
],
[
-6.255585,
53.32598
],
[
-6.255708,
53.326105
],
[
-6.255418,
53.326198
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"id": 0
}
},
{
"geometry": {
"rings": [
[
[
-6.255502,
53.325996
],
[
-6.254879,
53.326253
],
[
-6.254724,
53.32609
],
[
-6.255437,
53.325779
],
[
-6.255502,
53.325996
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"description": "new polygon",
"author": "ufeusr1",
"diagramid": 31,
"systag": "Small buildings, low density housing",
"sysname": "LDH",
"grid_location": "LDH 1",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 0,
"cost_override_type": "per hectare.",
"color": "#ffcc00",
"notes": "",
"additional_metadata": {},
"volume_information": {
"min_height": 0,
"max_height": 0
},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
},
{
"geometry": {
"paths": [
[
[
-6.254616,
53.327141
],
[
-6.254128,
53.327073
],
[
-6.253458,
53.326977
],
[
-6.253479,
53.326756
],
[
-6.253388,
53.326551
],
[
-6.253597,
53.326493
],
[
-6.25445,
53.32617
]
]
],
"spatialReference": {
"wkid": 3857
}
},
"attributes": {
"description": "AG Numeric",
"author": "ufeusr1",
"diagramid": 61,
"systag": "Agriculture, Forestry",
"sysname": "AG",
"grid_location": "LDH 1",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 100,
"cost_override_type": "total",
"color": "#C2E699",
"notes": "",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]
Get design synthesis (ESRI-JSON)GET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/esri/
Returns a ESRI-JSON featureset object of the synthesis that is saved.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string
(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Design Synthesis GeoJSON ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"description": "new polygon",
"author": "ufeusr1",
"diagramid": 31,
"systag": "Small buildings, low density housing",
"sysname": "LDH",
"grid_location": "LDH 1",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 0,
"cost_override_type": "per hectare.",
"color": "#ffcc00",
"notes":"",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
"geometry": {
"coordinates": [
[
[
-6.264439,
53.332213
],
[
-6.263838,
53.328984
],
[
-6.251392,
53.327241
],
[
-6.241865,
53.332354
],
[
-6.256371,
53.338402
],
[
-6.264439,
53.332213
]
]
],
"type": "Polygon"
}
},
{
"type": "Feature",
"properties": {
"description": "AG Numeric",
"author": "ufeusr1",
"diagramid": 61,
"systag": "Agriculture, Forestry",
"sysname": "AG",
"position": "AG 4",
"areatype": "project",
"diagramtype": "project",
"fundingtype": "public",
"cost_override": 100,
"cost_override_type": "total",
"color": "#C2E699",
"notes":"",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5"
"start_date": "2020-02-26",
"end_date": "2022-02-22"
},
"geometry": {
"coordinates": [
[
[
-6.252637,
53.329628
],
[
-6.261048,
53.331012
],
[
-6.240878,
53.334241
],
[
-6.252637,
53.329628
]
]
],
"type": "Polygon"
}
}
]
}
Get design synthesisGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/
Returns a GeoJSON feature collection object of the synthesis that is saved.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string
(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Timeline ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"timeline": {
"6": {
"start": "2016-11-15",
"end": "2017-11-15"
},
"7": {
"start": "2021-11-15",
"end": "2022-11-15"
},
"8": {
"start": "2021-11-15",
"end": "2022-11-15"
},
"14": {
"start": "2016-11-15",
"end": "2017-11-15"
},
"15": {
"start": "2016-11-15",
"end": "2017-11-15"
},
"66": {
"start": "2021-09-30",
"end": "2022-09-30"
}
}
}
Get start and end time of diagramsGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/timeline/
Returns the start and end time of diagrams (if set) at the time of saving a design.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string
(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Diagrams ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"diagrams": [
49,
10,
11,
12,
17,
18
],
"synthesisid": "2G638FLMLJEGF706"
}
List diagrams in a synthesisGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/diagrams/
Returns a list of diagram IDs in the selected synthesis.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string
(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Policies ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application / json
Body
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09394168853759766,
51.51523260058079
],
[
-0.08668899536132812,
51.51549966479653
],
[
-0.0856161117553711,
51.515659902574384
],
[
-0.08085250854492186,
51.51547295844541
],
[
-0.08020877838134766,
51.51531272000991
],
[
-0.07797718048095703,
51.51437798456801
],
[
-0.07746219635009766,
51.51395067054886
],
[
-0.07741928100585936,
51.51352335252112
],
[
-0.07784843444824219,
51.5129891993494
],
[
-0.07973670959472656,
51.51280224425956
],
[
-0.0832986831665039,
51.51309603048481
],
[
-0.08703231811523438,
51.51309603048481
],
[
-0.08870601654052734,
51.5129891993494
],
[
-0.09029388427734374,
51.51325627671818
],
[
-0.09162425994873047,
51.51365688983539
],
[
-0.0960874557495117,
51.51456493319091
],
[
-0.09724617004394531,
51.514992241447835
],
[
-0.0972890853881836,
51.51568660881589
],
[
-0.09552955627441406,
51.51571331504175
],
[
-0.09514331817626952,
51.51555307745177
],
[
-0.09514331817626952,
51.51555307745177
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"diagramtype": "project",
"fundingtype": "other",
"author": "ufeusr1",
"color": "#071ac8",
"notes": "",
"diagramid": 5,
"description": "testing",
"systag": "Small buildings, low density housing",
"cost_override": 0,
"cost_override_type": "per hectare.",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"tag_codes": "3.2|4.3|5.5",
"additional_metadata": {},
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]
}
Get policy diagrams from designGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/policies/
Returns a GeoJSON feature collection object of the all the policy diagrams in the synthesis that is saved.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string
(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
Change Team Synthesis Projects by System ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application / json
Body
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.13423919677734375,
51.51536613288439
],
[
-0.1297760009765625,
51.51344322994464
],
[
-0.12805938720703125,
51.50981085847292
],
[
-0.12874603271484375,
51.5091698216777
],
[
-0.13286590576171875,
51.5091698216777
],
[
-0.14247894287109375,
51.51173391474148
],
[
-0.14385223388671875,
51.514084206610455
],
[
-0.14934539794921875,
51.51792987720294
],
[
-0.13767242431640625,
51.519425328081894
],
[
-0.13423919677734375,
51.51536613288439
],
[
-0.13423919677734375,
51.51536613288439
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "project",
"diagramtype": "project",
"fundingtype": "other",
"author": "ufeusr1",
"color": "#331196",
"diagramid": 10,
"description": "ce3",
"systag": "Small buildings, low density housing",
"cost_override": 100,
"notes": "",
"cost_override_type": "total",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"tag_codes": "3.2|4.3|5.5",
"additional_metadata": {},
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]
}
Get project diagrams filtered by system from designGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/systems/{sysid}/projects/
Returns a GeoJSON feature collection object of of the all the project diagrams for the given system in the saved synthesis.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string
(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
Change Team Synthesis Projects by System ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application / json
Body
{
"type": "FeatureCollection",
"features": [
{
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.14316558837890625,
51.53523137707124
],
[
-0.13561248779296875,
51.53266860674158
],
[
-0.13080596923828125,
51.53010569212588
],
[
-0.127716064453125,
51.525833847122584
],
[
-0.13080596923828125,
51.52198884392169
],
[
-0.1366424560546875,
51.52177522311313
],
[
-0.14316558837890625,
51.52412499689336
],
[
-0.14453887939453125,
51.52796981972546
],
[
-0.14247894287109375,
51.531600743186644
],
[
-0.1531219482421875,
51.53693981046692
],
[
-0.14316558837890625,
51.53523137707124
],
[
-0.14316558837890625,
51.53523137707124
]
]
]
},
"type": "Feature",
"properties": {
"areatype": "policy",
"diagramtype": "policy",
"author": "ufeusr1",
"fundingtype": "other",
"color": "#331196",
"diagramid": 12,
"description": "656",
"systag": "Small buildings, low density housing",
"cost_override": 0,
"cost_override_type": "total",
"notes": "",
"volume_information": {
"min_height": 0,
"max_height": 0
},
"additional_metadata": {},
"tag_codes": "3.2|4.3|5.5",
"start_date": "2020-02-26",
"end_date": "2022-02-22"
}
}
]
}
Get policy diagrams filtered by system from designGET/projects/{projectid}/cteams/{cteamid}/{synthesisid}/systems/{sysid}/policies/
Returns a GeoJSON feature collection object of of the all the policy diagrams for the given system in the saved synthesis.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- cteamid
integer
(required) Example: 12The ID of the change team in the form of an integer
- synthesisid
string
(required) Example: 2G638FLMLJEGF706The ID of a synthesis in the form of a string
- sysid
integer
(required) Example: 23The ID of the system in the form of an integer
Tasks API ¶
A set of resources related to Tasks and Boards within a Geodesignhub Project
Boards Collection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": "8f99a13f-04ae-48e3-8f51-40d967ec38ca",
"synthesisid": "PCJ4JKX9MVSJGN6J",
"description": "N.1"
}
]
List all boards created for a projectGET/projects/{projectid}/boards/
Return all the boards for that project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Board Detail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"id": "8f99a13f-04ae-48e3-8f51-40d967ec38ca",
"updated": "2019-04-27T20:47:36.071973"
}
Get details of a boardGET/projects/{projectid}/boards/{boardid}/
Returns details the board that is passed in the boards ID.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- boardid
string
(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the digaram in the form of an uuid4 string
Board timeline Detail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"id": "8016e23a-70bc-48a9-9a05-5a8bb48bd16f",
"timeline_data": [
{
"content": "TRANS 1 Add more Bars/Restaurants to the Amsterdamse Poort",
"start": "2020-02-26T00:00:00.000Z",
"end": "2022-02-22T00:00:00.000Z",
"system_id": 46,
"diagram_id": 139,
"project_or_policy": "project"
},
{
"content": "LDH 1 t3",
"start": "2020-09-05T00:00:00.000Z",
"end": "2022-09-02T00:00:00.000Z",
"system_id": 48,
"diagram_id": 138,
"project_or_policy": "project"
},
{
"content": "MIX 2 test",
"start": "2020-02-01T00:00:00.000Z",
"end": "2022-02-01T00:00:00.000Z",
"system_id": 49,
"diagram_id": 178,
"project_or_policy": "project"
},
{
"content": "PREC 2 test",
"start": "2020-02-26T00:00:00.000Z",
"end": "2022-02-22T00:00:00.000Z",
"system_id": 50,
"diagram_id": 160,
"project_or_policy": "project"
},
{
"content": "T2",
"end": "2024-07-24T09:08:47.416251+00:00",
"start": "2023-07-26T09:08:47.416150+00:00",
"system_id": "Tasks",
"diagram_id": "37d2bdd9-09e5-4eb3-a2d2-b6c87c5fe93d",
"project_or_policy": "policy"
}
]
}
Get details of the timeline in a boardGET/projects/{projectid}/boards/{boardid}/timeline/
Returns details the timeline that is associated with the passed board ID.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- boardid
string
(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the board in the form of an uuid4 string
Surveys API ¶
A set of resources related to Surveys within a Geodesignhub Project
Surveys Collection ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
[
{
"id": "5a22bf21-186d-42f3-862a-8b58c9febdee",
"study_area_fc": {
"type": "FeatureCollection",
"features": [
{
"type": "Polygon",
"coordinates": [
[
[
-6.247701644897461,
53.323183666714215
],
[
-6.247701644897461,
53.330872983017066
],
[
-6.260576248168945,
53.330872983017066
],
[
-6.260576248168945,
53.323183666714215
],
[
-6.247701644897461,
53.323183666714215
]
]
]
}
]
},
"default_geometry_polygon": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-6.253085,
53.327516
],
[
-6.255141,
53.330873
],
[
-6.255223,
53.326797
],
[
-6.252972,
53.323184
],
[
-6.253085,
53.327516
]
]
]
},
"properties": {}
}
]
},
"default_geometry_line": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
[
-6.257835,
53.326874
],
[
-6.257322,
53.3308
],
[
-6.251095,
53.326237
]
]
]
},
"properties": {}
}
]
},
"bounds": "-6.260576248168945,53.323183666714215,-6.247701644897461,53.330872983017066",
"zoom": 15,
"center": "-6.254,53.327"
}
]
List all surveys created for a projectGET/projects/{projectid}/surveys/
Return all the surveys for that project.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
Survey Detail ¶
Headers
Authorization: Token ABC123
Headers
Content-Type: application/json
Body
{
"id": "5a22bf21-186d-42f3-862a-8b58c9febdee",
"study_area_fc": {
"type": "FeatureCollection",
"features": [
{
"type": "Polygon",
"coordinates": [
[
[
-6.247701644897461,
53.323183666714215
],
[
-6.247701644897461,
53.330872983017066
],
[
-6.260576248168945,
53.330872983017066
],
[
-6.260576248168945,
53.323183666714215
],
[
-6.247701644897461,
53.323183666714215
]
]
]
}
]
},
"default_geometry_polygon": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-6.253085,
53.327516
],
[
-6.255141,
53.330873
],
[
-6.255223,
53.326797
],
[
-6.252972,
53.323184
],
[
-6.253085,
53.327516
]
]
]
},
"properties": {}
}
]
},
"default_geometry_line": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
[
-6.257835,
53.326874
],
[
-6.257322,
53.3308
],
[
-6.251095,
53.326237
]
]
]
},
"properties": {}
}
]
},
"bounds": "-6.260576248168945,53.323183666714215,-6.247701644897461,53.330872983017066",
"zoom": 15,
"center": "-6.254,53.327"
}
Headers
Content-Type: application/json
Body
{
"message": "Survey with ID 5a22bf21-186d-42f3-862a-8b58c9febdee updated successfully",
"status": 1
}
Get details of a SurveyGET/projects/{projectid}/surveys/{survey_id}/
Returns details the survey that is passed in the survey ID.
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- survey_id
string
(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the survey in the form of an uuid4 string
Update Survey ¶
Headers
Authorization: Token ABC123
Body
{
"study_area_fc": {
"type": "FeatureCollection",
"features": [
{
"type": "Polygon",
"coordinates": [
[
[
-6.247701644897461,
53.323183666714215
],
[
-6.247701644897461,
53.330872983017066
],
[
-6.260576248168945,
53.330872983017066
],
[
-6.260576248168945,
53.323183666714215
],
[
-6.247701644897461,
53.323183666714215
]
]
]
}
]
},
"default_geometry_polygon": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-6.253085,
53.327516
],
[
-6.255141,
53.330873
],
[
-6.255223,
53.326797
],
[
-6.252972,
53.323184
],
[
-6.253085,
53.327516
]
]
]
},
"properties": {}
}
]
},
"default_geometry_line": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[
[
-6.257835,
53.326874
],
[
-6.257322,
53.3308
],
[
-6.251095,
53.326237
]
]
]
},
"properties": {}
}
]
}
}
Headers
Content-Type: application/json
Body
{
"message": "Survey with ID 5a22bf21-186d-42f3-862a-8b58c9febdee updated successfully",
"status": 1
}
Update survey fieldsPOST/projects/{projectid}/surveys/{survey_id}/update
Update the details e.g. study area boundary for the survey that is passed in the survey ID. Currently, five properties are supported:
Study Area Boundary (study_area_fc): A GeoJSON feature collection representing the study area boundary
Default Polygon (default_geometry_polygon): A GeoJSON feature collection representing the default diagram that will be showed in the survey
Default Linestring (default_geometry_line): A GeoJSON feature collection representing the default diagram and line that will be showed in the survey
- projectid
string
(required) Example: 5c84b38a16ebeed0The ID of a project in the form of an string
- survey_id
string
(required) Example: 8f99a13f04ae-48e3-8f51-40d967ec38ca (uuid) - The ID of the survey in the form of an uuid4 string
Generated by aglio on 08 Dec 2024