Feature Class
A dataset in GIS service is a Feature Class, which consists of many Features. Each feature has a Geometry and a set of properties (also called attributes). All Features within the same Feature Class have the same set of properties and the geometries are in the same coordinate system.i
Typical geometry types are points, lines, and polygons, as illustrated in the image below.
GeoJson and deviations from it¶
We use GeoJson to represent geometries in JSON. GeoJson is a specification which describes also "Features", "FeatureCollections", however our GIS service has several notable deviations:
- Feature Class is serialized as an object of
{"type": "FeatureCollection"}
i but our feature classes include also an array of attribute definitions in theattributes
property. - Our feature classes can contain only features of the same geometry type and the same set of attributes (feature properties).
- In GeoJson, coordinate systems are often serialized as
{ "crs": {"properties": {"name": "EPSG:4326" } } }
but this definition is not mandatory and varies across different systems. We added a simple{ "srid": <int> }
property on feature class which is the ID of the coordinate system used.
Note on Feature serialization¶
In our Swagger documentation, we represent Feature as a plain json object ({}
). The internal structure of our json Feature
object matches GeoJson:
{
"type": "Feature",
"id": <int>,
"geometry": <GeoJsonGeometry>,
"properties": {
"<string>": <object>,
}
}
Feature Attribute data types¶
Features can have attributes of the following data types
Text
: textDate
: date and timeInt32
: 32 bit integer numberInt64
: 64 bit integer numberSingle
: 32 bit floating point numberDouble
: 64 bit floating point number