Results 1 to 8 of 8

Thread: Why it's so fun to write geography software

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Administrator waldronate's Avatar
    Join Date
    Mar 2007
    Location
    The High Desert
    Posts
    3,561

    Default

    All of those coordinate systems are just a single matrix multiply apart, so it's not that big a deal in practice.

    In my experience, the problems usually arise when someone doesn't label a file format and the person (or program) doing the interpreting is using a different set of traditions than the one that wrote the file. For example, people on the ground shooting up are likely to use a Z coordinate of +Z being up while people dropping bombs are likely to use a +Z meaning down (if they're both using local tangent planes, they will do silly things like ENU vs NED just to screw with things but based on solid mathematics).

    Classic computer graphics hardware uses 0,0 at the upper left with +X right and +Y down because that's how the hardware accesses memory when the raster scane goes left-to-right, top-to-bottom. OpenGL defines 0,0 at the lower left with +X right and +Y up because it was devised for mathematical convenience and there is already matrix multiply hardware in the pipeline that will absorb the transformation. OpenGL also defines +Z as coming out of the screen, while DirectX defines X and Y the same as OpenGL, but with +Z going into the screen. Describing "Computer Science" as having a native coordinate system hasn't been anything resembling true for many, many years (and even then it was just a local cultural convention).

    So always label your coordiante system in your data file if it's unstructured and in the file definition if possible. And have people read that description, of course...

  2. #2
    Software Dev/Rep Hai-Etlik's Avatar
    Join Date
    May 2009
    Location
    48° 28′ N 123° 8′ W
    Posts
    1,333
    Blog Entries
    1

    Default

    Even if it's labled, diferent software interperets the labels diferently. GeoServer for instance when dealing with the WMS protocol, interperets 'EPSG:4326' diferently depending on which version of WMS you are using. 1.0 goes one way, 1.1 or 1.3 the other. At one time it may be serving a 1.3 WMS by merging layers from remote 1.0 and 1.1 WMSes, and has to keep track of which way to flip things for each data set, even though they may be labeled the same.

    The original WMS spec didn't specify an order. Lots of programmers assumed lon/lat, but the geographers at the standards body wanted lat/lon, and 'clarified' it by declaring that the correct order years later.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •