Search notes:

geodata

TODO

KOGIS (= Koordination, Geo-Information und Services) is, along with eCH, the custodian of INTERLIS language/specification. KOGIS coordinates some activities in the Swiss Bundesverwaltung related to Geoinformation (GI) and GIS
GML is an XML grammar that allows to express geographical features. It is defined by the Open Geospatial Consortium (OGC).
Spaten is a geo data format that purports to resolve issues that arise from using legacy serialization methods and simplify workflows.
The ESRI shape file format is the de facto standard for vector geodata.

WGS84

WGS84 is the latest revision of the WGS (World Geodetic System) standard.
WGS includes
  • Definitions of fundamental and derived constants of coordinate systems.
  • The Earth Gravity Model (EGM)
  • A description of the associated World Magnetic Model (WMM)
  • A current list of local datum transformations
Definition
  • The origin of the coordinate system is the Earth's center of mass (whose uncertainity is believed to be less than 2cm !)
  • The WGS84 meridian of zero longitude is the IERS Reference Meridian, 102 meters or 5.3 arc seconds east of the Greenwich meridian.
  • The WGS 84 datum surface is an oblate spheroid with equatorial radius a = 6'378'137 m at the equator and flattening f = 1/298.257'223'563.
Apparently, it is planned to move to IGS20 on 27 November 2022 (not sure if this move has taken place).

INTERLIS

INTERLIS is a software independent description language used for modelling and exchanging geodata.
FMT

Equal-area projections

The most common global equal-area projections available in GIS include:
  • Sinusoidial
  • Eckert
  • Homolosine
  • Mollweide
  • Hammer

Discrete Global Grid Systems (DGGS)

A Discrete Global Grid System (DGGS) is a type of spatial reference system that tessellates the globe into many individual, evenly spaced, and well-aligned cells.
Such cells are used to encode location and, thus, can serve as a basis for data cube construction
Open source DGGS implementations include:
  • Google S2
  • Uber H3: a Hexagonal hierarchical geospatial indexing system.
  • RiskAware OpenEAGGR
  • rHEALPix by Landcare Research New Zealand (the original intention was to achieve equal-area cells throughout all resolutions)
  • DGGRID by Southern Oregon University

S2

In S2, a cell is a four sided polygon (quadrilateral) bounded by four geodesics.
The S2 hierarchy starts with 6 root cells.
The root cells are obtained by projecting a cube onto a sphere.

HEALPix projection

HEALPix is a projection that is based on subdivisions of a distorted rhombic dodecahedron (a convex polyhedron with 12 congruent rhombic faces).
When subdividing a level, each tile is divided into four tiles so that at any level of subdivisions, all tiles have the same size (equal-area pixelisation).
HEALPix as an acronym or Hierarchical Equal Area isoLatitude Pixelisation (of a 2-sphere).
Sometimes, it is also written as Healpix.
Using the RING ordering scheme, HEALpix can be used to efficiently compute the Fourier decomposition in spherical harmonics of a discretized signal on the sphere (spherical harmonic transforms). Because of this property, HEALPix is widely used to map the cosmic microwave background.
Using the NESTED ordering scheme allows to efficiently find neighbouring pixels.
Alternatives for HEALPix include

Source code stuff

Some interesting stuff I found in the source code…
The enum Healpix_Ordering_Scheme (src/cxx/Healpix_cxx/healpix_tables.h) corresponds to the two orderings schemes of a HEALPix map: RING and NEST.
class pointing (src/cxx/cxxsuport/pointing.h) represents a direction in 3d space or a location on the unit sphere.
Two possibly important public members of this class are
  • theta (The radian (colatitude) running from «north pole» to «south pole», 0 … π)
  • phi (the longitude, 0 … 2*π)
template<typename I> class T_Healpix_Base derives from Healpix_Tables, but it's unclear what these classes are needed for.
T_Healpix_Base<I>::order_max specifies the maximum order.
The value of T_Healpix_Base<int>::order_max is 13 and 29 for T_Healpix_Base<int64>.
src/cxx/cxxsuport/datatypes.h defines various platform-independent data types, among which are:
  • tsize, an unsigned integer type which should be used for array sizes (typedef std::size_t tsize)
  • tdiff, used for relative array indices
Interesting functions seem to be:
query_disc Finds the indices of all pixels within an angular distance radius from a defined center
query_polygon Finds the indices of all pixels within a polygon with at most one koncave vertex.
src/cxx/Healpix_cxx/hpxtest.cc can be used to get a first impression on how HEAPix functions can be used.
Among others, the following identities are tested:
  • ring2nest(nest2ring(m))==m
  • peano2nest(nest2peano(m))==m
  • zphi2pix(pix2zphi(m))==m
  • ang2pix(pix2ang(m))==m
  • pix2zphi(zphi2pix(ptg)) approx zphi

See also

See also

See also

data
GIS
OpenStreetMap
KML
The Python library Cartopy

Index