Giter Club home page Giter Club logo

ioos-sos-issues-generic's Introduction

ioos-sos-issues-generic

A parking place for the general issues that are common for i52N and ncSOS

ioos-sos-issues-generic's People

Contributors

abirger avatar

Watchers

Kelly Knee avatar Dave Foster avatar Emilio Mayorga avatar James Cloos avatar Filipe avatar Shane St Savage avatar Lance Finfrock avatar  avatar  avatar Benjamin Adams avatar DanRamage avatar  avatar  avatar

ioos-sos-issues-generic's Issues

Component system description in the network DescribeSensor templates

The IOOS SOS v1.0 SML DescribeSensor-Network Template requires that sml:location is used to indicate the coordinates of each network member:

              <!-- ===================================================== -->
              <!-- LOCATION                                                        -->
              <!-- Station geographic location (lat & lon only, no z)              -->
              <!-- Always use epsg 4326.                                           -->
              <!-- For moving platforms use <gml:LineString>                       -->
              <!-- ===================================================== -->
              <sml:location>
                <gml:Point srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
                  <gml:pos>34.7 -72.73</gml:pos>
                </gml:Point>
              </sml:location>

It works perfectly well for i52N describing a network of discrete stations as there position can be described by a simple coordinate tuple; however, for ncSOS, which usually deals with gridded data, the point-type coordinates do not make sense. The best way to describe the network location in that case would be a bounding box but <sml:location> does not allow the use of it.

As usual, the problem can be solved in several ways:

  1. Ignore it, and use <gml:boundedBy> instead <gml:Point> anyway. That is how ncSOS currently deals with that. It contradicts the IOOS SOS Template and there will be a schema validation error but we can always turn a blind eye on both issues.

  2. Do not indicate any location values at all leaving instead an empty <sml:location/> element. It does not violate the Template, and would not trigger any schema validation error; however, it makes the ncSOS output somewhat inconsistent. It is kind of a stretcher but not a far-fetched one, and it is a very simple solution that does not generally change the template.

  3. Use <gml:LineString> instead of <gml:Point>. It is allowed by both the schema and IOOS template, and it can indicate multiple coordinate tuples to describe a bounding box:

    <sml:location>
       <gml:LineString>
            <gml:name>bounding_box</gml:name>
            <gml:posList srsName="http://www.opengis.net/def/crs/EPSG/0/4326">
                     17.0 -68.0 19.5 -64.0
             </gml:posList>
       </gml:LineString>
    </sml:location>
    

    It looks kind of strange but formally it complies with all the requirements. It is also a relatively simple solution that does not break the template, although it is a stretch to use LineString that way.

  4. The most radical solution would be to get rid of <sml:System> in the description of components, and use <sml:Component> instead as <sml:Component> allows bounding box as well as point-type coordinates:

              <sml:components>
                  <sml:ComponentList>
                      <sml:component name="Grid0">
                          <sml:Component>
                              <gml:boundedBy>
                                  <gml:Envelope>
                                      <gml:lowerCorner></gml:lowerCorner>
                                      <gml:upperCorner></gml:upperCorner>
                                  </gml:Envelope>
                              </gml:boundedBy>
    

    That seems to be the most rigorous solution but it significantly changes the Templates, and therefore requires a thorough discussion.

height encoding in TimeSeries DSG

This is just a reference/link to the ongoing discussion/issue on the i52n-sos repo, which has involved comparisons to the ncSOS implementations as well as pyoos client implementation. There's still some pyoos fixes and testing I intend to do later this month, plus a release with the i52N SOS fixes hasn't been done yet.

@abirger, if you don't think this belongs here, just go ahead and close it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.