Polygon Calculation
Maps Math & Calculations Credits / request: 1Calculates area, center and bounding box from a list of points.
POST
https://api.apikodu.com/api/v1/maps/polygon
Documentation
Overview
Computes polygon area, center and bounding box.
Authentication
Every request requires the x-api-key header. Credits used and remaining quota are returned in response headers (x-api-credits-used, x-api-remaining-credits, x-rate-limit-*).
Request
POST
https://api.apikodu.com/api/v1/maps/polygon
JSON body: path point array.
Parameters
| Name | Type | Required | Default | Options | Description |
|---|---|---|---|---|---|
path |
json | * Required | — | — | At least 3 points: [{latitude, longitude}, ...]. |
Response
| Name | Type | Description |
|---|---|---|
areaSquareMeters |
number | Polygon area in square meters (spherical). |
areaSquareKilometers |
number | Polygon area in km². areaSquareMeters / 1e6. |
center |
object | Geographic center of the polygon. |
center.latitude |
number | Center latitude. |
center.longitude |
number | Center longitude. |
boundingBox |
object | Four corners of the bounding rectangle. |
boundingBox.southwest |
object | Southwest corner {latitude, longitude}. |
boundingBox.southeast |
object | Southeast corner {latitude, longitude}. |
boundingBox.northeast |
object | Northeast corner {latitude, longitude}. |
boundingBox.northwest |
object | Northwest corner {latitude, longitude}. |
Errors
| HTTP | code | Description |
|---|---|---|
400 |
-234 |
path is missing or empty. |
400 |
-235 |
path must contain 3–500 points. |
400 |
-236 |
A path point has an invalid latitude/longitude. |
401 |
-100 |
x-api-key is missing, empty, malformed, inactive, banned, expired, IP-restricted, or not allowed for this API. |
429 |
-221 |
Per-minute request limit exceeded. Response headers: x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset. |
429 |
— | Package credit quota cannot cover this request. Body may be { error, limit, currentUsage, requestCost } (no code field). |
500 |
-1 |
Unexpected server error. message is a generic error text without technical details. |
Notes
- Success body is { data: { ... } }. Error body is { code, message }. code is an ApiResponseCode enum value (negative integer).
Sample response
{
"data": {
"areaSquareMeters": 18452.31,
"areaSquareKilometers": 0.01845231,
"center": {
"latitude": 41.0115,
"longitude": 28.978
},
"boundingBox": {
"southwest": {
"latitude": 41.008,
"longitude": 28.97
},
"southeast": {
"latitude": 41.008,
"longitude": 28.986
},
"northeast": {
"latitude": 41.015,
"longitude": 28.986
},
"northwest": {
"latitude": 41.015,
"longitude": 28.97
}
}
}
}
Code samples
const response = await fetch('https://api.apikodu.com/api/v1/maps/polygon', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
name: 'example',
value: 123
})
});
const data = await response.json();
console.log(data);
import requests
headers = {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
}
payload = {
'name': 'example',
'value': 123
}
response = requests.post('https://api.apikodu.com/api/v1/maps/polygon', headers=headers, json=payload)
data = response.json()
print(data)
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var payload = new { name = "example", value = 123 };
var json = JsonSerializer.Serialize(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.apikodu.com/api/v1/maps/polygon", content);
response.EnsureSuccessStatusCode();
var data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
$data = [
'name' => 'example',
'value' => 123
];
$response = file_get_contents('https://api.apikodu.com/api/v1/maps/polygon', false, stream_context_create([
'http' => [
'header' => "x-api-key: YOUR_API_KEY"
],
'method' => 'POST',"
'content' => json_encode($data)
]));
print_r(json_decode($response, true));
curl -X POST 'https://api.apikodu.com/api/v1/maps/polygon' \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"name": "example",
"value": 123
}'
Start building in minutes
Create a free account, get your API key and send your first request in minutes.