.wpb_animate_when_almost_visible { opacity: 1; }

Population Density Data - CAMARA - Sandbox 0.1

  • Network APIs
  • Location

Retrieve population density estimations for a specific area at the current or a future period of time

Use this API Contact us
Download

Population Density Data
 0.1.1 
OAS 3.0

https://developer.orange.com/ope-contents/channels/87afd7365baec589/offers/dvvAoM53eMUmsshs/products/CGkOiaGRIGC9puGe/contents/swagger/MVc3r4FEYIRjfJvk/population-density-data.v0.1.1.OD.yaml

Population Density Data API exposes population density estimations for a specified area for a specified time interval.

Introduction

With the Population Density Data API the customer can retrieve population density estimations for a specific area at the current or a future period of time. The estimation considers historical anonymized information of the network connected devices in the requested area.

This functionality can be used for multiple use cases, some of the possible use cases for this API are:

  • Supporting BVLOS (Beyond Visual Line of Sight) flights with the information needed to meet SORA 2.5 (Specific Operation Risk Assessment) requirements in terms of intrinsic Ground Risk Class (iGRC). More information in Specific Operations Risk Assessment
  • Providing information to identify if the ground risk class for a given drone flight path is acceptable for the time of the flight, or an alternative time should be considered to lower the risk.
  • Sustainable Urban Planning.
  • Environmental monitoring at mass events, such as concerts or festivals.

The list above is just a few examples, the API can be used for other use cases as well.

Relevant terms and definitions

  • Population Density: refers to the number of people in a given area divided by the total size of the area.
  • Notification URL and token: Developers may provide a callback URL (sink) for receiving an async response. This is an optional parameter. If sink is included, it is RECOMMENDED for the client to provide as well the sinkCredential property to protect the notification endpoint. In the current version,sinkCredential.credentialType MUST be set to ACCESSTOKEN if provided.

API Functionality

Once a developer specifies (1) the area as a polygon shape, (2) a precision level and (3) time interval in which they want to obtain the population density, the API returns a data set consisting of a sequence of time ranges, with each time range containing the input polygon subdivided into equal-sized grid cells.

For each of the equal-sized cells of the grid, an estimated population density is reported for each time slot within the range, this includes: estimated population density people/km2, and a range for this estimation - [minimum, maximum] (exact definitions of minimum and maximum are estimation algorithm specific).

These values are calculated based on historical data and/or prediction models trained on such data.

The polygon specifying an area of interest must comply with certain restrictions, which must be previously validated by the developer:

  • The polygon may not exceed a certain area.
  • The polygon may not contain more than 15 vertexes.
  • The polygon must be associated with a location where the MNO provides mobile connectivity services. If a polygon is located entirely outside the supported area, an empty array is returned.

The standard behaviour of the API is synchronous, although for large area requests the API may behave asynchronously. An API invoker can enforce asynchronous behaviour by providing a callback URL (sink) is in the request, in this case the API sends a callback to the callback URL provided with the result of the request. If sink is included, it is RECOMMENDED for the client to provide as well the sinkCredential property to protect the notification endpoint. In the current version,sinkCredential.credentialType MUST be set to ACCESSTOKEN if provided.

For requests with a combination of area, precision, startDate and endDate properties involving an amount of processing that cannot be processed synchronously, the API returns the error response POPULATION_DENSITY_DATA.UNSUPPORTED_SYNC_RESPONSE.

For requests with a combination of area, precision, startDate and endDate properties too big for both synchronous and asynchronous processing, the API returns the error response POPULATION_DENSITY_DATA.UNSUPPPORTED_REQUEST.

NOTE: In order to ensure anonymized information, if the data relating to a grid cell in the required time interval is not sufficient to be exposed due to k-anonymity, no such data is returned by the API and the value of the dataType property is LOW_DENSITY.

Resources and Operations overview

The API provides one endpoint that accepts POST requests for retrieving population density information in the specified area.

Authorization and Authentication

The "Camara Security and Interoperability Profile" provides details on how a client requests an access token. Please refer to Identify and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the Profile. Which specific authorization flows are to be used will be determined during onboarding process, happening between the API Client and the Telco Operator exposing the API, taking into account the declared purpose for accessing the API, while also being subject to the prevailing legal framework dictated by local legislation. It is important to remark that in cases where personal user data is processed by the API, and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of 3-legged access tokens becomes mandatory. This measure ensures that the API remains in strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control. Population Density Data API ensures the usage of anonymized information and do not treat personal data neither as input nor output. Therefore, the access to Population Density Data API is defined as Client Credentials - 2-legged. Please refer to Identify and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the latest detailed specification of this authentication/authorization flow.

