<prefix>:<type>:<additional_info>
This article only applies to movement data
This article is only relevant when working with movement data, not when working with time series data. You can read more about the differences between the two in this article. |
One of the ways of defining the structure of your .geojson
files is by uploading a GeoJSON data properties file.
This file is a .csv
file where each row specifies what kind of data a property in your .geojson
file represents.
Row 1 specifies the details of the first property
Row 2 the details of the second property,
…
The data properties file is a .csv
file where each row specifies what kind of data a property in your .geojson
file represents.
Each of the rows specifies the following settings about a property:
GeoJSON property name (string): the name of the property in the GeoJSON file.
UI property name (string): The name that should be shown in the UI to represent this property. This should be a human-readable string.
For example, if the property is called country_name
or sensor_id
in the GeoJSON file, you might prefer to show it to the user without those underscores.
In that case, you specify the UI property name to be Country name
or Sensor id
.
Type (string with special syntax): the type of the data property. This is used to indicate which column contains the id and to specify whether a property is a numeric property, a category (enum), or text. See the next section for the syntax.
Description (string): a human-understandable description of what the property represents. This is for example used in tooltips in the UI.
Accuracy value (number): the analytics engine rounds numeric properties down to the nearest multiple of the accuracy value.
For example if you have a data set containing the population count of each country over time and your GeoJSON file defines the countries, one of the properties in the GeoJSON file could be the land area measured in square kilometers. Using a value of 10000 will tell the analytics engine to round down the area property to the nearest multiple of 10000 square kilometers: 0, 10000, 20000, 30000,… This setting is only used for numeric properties.
No data value (number, string or empty): some data sets use a special value to indicate that the actual value for a property is unknown or not set.
The following is an example of a GeoJSON data properties file.
For readability, it is displayed as a table and not as a .csv
file (but you can download the .csv
version here):
name |
Name |
id:string |
The name of the country |
0 |
|
postal |
Postal |
string |
The postal code |
0 |
|
pop_est |
Population |
long |
The population of the country |
1000 |
|
continent |
Continent |
enum |
The continent |
0 |
|
region_un |
Region |
enum |
The region |
0 |
|
subregion |
Subregion |
string |
The subregion |
0 |
In the above example, the line
pop_est |
Population |
long |
The population of the country |
1000 |
indicates that the corresponding property
Is named pop_est
in the GeoJSON file
But must be displayed as Population in the UI
Contains numbers that are stored as longs
The description to use for that column is "The population of the country"
The accuracy value for this numeric property is 1000
There is no special value that indicates that there is no data for this property
The type property definition consists out of 3 parts:
<prefix>:<type>:<additional_info>
The prefix:
id:
use this prefix for the column representing the identifier of the record.
There can be only one property defined as the id.
displayname:
use this prefix for the column that contains a human-readable name of the area or measurement device.
The value of this property will be shown in the UI.
For example, if you have a GeoJSON file defining sensors where each feature or sensor has properties like:
{
"properties": {
"sensor_id": "DGWBETLJGDIUTEDSG",
"sensor_name": "Kitchen sensor"
}
}
While the sensor_id
property is used as id
(and also used in your measurement .csv
files to indicate which sensor took the measurement), you don’t want that "DGWBETLJGDIUTEDSG"
to show in the UI when referring to that sensor.
Instead, you’ll want to use the value of the sensor_name
property, which is done by marking it as the displayname:
.
There can be at most one property defined as the display name. When none of the properties are marked as such, the id column will be used as display name.
None of the other properties take a prefix
The type is one of the following: string
, float
, double
, short
, int
, long
or enum
.
string
: indicates that this column contains text.
float
: indicates that this column contains a single precision (32 bit) floating point number.
double
: indicates that this column contains a double precision (64 bit) floating point number.
short:
: indicates that this column contains a half precision (16 bit) integer number in the range [-32768, 32767].
int
: indicates that this column contains a single precision (32 bit) integer number in the range [-2147483648, 2147483647].
long
: indicates that this column contains a single precision (64 bit) integer number.
enum
: indicates that this column contains a values that are categories or enumerations.
For example different brands of a car, or types of a vessel.
You can use the following flowchart to assist you in selecting the correct type: