Datasets

  • GET /apps/{app}/datasets/{uuid}/services.json Get dataset description

    Retrieve the dataset service description. This contains information regarding the type of dataset, the services available, and the download options.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    uuid Dataset identifier uuid
    Query Parameters

    None

    Examples

    View the service description for the 2013 Tres Lagunas Post Fire, 10 dataset:

    /apps/rgis/datasets/43db7a5d-67ec-4635-aef6-97131bf390cb/services.json

    Response

    Schema
    id (integer): identifier
    uuid (string): identifier
    name (string): base name
    description (string): title
    availability (boolean): if False, the underlying data is unavailable for download, streaming access or OGC service access.
    lastupdate (date): (yyyyMMdd) date published
    type (string): object type
    taxonomy (string): dataset type (geoimage or vector or file or table)

    "geoimage" refers to a raster dataset.

    categories (array[dict]):
    theme (string): theme (root)
    subtheme (string): subtheme (level 1)
    groupname (string): groupname (level 2)
    downloads (array[dict]):
    {format} (string): URL for the zipped download for the format

    The keys referenced by {format} are the list of supported data formats for this dataset.

    services (array[dict]):
    {service} (string): URL for the OGC service GetCapabilities request

    The keys referenced by {service} are the list of supported OGC services for this dataset (wms, wcs, or wfs).

    metadata (array[dict]):
    {standard} (dict):
    {format} (string): URL for the documentation for the standard and format specified

    The keys referenced by {format} are the list of supported documentation formats for the standard.

    The keys referenced by {standard} are the list of supported documentation standards for this dataset.

    metadata-modified (dict):
    {standard} (date): (yyyy-MM-ddTHH:MM:SSZ) date, in UTC, the source documentation was modified

    The keys referenced by {standard} are the list of supported documentation standards for this dataset. In most cases, this key will be "all" to indicate that the modifications made to the source documentation are reflected in all documentation representations.

    spatial (dict):
    epsg (integer): EPSG code of the original data source
    bbox (array[double]): bounding box in WGS84 as minx, miny, maxx, maxy

    Unless otherwise noted, vector datasets generated by the GSToRE platform are in WGS84 (EPSG:4326). The EPSG code referenced here refers only to the source data (the ZIP format).

    prov (dict):
    ontology (dict):
    traces (dict):
    format (string): URL to provenance trace
    preview (string): URL to the GSToRE-hosted preview request.

    This service will be deprecated shortly.

    Response for a raster dataset:

        {
            "downloads": [{"tif": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/treslagunasfire2013_1.original.tif"}],
            "lastupdate": "20140325",
            "uuid": "233adca8-5131-4ca1-aac1-669f6be4c530",
            "taxonomy": "geoimage",
            "description": "2013 Tres Lagunas Post Fire, 1",
            "metadata": [
                {"FGDC-STD-012-2002": {
                    "xml": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/metadata/FGDC-STD-012-2002.xml",
                    "html": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/metadata/FGDC-STD-012-2002.html"
                }},
                {"ISO-19115:2003": {
                    "xml": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/metadata/ISO-19115:2003.xml",
                    "html": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/metadata/ISO-19115:2003.html"
                }},
                {
                    "ISO-19119:WMS": {"xml": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/metadata/ISO-19119:WMS.xml"},
                    "ISO-19119:WCS": {"xml": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/metadata/ISO-19119:WCS.xml"}
                }
            ],
            "metadata-modified": {"all": "2014-03-26T03:56:16Z"},
            "spatial": {
                "epsg": 26913,
                "bbox": [
                    -105.719133333,
                    35.7587972222,
                    -105.697138889,
                    35.7738111111
                ]
            },
            "services": [
                {"wms": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/services/ogc/wms?SERVICE=wms&REQUEST=GetCapabilities&VERSION=1.1.1"},
                {"wcs": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/services/ogc/wcs?SERVICE=wcs&REQUEST=GetCapabilities&VERSION=1.1.2"}
            ],
            "preview": "http://gstore.unm.edu/apps/epscor/datasets/233adca8-5131-4ca1-aac1-669f6be4c530/mapper",
            "type": "dataset",
            "id": 367375,
            "categories": [{
                "subtheme": "2013 Wildfire Data",
                "theme": "Digital Orthophotography",
                "groupname": "Tres Lagunas - Post Fire"
            }],
            "name": "treslagunasfire2013_1"
        }
                                        
  • GET /apps/{app}/datasets/{uuid}/dataset.{ext} Streaming dataset request

    This request is only available for vector and table datasets and is limited to text-based outputs, for example CSV or KML.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    uuid Dataset identifier uuid
    ext Data format string CSV, JSON, GeoJSON, KML, GML
    Query Parameters

    Coming soon.

    Examples

    Stream the RGIS dataset SCAN Alcalde, NM (Mar, 2014) as a KML file:

    /apps/rgis/datasets/b6b22969-dfa9-41e5-a836-c483b099c8f7/dataset.kml

    Response

    The structure of the response depends on the format requested, the filters of the request and the structure of the dataset.

  • GET /apps/{app}/datasets/{uuid}/{basename}.{set}.{ext} Download dataset

    Some datasets are hosted on external sites or, if the format is "html", are external sites. In those instances, the request redirects you to the external location. The options available through the query parameters are not available for those datasets, nor are any GSToRE-generated documentation files included with the response.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    uuid Dataset identifier uuid
    basename Dataset name string
    set string original or derived
    ext Data format string any supported format for the dataset
    Query Parameters
    Parameter Description Type Options Required
    ignore-cache Generate a new download boolean F (defaults to False)
    standard Specify a specific documentation standard to be included in the zip file. string F (defaults to the preferred metadata standard of the application specified)
    Examples

    Download the zip file for the GeoTIFF for AZ Barth Well, US Topo 2011 dataset:

    /apps/rgis/datasets/bb5350f9-64ba-4198-8274-eb11f3813955/AZ_Barth_Well_20111125_TM_geo.original.tif

    Download the zip file for the GSToRE-generated KML for NM Gross Receipts January - June 2011 dataset:

    /apps/rgis/datasets/0acbf4fd-d2ab-4216-9c48-803418166003/nmgrossreceipts_jan_jun2011.derived.kml

    Response

    The structure of the response depends on the format requested, the filters of the request and the structure of the dataset.

  • GET /apps/{app}/datasets/{uuid}/metadata/{standard}.{ext} Download dataset documentation

    Download the documentation for the specified dataset.

    GSTORE includes support for FGDC-STD-001-1998 (file or vector) or FGDC-STD-012-2002 (raster), ISO-19115:2003, ISO-19119, and ISO-19110 standards. ISO-19119 is only available for those datasets with web services; ISO-19110 only for vector or tabular datasets. Check the dataset service description for the complete listing of metadata options for a dataset.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    uuid Dataset identifier uuid
    standard Documentation standard string any supported documentation standard
    ext Documentation format string xml or html (not all formats available for all standards)
    Query Parameters

    None

    Examples

    Download the zip file for the GeoTIFF for AZ Barth Well, US Topo 2011 dataset:

    /apps/rgis/datasets/bb5350f9-64ba-4198-8274-eb11f3813955/AZ_Barth_Well_20111125_TM_geo.original.tif

    Download the zip file for the GSToRE-generated KML for NM Gross Receipts January - June 2011 dataset:

    /apps/rgis/datasets/0acbf4fd-d2ab-4216-9c48-803418166003/nmgrossreceipts_jan_jun2011.derived.kml

    Response

    The structure of the response varies by standard and format.

  • GET /apps/{app}/datasets/{uuid}/mapper Get dataset previewer

    Basic data preview HTML.

    Note: this functionality will be deprecated soon. Please take advantage of the OGC Services and other streaming data services in any future development.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    uuid Dataset identifier uuid
    Query Parameters

    None

    Examples

    View the HTML response for the 2013 Jaroso Post Fire Imagery, 32 raster dataset:

    /apps/rgis/datasets/43db7a5d-67ec-4635-aef6-97131bf390cb/mapper

    Response

    The request returns an HTML page containing a basic map preview and dataset information.

  • GET /apps/{app}/datasets/{uuid}/attributes.{ext} Get dataset attributes

    Get the attribute definitions for a vector or tabular dataset.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    uuid Dataset identifier uuid
    ext format string json, kml
    Query Parameters

    None

    Examples

    View the JSON response for the SNOTEL Chamita, NM (Mar, 2014) vector dataset:

    /apps/rgis/datasets/2730123d-070c-45ee-8d8d-b5e4df135faf/attributes.json

    Response

    JSON Schema
    total (integer): number of attributes
    results (array(dict)):
    datatype (string): attribute type
    description (string): description of the attribute, if provided
    original_name (string): name of the attribute from the original source file (may be modified depending on the limitations of supported file types; see "name")
    uuid (uuid): attribute identifier
    name (string): attribute name (shapefile-safe)
    {
        "total": 19,
        "results": [
            {
                "datatype": "int",
                "description": "NRCS Internal Site Number",
                "original_name": "Site Id",
                "uuid": "aeb97c0a-3c43-4abb-8837-c8f7e1a6f3a8",
                "name": "site_id"
            },
            {
                "datatype": "string",
                "description": "Date",
                "original_name": "Date",
                "uuid": "c9746566-2942-4357-9b34-a1891eb7eff3",
                "name": "date"
            },
            {
                "datatype": "double",
                "description": "Snow Water Equivalent",
                "original_name": "WTEQ.I-1 (in)",
                "uuid": "e5a53571-b025-4781-b42e-68a391ac6d4e",
                "name": "wteqi_1"
            }
        ]
    }
                                    
    KML Schema

    Refer to the KML Documentation for more information.

    <Schema name="2730123d-070c-45ee-8d8d-b5e4df135faf" id="2730123d-070c-45ee-8d8d-b5e4df135faf">
        <SimpleField type="int" name="site_id">
            <displayName>site_id</displayName>
        </SimpleField>
        <SimpleField type="string" name="date">
            <displayName>date</displayName>
        </SimpleField>
        <SimpleField type="string" name="time">
            <displayName>time</displayName>
        </SimpleField>
        <SimpleField type="double" name="wteqi_1">
            <displayName>wteqi_1</displayName>
        </SimpleField>
    </Schema>
                                    
  • POST /apps/{app}/data Upload data to the server

    Allows uploading of model data to the Virual Watershed filesystem.

    Request Parameters

    Route Parameters

    None.

    Query Parameters

    name: Name of model

    modelid: Model Run UUID

    Examples:
    payload = {"name": "isnobal","modelid": "1dacc407-6488-42c1-a4de-0b6de97b46c1"}
    r = requests.post(129.24.196.25/apps/my_app/data, files=in.0000, data=payload, auth=(u, p))

    Response

    Coming soon.

  • GET /apps/{app}/swiftdata Upload data to the server using swift

    Allows uploading of model data to the Virual Watershed filesystem using swift client intermediary.

    Request Parameters

    Route Parameters

    None.

    Query Parameters

    filename: Name of file

    modelid: Model Run UUID (name of container in swift)

    preauthurl: Url (provided by gettoken for swift request

    preauthtoken: Token (provided by gettoken for swift request

    Examples:

    Use case for creating a new model run in VWP, obtaining a swift token and uploading data to that model run using Python

    import requests
    import os
    import subprocess
    import json
    import uuid
    url = 'https://vwp-dev.unm.edu/'
    newmodelurl = url + 'apps/vwp/newmodelrun'
    apiloginurl = url + 'apilogin'
    gettokenurl = url + 'gettoken'
    swiftuploadurl = url + 'apps/vwp/swiftdata'
    s = requests.Session()
    user = 'yourusername'
    password = 'yourpassword'
    login = s.get(apiloginurl, auth=(user,password), verify=False)
    if login.status_code == 200:
        # Create Model
        newuuid=str(uuid.uuid1())
        modeldata = json.dumps({"description": "Swift Upload Example","model_run_name":"$model_run_name" ,"model_keywords":"your keywords here"})
        newmodelname = "swift upload example " + newuuid
        data = modeldata.replace('$model_run_name', newmodelname)
    
        result = s.post(newmodelurl, data=data)
    
        model_run_uuid = result.text
    
        # Request Token
    
        token = json.loads(s.get(gettokenurl).text)
    
        preauthurl = token['preauthurl']
        preauthtoken = token['preauthtoken']
    
        # Upload to Swift using token
    
        containername = model_run_uuid
        filename = 'sample_inputs.nc'
        segmentsize = 1073741824 # 1 Gig
    
        command = ['swift']
        command.append('upload')
        command.append(containername)
        command.append('-S')
        command.append(str(segmentsize))
        command.append(filename)
        command.append('--os-storage-url='+preauthurl)
        command.append('--os-auth-token='+preauthtoken)
    
        print "Uploading..."
    
        print command
    
        ls_output = subprocess.check_output(command)
    
        print ls_output
    
        print "Telling VWP to download..."
    
        params = {'modelid':model_run_uuid,'filename':filename,'preauthurl':preauthurl,'preauthtoken':preauthtoken}
    
        r = s.get(swiftuploadurl, params=params)
        if r.status_code == 200:
            print "VWP has successfully downloaded data file!"
        else:
            print "Download failure"
            print r.text
    else:
        print "Login failure"
        print login.text
                                

    Response

    Coming soon.

  • PUT /apps/{app}/datasets Upload Dataset Information

    Uploads information about data that has been inserted in to the database.

    Payload for this method is a formatted JSON with the following required structure:

    {
        "formats": [],
        "description": "$description",
        "externaluserid": "$valid_UUID",
        "sources": [
            {
                "mimetype":"$mimetype",
                "files": [
                    "$inputFilePath"
                ],
                "set":"$set",
                "external":"$external",
                "extension":"$extension"
            }
        ],
        "taxonomy":"$taxonomy",
        "basename":"$basename",
        "parent_model_run_uuid":"$parent_model_run_uuid",
        "apps":[
    
        ],
        "model_set_taxonomy":"$model_set_taxonomy",
        "model_run_uuid":"$model_run_uuid",
        "records":"$records",
        "model_set":"$model_set",
        "spatial":{
           "geomtype":"$geomtype",
           "records":"$spatial_records",
           "features":"$features",
           "bbox":"$bbox",
           "epsg":"$epsg"
        },
        "services":[
            "$service1",...
        ],
        "model_set_type":"$model_set_type",
        "standards":[
            "$standard1",...
        ],
        "active":"$active",
        "model_vars":"$model_vars",
        "categories":[
            {
             "state":"$state",
             "modelname":"$modelname",
             "location":"$location"
          }
        ],
        "metadata":{
            "xml":"$xml"
            "upgrade":"$upgrade",
            "standard":"$xmlstandard"
        }
    }
                                

    The above is a reasonable baseline template for both raster and vector inserts. However, while filling in the above information is sufficient for raster inserts, vector inserts require additional steps, detailed below.

    Request Parameters

    None.

    Route Parameters
    Parameter Description Type Options
    app Application alias string vwp
    Put Parameters
    Parameter Description Type Options
    formats The file formats that are intended to be offered as downloads list of strings
    description Description of this dataset string
    sources Dictionary detailing file information dictionary
    mimetype Internet Media Type of transmitted data string (attribute of sources)
    files List of full paths to the uploaded file on the Virtual Watershed list of strings (attribute of sources)
    set 'original' or 'derived', should be 'original for purposes of insert string (attribute of sources)
    external If file whose associated data is located on another server string true, false(attribute of sources)
    extension extension of original file string (attribute of sources)
    taxonomy Taxonomy of data for purposes of processing string file, vector, geoimage, table, service, netcdf_[model]
    basename Name used for all download paths when building URLs string
    parent_model_run_uuid Parent Model Run UUID for this model run uuid
    apps Application alia string vwp
    model_set_taxonomy Defines the taxonomy of data for searches within a model set string grid, vector, file
    model_run_uuid Model Run UUID specific to all datasets in this model run uuid
    records Number of records in this dataset; should equal records number in spacial information integer
    model_set Defines the set of data to assign this data to string
    spatial Dictionary of spatial information regarding the dataset dictionary
    geomtype Geometry type (required for Vector only) string POINT, LINESTRING, POLYGON (attribute of spatial)
    records Number of records associated to features (usually same as number of features int (attribute of spatial)
    features Number of features represented by this dataset, usually 1 for rasters and many for vectors int (attribute of spatial)
    bbox Bounding box coordinates as a comma-delimited list string (attribute of spatial)
    epsg EPSG code of the provided BOX geometry int (attribute of spatial)
    services List of services that are requested to be supported sring wms, wcd, wfs
    model_set_type Defines type of data within the model set sring
    standards GIS metadata standards to support list of strings
    active Whether this dataset is visible to users to start string true, false
    model_vars Comma delimited string of variables represented by inputs and outputs string
    categories A triplet enforced by our database as a means of dividing data in to categories and subcategories dictionary
    modelname Top level category, name of model type being run string (attribute of categories)
    state Mid level category, name of the state that the model was run in string (attribute of categories)
    location Bottom level category, name of the watershed that hte model was run in string (attribute of categories)
    metadata Attached metadata for this file dictionary
    xml Original Metadata XML. Please use correct and verified metadata as per FGDC standards string See Examples below for XML template(attribute of metadata)
    standard Standard that this metadata is in (should be in supported metadata list) string (attribute of metadata)
    upgrade Whether to upgrade metadata to gstore string true, false(attribute of metadata)
    Examples:

    XML Metadata Template

    Replace any Unknowns with information about your data that is known

    All tags within this template are required; if you do not have this information leave it as unknown.

    <!DOCTYPE metadata SYSTEM "http://www.fgdc.gov/metadata/fgdc-std-001-1998.dtd">
    <metadata>
        <idinfo>
            <citation>
                <citeinfo>
                    <origin>Unknown</origin>
                    <pubdate>Unknown</pubdate>
                    <title>Unknown</title>
                    <geoform>Unknown</geoform>
                    <pubinfo>
                        <pubplace>Unknown</pubplace>
                        <publish>Unknown</publish>
                    </pubinfo>
                </citeinfo>
            </citation>
            <descript>
                <abstract>Unknown</abstract>
                <purpose>Unknown</purpose>
                <supplinf>Unknown</supplinf>
            </descript>
            <timeperd>
                <timeinfo>
                    <rngdates>
                        <begdate>Unknown</begdate>
                        <enddate>Unknown</enddate>
                    </rngdates>
                </timeinfo>
                <current>Unknown</current>
            </timeperd>
            <status>
                <progress>Complete</progress>
                <update>Unknown</update>
            </status>
            <spdom>
                <bounding>
                    <westbc>-106.375</westbc> <!--Required valid coordinate-->
                    <eastbc>-106.3125</eastbc><!--Required valid coordinate-->
                    <northbc>36.1875</northbc><!--Required valid coordinate-->
                    <southbc>36.125</southbc> <!--Required valid coordinate-->
                </bounding>
            </spdom>
            <keywords>
                <theme>
                    <themekt>Unknown</themekt>
                    <themekey>Unknown</themekey>
                </theme>
                <theme>
                    <themekt>Unknown</themekt>
                    <themekey>Unknown</themekey>
                </theme>
                <theme>
                    <themekt>Unknown</themekt>
                    <themekey>Unknown</themekey>
                    <themekey>Unknown</themekey>
                </theme>
                <place>
                    <placekt>None</placekt>
                    <placekey>Unknown</placekey>
                </place>
            </keywords>
            <accconst>Unknown</accconst>
            <useconst>Unknown</useconst>
            <ptcontac>
                <cntinfo>
                    <cntperp>
                        <cntper>Unknown</cntper>
                    </cntperp>
                    <cntaddr>
                        <addrtype>Unknown</addrtype>
                        <address>Unknown</address>
                        <city>Unknown</city>
                        <state>Unknown</state>
                        <postal>Unknown</postal>
                        <country>Unknown</country>
                    </cntaddr>
                    <cntvoice>Unknown</cntvoice>
                    <cntemail>Unknown</cntemail>
                </cntinfo>
            </ptcontac>
            <native>Unknown</native>
        </idinfo>
        <dataqual>
            <logic>Unknown</logic>
            <complete>Unknown</complete>
            <posacc>
                <horizpa>
                    <horizpar>Unknown</horizpar>
                    <qhorizpa>
                        <horizpav>0.0</horizpav> <!--Must be of type double-->
                        <horizpae>Unknown</horizpae>
                    </qhorizpa>
                </horizpa>
            </posacc>
            <lineage>
                <srcinfo>
                    <srccite>
                        <citeinfo>
                            <origin>Unknown</origin>
                            <pubdate>Unknown</pubdate>
                            <title>Unknown</title>
                            <pubinfo>
                                <pubplace>Unknown</pubplace>
                                <publish>Unknown</publish>
                            </pubinfo>
                        </citeinfo>
                    </srccite>
                    <typesrc>Unknown</typesrc>
                    <srctime>
                        <timeinfo>
                            <rngdates>
                                <begdate>Unknown</begdate>
                                <enddate>Unknown</enddate>
                            </rngdates>
                        </timeinfo>
                        <srccurr>Unknown</srccurr>
                    </srctime>
                    <srccitea>Unknown</srccitea>
                    <srccontr>Unknown</srccontr>
                </srcinfo>
                <procstep>
                    <procdesc>Unknown</procdesc>
                    <procdate>Unknown</procdate>
                    <proccont>
                        <cntinfo>
                            <cntorgp>
                                <cntorg>Unknown</cntorg>
                            </cntorgp>
                            <cntpos>Unknown</cntpos>
                            <cntaddr>
                                <addrtype>Unknown</addrtype>
                                <address>Unknown</address>
                                <address>Unknown</address>
                                <city>Unknown</city>
                                <state>Unknown</state>
                                <postal>Unknown</postal>
                                <country>Unknown</country>
                            </cntaddr>
                            <cntvoice>Unknown</cntvoice>
                            <cntfax>Unknown</cntfax>
                            <cntemail>Unknown</cntemail>
                            <hours>Unknown</hours>
                        </cntinfo>
                    </proccont>
                </procstep>
            </lineage>
        </dataqual>
        <spdoinfo>
            <indspref>Unknown</indspref>
            <direct>Raster</direct> <!--  Point, Vector, or Raster-->
            <rastinfo>
                <rasttype>Pixel</rasttype> <!--Point, Pixel, Grid Cell, Voxel-->
                <rowcount>1</rowcount><!--integer minimum of 1-->
                <colcount>1</colcount><!--integer minimum of 1-->
                <vrtcount>1</vrtcount><!--integer minimum of 1-->
            </rastinfo>
        </spdoinfo>
        <eainfo>
            <detailed>
                <enttyp>
                    <enttypl>Unknown</enttypl>
                    <enttypd>Unknown</enttypd>
                    <enttypds>Unknown</enttypds>
                </enttyp>
                <attr>
                    <attrlabl>Unknown</attrlabl>
                    <attrdef>Unknown</attrdef>
                    <attrdefs>Unknown</attrdefs>
                    <attrdomv>
                        <rdom>
                            <rdommin>Unknown</rdommin>
                            <rdommax>Unknown</rdommax>
                            <attrunit>Unknown</attrunit>
                        </rdom>
                    </attrdomv>
                </attr>
            </detailed>
        </eainfo>
        <distinfo>
            <distrib>
                <cntinfo>
                    <cntorgp>
                        <cntorg>Unknown</cntorg>
                    </cntorgp>
                    <cntpos>Unknown</cntpos>
                    <cntaddr>
                        <addrtype>Unknown</addrtype>
                        <address>Unknown</address>
                        <address>Unknown</address>
                        <city>Unknown</city>
                        <state>Unknown</state>
                        <postal>Unknown</postal>
                        <country>Unknown</country>
                    </cntaddr>
                    <cntvoice>Unknown</cntvoice>
                    <cntfax>Unknown</cntfax>
                    <cntemail>Unknown</cntemail>
                    <hours>Unknown</hours>
                </cntinfo>
            </distrib>
            <distliab>Unknown</distliab>
            <stdorder>
                <digform>
                    <digtinfo>
                        <formname>Unknown</formname>
                        <transize>1</transize><!--Integer greater that 0-->
                    </digtinfo>
                    <digtopt>
                        <offoptn>
                            <offmedia>Unknown</offmedia>
                            <recfmt>Unknown</recfmt>
                        </offoptn>
                    </digtopt>
                </digform>
                <fees>Unknown</fees>
            </stdorder>
        </distinfo>
        <metainfo>
            <metd>20130116</metd> <!--Valid date in in patter \d{4}(\d{2}(\d{2})?)?|bc\d{4}(\d{2}(\d{2})?)?|cc\d{5,}|cd\d{5,} -->
            <metc>
                <cntinfo>
                    <cntorgp>
                        <cntorg>Unknown</cntorg>
                    </cntorgp>
                    <cntpos>Unknown</cntpos>
                    <cntaddr>
                        <addrtype>Unknown</addrtype>
                        <address>Unknown</address>
                        <address>Unknown</address>
                        <address>Unknown</address>
                        <city>Unknown</city>
                        <state>Unknown</state>
                        <postal>Unknown</postal>
                    </cntaddr>
                    <cntvoice>Unknown</cntvoice>
                    <cntfax>Unknown</cntfax>
                    <cntemail>Unknown</cntemail>
                    <hours>Unknown</hours>
                </cntinfo>
            </metc>
            <metstdn>Unknown</metstdn>
            <metstdv>Unknown</metstdv>
            <mettc>local time</mettc><!--local time, local time with time differential factor, or  universal time-->
            <metsi>
                <metscs>Unknown</metscs>
                <metsc>Unknown</metsc>
                <metshd>Unknown</metshd>
            </metsi>
        </metainfo>
    </metadata>
    

    Response

    modelrun UUID

  • PUT /apps/{app}/datasets/{dataset_uuid} Update Dataset Information

    Updates information about a dataset that has been inserted in to the database.

    Payload for this method is a formatted JSON with the same structure as Dataset Information Upload

    The above is a reasonable baseline template for both raster and vector inserts. However, while filling in the above information is sufficient for raster inserts, vector inserts require additional steps, detailed below.

    Request Parameters

    None.

    Route Parameters
    Parameter Description Type Options
    app Application alias string vwp
    dataset_uuid Dataset identifier uuid
    Put Parameters

    See Dataset Information Upload

    Examples:
    
                                

    Response

    modelrun UUID

  • PUT /apps/{app}/datasets/{dataset_uuid}/attributes Upload Attribute Information

    Uploads attribute information about an existing vector dataset.

    Payload for this method is a formatted JSON with the following structure:

    {
        "dataset": "$dataset_uuid",
        "fields": [ #list of entries with the following form:
            {
                "name": "$name",
                "description": "$description",
                "orig_name": "$orig_name",
                "ogr_type": "$ogr_type",
                "nodata": "$nodataval"
                "ogr_precision": "$ogr_precision"
                "ogr_width": "$ogr_width"
                "ogr_justify": "$ogr_justify"
            }# ,...
        ]
    }
                                

    Request Parameters

    None.

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    dataset_uuid Dataset identifier uuid
    Put Parameters
    Parameter Description Type Options
    dataset The UUID of the dataset uuid
    fields List of dictionaries representing attribute list of dictionaries
    name Name pulled the layer field definition string (attribute of fields)
    description Description of this layer string (attribute of fields)
    orig_name Name pulled the layer field definition string (attribute of fields)
    ogr_type OGR Data type from the layer field definition string (attribute of fields)
    nodata Value used to represent no data int,float (attribute of fields)
    ogr_precision Precision of data from the layer field definition int,float (attribute of fields)
    ogr_width Width of data from the layer field definition int,float (attribute of fields)
    ogr_justify Justify from the layer field definition int,float (attribute of fields)
    Examples:
    
                                

    Response

    modelrun UUID

  • PUT /apps/{app}/datasets/{dataset_uuid}/features Upload Geometry Information

    Uploads geometry information about an existing vector dataset.

    Payload for this method is a formatted JSON with the following structure:

    {
        "gid": "$gid",
        "geom": "$geom"
    }
                                

    Request Parameters

    None.

    Route Parameters
    Parameter Description Type Options
    app Application alias string vwp
    dataset_uuid Dataset identifier uuid
    Put Parameters
    Parameter Description Type Options
    gid The feature id of the geometry/feature. string
    geom Well-Known Binary representation of geometry from the feature, encoded to a hex string hex string
    Examples:
    
                                

    Response

    modelrun UUID

  • PUT /apps/{app}/datasets/{dataset_uuid}/attributefeatures Upload Attribute Feature Information

    Uploads attribute feature information about an existing vector dataset.

    Payload for this method is a formatted JSON with the following structure:

    {
        "fids": [], # list of feature ids,
        "records": [ # list of records
            {
                "fid": "$fid",
                "uuid": "$uuid",
                "observed": "$observed",
                "atts": [ # list of attributes
                    { #attribute features
                        "name": "$att_name",
                        "u": "$att_uuid",
                        "val": "$att_val",
                        "qual": "$att_
                    }
                ]
            }
        ]
    }
                                

    Request Parameters

    None.

    Route Parameters
    Parameter Description Type Options
    app Application alias string vwp
    dataset_uuid Dataset identifier uuid
    Put Parameters
    Parameter Description Type Options
    fids List of feature IDs list of string
    records A list of features list of dictionaries
    fid Feature id of this attribute feature string (attribute of records)
    uuid UUID of associated geometry uuid (attribute of records)
    observed Datetime observed datetime (attribute of records)
    atts List of attributes list of dictionaries (attribute of records)
    name Name of this attribute feature string (attribute of atts)
    u UUID of this attribute feature uuid (attribute of atts)
    val Value of this attribute feature (varies) (attribute of atts)
    qual (optional) (varies) (attribute of atts)
    Examples:
    
                                

    Response

    modelrun UUID

  • POST /apps/{app}/newmodelrun Create a new model run (model_run_uuid)

    Creates a database record of the new model run and a landing point for files to be uploaded.

    Request Parameters

    None.

    Route Parameters

    {app}

    Query Parameters

    description: isnobal experimental run.

    modelid: Model Run UUID

    Examples:
    {"description": "inital insert"}

    Response

    modelrun UUID

  • POST /apps/{app}/checkmodeluuid Check if model_run_uuid exists.

    Verifies if a model run UUID already exists.

    Request Parameters

    Route Parameters

    {app}

    Query Parameters

    modelid:

    Examples:
    {"modelid": "1dacc407-6488-42c1-a4de-0b6de97b46c1"}

    Response

    True or False

  • GET /apps/{app}/datasets/{uuid}/statistics.{ext} Get dataset statistics

    Get basic statistics for a dataset. This includes descriptive statistics such as mean, minimum and maximum for numeric fields for tabular of vector data or histograms for raster data.

    Request Parameters

    Route Parameters

    Coming soon.

    Query Parameters

    Coming soon.

    Examples

    Coming soon.

    Response

    Coming soon.