|
| 1 | +# GIS Cloud |
| 2 | +GIS Cloud is a SaaS platform that provides best in class web and mobile map rendering coupled with a powerful forms engine to facilitate all your collaborative mapping needs. The GIS Cloud Map Connector provides a subset of the extensive and powerful REST API that allows automations to drive most of the common use cases for a Map project. This connector will aloow you to list, update and interogate GIS Cloud Maps, Layers, Users and to also create Features and Files. With this subset a user can automate many data driven activities such as creating new features for inspection, creating reports, exporting data for dashboarding etc... |
| 3 | + |
| 4 | +## Publisher: HandyGeo Services |
| 5 | + |
| 6 | +## Prerequisites |
| 7 | +### You will need the following to proceed: |
| 8 | + |
| 9 | +- A GIS Cloud user account with a Map Editor subscription |
| 10 | +- A GIS Cloud API key generated under the My Account menu |
| 11 | +- The Power platform CLI tools |
| 12 | +- A Microsoft Power Apps or Power Automate plan with custom connector feature |
| 13 | + |
| 14 | +A full reference for the GIS Cloud REST API can be found at: https://docs.giscloud.com/rest |
| 15 | + |
| 16 | +## Supported Operations |
| 17 | +### [ACTION]: Get Maps |
| 18 | +List accessable maps |
| 19 | + |
| 20 | +### [ACTION]: Get Map |
| 21 | +Get specified map details |
| 22 | + |
| 23 | +### [ACTION]: Delete Map |
| 24 | +Delete specified map project |
| 25 | + |
| 26 | +### [ACTION]: Update Map |
| 27 | +Update specified map project |
| 28 | + |
| 29 | +### [ACTION]: Delete Map Cache |
| 30 | +Clears the server cache of map tiles for a specified map |
| 31 | + |
| 32 | +### [ACTION]: Render Map |
| 33 | +Renders an image of the map project |
| 34 | + |
| 35 | +### [ACTION]: Get Layers |
| 36 | +List accessable layers |
| 37 | + |
| 38 | +### [ACTION]: Get Layer |
| 39 | +Get specified layer details |
| 40 | + |
| 41 | +### [ACTION]: Delete Layer |
| 42 | +Delete specified layer |
| 43 | + |
| 44 | +### [ACTION]: Update Layer |
| 45 | +Update specified layer |
| 46 | + |
| 47 | +### [ACTION]: Render Map |
| 48 | +Renders an image of the map layer |
| 49 | + |
| 50 | +### [ACTION]: Get Layer Columns |
| 51 | +Describe the attributes and data types of a layer |
| 52 | + |
| 53 | +### [ACTION]: Get Features |
| 54 | +List all features on a layer |
| 55 | + |
| 56 | +### [ACTION]: Get Feature |
| 57 | +Get specified feature on a layer |
| 58 | + |
| 59 | +### [ACTION]: Create Feature |
| 60 | +Create new feature on a specified layer |
| 61 | + |
| 62 | +### [ACTION]: Delete Feature |
| 63 | +Delete specified feature on a layer |
| 64 | + |
| 65 | +### [ACTION]: Update Feature |
| 66 | +Update specified feature on a layer |
| 67 | + |
| 68 | +### [ACTION]: Download Media |
| 69 | +Get specified file from cloud storage |
| 70 | + |
| 71 | +### [ACTION]: Upload Media |
| 72 | +Upload specified file to cloud storage |
| 73 | + |
| 74 | +### [ACTION]: Delete Media |
| 75 | +Delete specified file from cloud storage |
| 76 | + |
| 77 | +### [ACTION]: Get Current User |
| 78 | +Get current GIS Cloud user |
| 79 | + |
| 80 | +### [ACTION]: Get User |
| 81 | +Get specified GIS Cloud user |
| 82 | + |
| 83 | +## Obtaining Credentials |
| 84 | +The GIS Cloud REST API is secured via an API key. Most REST endpoints will not function without a valid API key. |
| 85 | + |
| 86 | +To obtain a valid API key navigate to https://manager.giscloud.com and log in with your GIS Cloud account. |
| 87 | + |
| 88 | +In the top right, click on your user name and select "My Account" from the dropdown menu. |
| 89 | + |
| 90 | +In the popup modal, select the "API Access" tab. Enter a descriptive name for the key in "New API key description" box and click "Add key". A new modal will present your new API Key which you must copy and store securely as it will never be shown again. |
| 91 | + |
| 92 | +For additional reference please see: https://docs.giscloud.com/rest#creating-an-api-key |
| 93 | + |
| 94 | +After that is completed, you can create and test the connector. |
| 95 | + |
| 96 | +## Known Issues and Limitations |
| 97 | +### Authentication compatibility for PowerApps |
| 98 | +To aid compatability with the PCF map component published by HandyGeo Services and to avoid prompting PowerApps users for API keys which is not user friendly we have created the connector to require the API key to be specified with every request. |
| 99 | + |
| 100 | +### Dynamic data schema for Feature endpoints |
| 101 | +Due to geographic features in GIS Cloud originating from user uploaded data the schema is always dataset specific. As such the schema for payloads and responses from all Feature endpoints are always dynamic and require support for dynamic schemas in the Office 365 product being used. This is generally well supported by PowerAutomate but can present challenges in PowerApps. |
| 102 | + |
| 103 | +### Endpoint Pagination |
| 104 | +GIS Cloud endpoints are limited to a maximum of 5,000 records being returned from a single request. While the REST API supports pagination, currently there is no way to automatically include this in the connector behaviour. |
| 105 | + |
| 106 | +### REST API Rate Limiting for Service Protection |
| 107 | +As should be expected with any production REST API service, if an excessive number of requests to the GIS Cloud API are made in a short amount of time the response will be a 5xx code. While a specific rate limit is not explicitly defined, the REST API will support a limited parallel loop rate (i.e. approx 20) but high rates are likely to result in significant failures. Failed responses can be managed with a retry policy but excessive rates will cause issues. |
| 108 | + |
| 109 | +## Deployment Instructions |
| 110 | +Obtain or create a suitable `settings.json` file and run the following commands and follow the prompts: |
| 111 | + |
| 112 | +```paconn create --settings settings.json``` |
0 commit comments