Code Monkey home page Code Monkey logo

geoapis's People

Contributors

lukeparky avatar rosepearson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mrmattwilkins

geoapis's Issues

Traceback when no vector data is in the WFS search region

In the vector WfsQueryBase class in the get_features_inside_catchment method the CRS information is queried before we check to see if their are any features returned. In the case of no feature information being returned the CRS is none and a key error is returned for feature_collection['crs']['properties']['name'].

Fix this bug by only checking for the CRS information after checking to see if any features have been returned

Support dataset_name for lidar.OpenTopography

Add support for downloading complete datasets by name from OpenTopography instead of specifying a polygon in which you would like to download all datasets within.

  • Allow the boundary_polygon in the constructor to be 'None'
  • Add an optional key-word in the run method dataset_name which defaults to None.
    • Print a warning if no boundary_polygonand no dataset_name as it will do nothing
    • If None download all in the boundary_polygon
    • If set only download that dataset - filtered with the boundary_polygon if the boundary_polygon is no None.

Publish V1 on PyPI

What's required for release V1?

  • The ability to download raster from LINZ
  • Automatic detection of if a LINZ vector layer is type 'shape' or 'GEOMETRY'
  • The ability to download an entire dataset or only within a polygon (currently only support within a polygon)
    • LiDAR
    • Vector
  • Publish to PyPI following these instructions

Add support for pulling down raster data from LINZ data service

Add support for pulling raster information down the LDS or Koordinates directly.

Example layers include:

Koordinates documentation:

  • raster-query - given an x,y pair this gives the value of the raster layer at that location. I.E. this is not how you download the raster layer or a tile in the raster layer.

Notes

Note that for area photography example WMTS and x/y/z access are supported. This does not appear to be available for elevation data.

There is a Koordinates Python API client . We should check this to see if geoapis is duplicating any of this. Also, this likely supports the raster access and download.

There are also the Koordinates Admin APIs. It's not clear if these are open or not, but they may provide the raster tile download we are after. In particular the Exports API may be helpful.

Support OpenTopography datasets with files in nested folder structure

Currently it is assumed all files for a OpenTopography dataset are in the top level AWS folder. This causes a 404 traceback when the tile files are grouped in subfolders. i.e. Chch_Selwn_2015

The TileIndex file also contains a URL to the file location. It should be possible to use this directly to extract the folder information.

An example of a nested folder structure:
image

An example of the TileIndex contents including a URL:
image

Add support for publicly hosted USGS LiDAR

The USGS is moving to publically host it's LiDAR data on a public AWS server. Details can be found at: https://registry.opendata.aws/usgs-lidar/

The key information is:
location = us-west-2 -> s3.us-west-2.amazonaws.com
bucket = usgs-lidar-public

The AWS key appears to be inhte URL to the dataset on open topograpy. For instace the key for https://portal.opentopography.org/usgsDataset?dsid=USGS_LPC_AL_25Co_B3_2017 is USGS_LPC_AL_25Co_B3_2017

The only challenge seems to be tracking down the key of the dataset as this information doesn't seem to be listed in the metadata seek link for an example.

separate geoapis from geofabrics

The LiDAR and vector fetching capabilities of geoapis were initially developed in GeoFabrics. Migrate these files and tests into a new repository.

Add support for pulling vector data from ArcGIS Hub / ArcGIS sites

Various entities host data on the ArcGIS Hub. It appears that this data can be accessed directly from the Hub by searching for the datasets name, or through an 'opendata' site i.e. data-kiwirail. Note the /search is needed to view a list of all datasets.

API calls exist to download an individual dataset and are accessed by clicking the blue banner 'I want to use this' followed by 'View API Resources'. Two API Queries exist - GeoService or GeoJSON:

  • GeoService - an API call specific to the KiwiRail data ,collection with the form [https://services6.arcgis.com/KEY_SPECIFIC_TO_KIWIRAIL_GROUPING/arcgis/rest/services/NAME_SPECIFIC_TO_DATASET/FeatureServer/0/query?outFields=*&where=1%3D1&outSR=2193&f=json]
  • GeoJSON - an API call to any data on the ArcGis Hub with the form [https://opendata.arcgis.com/datasets/UNIQUE_ID_OF_THE_DATA_SET.geojson]

It seems we will want a generic class for accessing any data hosted on the ArcGIS Hub. If we go with the GeoJSON URL's can be read directly in geopandas. See webpage

image

minor improvements

  • Warning if no data in a polygon
  • print out error missing f string: "The geometry_name's tried are: +{geometry_type_list}"
  • if the boundary polygon CRS is None set it using CRS

Fix tests

It looks like some tests are now failing. Fix these.

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.