export const Latitude = pipe(S.Number, S.between(-180, 180), S.brand('Latitude'))
export type Latitude = typeof Latitude.Type
export const Longitude = pipe(S.Number, S.between(-90, 90),S.brand('Longitude'))
export type Longitude = typeof Latitude.Type
// in meters, from sea level
export const Altitude = pipe(S.Number,S.brand('Altitude'))
export type Altitude = typeof Altitude.Type
export const Position2d = S.Tuple(Longitude, Latitude).pipe(S.brand('2d-Position'))
export type Position2d = typeof Position2d.Type
export const Position3d = S.Tuple(Longitude, Latitude, Altitude).pipe(S.brand('3d-Position'))
export type Position3d = typeof Position3d.Type
export const Position = S.Union(Position2d, Position3d)
export type Position = typeof Position.Type
//.... other geojson types ...
export const Latitude = pipe(S.Number, S.between(-180, 180), S.brand('Latitude'))
export type Latitude = typeof Latitude.Type
export const Longitude = pipe(S.Number, S.between(-90, 90),S.brand('Longitude'))
export type Longitude = typeof Latitude.Type
// in meters, from sea level
export const Altitude = pipe(S.Number,S.brand('Altitude'))
export type Altitude = typeof Altitude.Type
export const Position2d = S.Tuple(Longitude, Latitude).pipe(S.brand('2d-Position'))
export type Position2d = typeof Position2d.Type
export const Position3d = S.Tuple(Longitude, Latitude, Altitude).pipe(S.brand('3d-Position'))
export type Position3d = typeof Position3d.Type
export const Position = S.Union(Position2d, Position3d)
export type Position = typeof Position.Type
//.... other geojson types ...