Before deciding what our support for GIS features should look like in GT,
we should get a sense of how the term feature
is already used to avoid
confusion. Unfortunately, there's no single source of truth for a question
like this; we'll have to settle for sampling from the important pieces of
discourse and evaluate in terms of them.
from https://tools.ietf.org/html/rfc7946#section-3.2
A Feature object represents a spatially bounded thing. Every Feature object is a GeoJSON object no matter where it occurs in a GeoJSON text.
o A Feature object has a "type" member with the value "Feature".
o A Feature object has a member with the name "geometry". The value of the geometry member SHALL be either a Geometry object as defined above or, in the case that the Feature is unlocated, a JSON null value.
o A Feature object has a member with the name "properties". The value of the properties member is an object (any JSON object or a JSON null value).
o If a Feature has a commonly used identifier, that identifier SHOULD be included as a member of the Feature object with the name "id", and the value of this member is either a JSON string or number.
from https://gis.stackexchange.com/questions/137946/difference-between-feature-and-geometry
A "Feature" is a single entity in GIS that has both geometry and attribute data. The attribute data can be just a single ID number or it can encompass all kinds of other data about the feature. For example, a polygonal feature representing a parcel of land could have attribute data naming the property owner, the parcel's mailing address, and so on. A feature can also consist of more than one geometry (these are called multi-part features): in the land parcel example, a parcel of land that is bisected by a railroad track right-of-way would be represented on-screen by two separate geometries (one on either side of the RR track), but would be one feature in GIS. You could also split that one feature into two features, both with identical attribute data, but different geometries. You can also have features with no geometry, which wouldn't show up on a map but would appear in the layer's attribute table.
http://desktop.arcgis.com/en/arcmap/10.3/manage-data/geodatabases/feature-class-basics.htm Mostly comports with what geojson has to say but also includes an annotation type (which geojson can't really handle without being subsetted)
-
We ought to cut at the meridian during serialization https://tools.ietf.org/html/rfc7946#section-3.1.9 Apparently, cutting geometries at the meridian is suggested by the geojson spec.
-
Deserialization can make no assumptions about precision on the basis of number of decimal places https://tools.ietf.org/html/rfc7946#section-3.1.10
-
Our bbox serialization is all wrong; invites ambiguity https://tools.ietf.org/html/rfc7946#section-5.2
The latitude of the northeast corner is always greater than the latitude of the southwest corner, but bounding boxes that cross the antimeridian have a northeast corner longitude that is less than the longitude of the southwest corner.