Further info and support

(FAQs will be added in a later version of the documentation)

Product documentation at Camara.
Servers
Computed URL:https://api.orange.com/camara/orange-lab/population-density-data/v0.1

Server variables

apiRoot
basePath

Population Density Data

Operations to retrieve population density information.

HTTP status code Reason Response model
400 List of supported error codes:
- 20: Invalid URL parameter value
- 21: Missing body
- 22: Invalid body
- 23: Missing body field
- 24: Invalid body field
- 25: Missing header
- 26: Invalid header value
- 27: Missing query-string parameter
- 28: Invalid query-string parameter value
{
  "code": 28,
  "message": "Invalid query-string parameter value",
  "description": "One or more query-string parameters contain invalid values."
}
401 List of supported error codes:
- 40: Missing credentials
- 41: Invalid credentials
- 42: Expired credentials
{
  "code": 42,
  "message": "Expired credentials",
  "description": "The requested service needs credentials, and the ones provided were out-of-date."
}
403 List of supported error codes:
- 50: Access denied
- 51: Forbidden requester
- 52: Forbidden user
- 53: Too many requests
{
  "code": 53,
  "message": "Too many requests",
  "description": "The application has made too many calls and has exceeded the rate limit for this service."
}
404 List of supported error codes:
- 60: Resource not found
{
  "code": 60,
  "message": "Resource not found",
  "description": "The requested URI or the requested resource does not exist."
}
405 List of supported error codes:
- 61: Method not allowed
{
  "code": 61,
  "message": "Method not allowed",
  "description": "The URI does not support the requested method. The available methods should be set in the response header 'Allow'"
}
406 List of supported error codes:
- 62: Not acceptable
{
  "code": 62,
  "message": "Not acceptable",
  "description": "The Accept incoming header does not match any available content-type."
}
408 List of supported error codes:
- 63: Request time-out
{
  "code": 63,
  "message": "Request time-out",
  "description": "The server timed out waiting for the incoming request."
}
409 List of supported error codes:
- 69: Conflict
{
  "code": 69,
  "message": "Conflict",
  "description": "The request could not be completed due to a conflict with the current state of the resource."
}
411 List of supported error codes:
- 64: Length required
{
  "code": 64,
  "message": "Length required",
  "description": "The request did not specify a Content-Length header, which is required by the requested resource."
}
412 List of supported error codes:
- 65: Precondition failed
{
  "code": 65,
  "message": "Precondition failed",
  "description": "One of the precondition request headers (aka. 'If-None-Match', 'If-Match', 'If-Modified-Since', and 'If-Unmodified-Since') failed to match."
}
413 List of supported error codes:
- 66: Request entity too large
{
  "code": 66,
  "message": "Request entity too large",
  "description": "The body of the request/response (PATCH, POST and PUT methods) is larger than the server is willing or able to process."
}
414 List of supported error codes:
- 67: Request-URI too long
{
  "code": 67,
  "message": "Request-URI too long",
  "description": "The URI provided was too long for the server to process."
}
415 List of supported error codes:
- 68: Unsupported Media Type
{
  "code": 68,
  "message": "Unsupported Media Type",
  "description": "The format of the posted body is not supported by the endpoint."
}
429 List of supported error codes:
- 53: Too many requests
{
  "code": 53,
  "message": "Too many requests",
  "description": "The application has made too many calls and has exceeded the rate limit for this service."
}
500 List of supported error codes:
- 1: Internal error
{
  "code": 1,
  "message": "Internal error",
  "description": "Generic failure message, used if no more precise code can be provided."
}
502 List of supported error codes:
- 1: Internal error
- 3: Bad gateway
{
  "code": 1,
  "message": "Bad gateway",
  "description": "A runtime execution error occurs (RaiseFault)."
}
503 List of supported error codes:
- 5: The service is temporarily unavailable
- 6: Orange API is over capacity, retry later !
{
  "code": 6,
  "message": "Orange API is over capacity, retry later !",
  "description": "The service faces too much requests and can not handle the call."
}
504 List of supported error codes:
- 6: Gateway timeout
{
  "code": 6,
  "message": "Gateway timeout",
  "description": "No response was received in time from a backend server acting as gateway or proxy."
}