All Projects → nci → gsky

nci / gsky

Licence: other
Distributed Scalable Geospatial Data Server

Programming Languages

go
31211 projects - #10 most used programming language
C++
36643 projects - #6 most used programming language
Smarty
1635 projects
PLpgSQL
1095 projects
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to gsky

mapmint
Fast and easy webmapping.
Stars: ✭ 51 (+121.74%)
Mutual labels:  geospatial, wms, wcs, wps
deegree3
Official deegree repository providing geospatial core libraries, data access and advanced OGC web service implementations
Stars: ✭ 118 (+413.04%)
Mutual labels:  geospatial, wms, wcs, wps
krawler
A minimalist (geospatial) ETL
Stars: ✭ 51 (+121.74%)
Mutual labels:  geospatial, wms, postgis, wcs
mapserver-docker
Mapserver OGR GDAL PostGIS WMS WCS WFS with Lighttpd in Docker
Stars: ✭ 18 (-21.74%)
Mutual labels:  wms, postgis, wcs
Geoserver
Official GeoServer repository
Stars: ✭ 2,573 (+11086.96%)
Mutual labels:  wms, wcs, wps
Cartodb
Location Intelligence & Data Visualization tool
Stars: ✭ 2,537 (+10930.43%)
Mutual labels:  geospatial, postgis
Php Crud Api
Single file PHP script that adds a REST API to a SQL database
Stars: ✭ 2,904 (+12526.09%)
Mutual labels:  geospatial, postgis
sits
Satellite image time series in R
Stars: ✭ 342 (+1386.96%)
Mutual labels:  geospatial, remote-sensing
Awesome Geospatial Companies
🌐 List of 500+ geospatial companies (GIS, Earth Observation, UAV, Satellite, Digital Farming, ..)
Stars: ✭ 184 (+700%)
Mutual labels:  geospatial, remote-sensing
earthengine-apps
A collection of Earth Engine Apps created using geemap, voila, and heroku
Stars: ✭ 20 (-13.04%)
Mutual labels:  geospatial, remote-sensing
WhiteboxTools-ArcGIS
ArcGIS Python Toolbox for WhiteboxTools
Stars: ✭ 190 (+726.09%)
Mutual labels:  geospatial, remote-sensing
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (+695.65%)
Mutual labels:  geospatial, remote-sensing
Python Geospatial
A collection of Python packages for geospatial analysis with binder-ready notebook examples
Stars: ✭ 187 (+713.04%)
Mutual labels:  geospatial, remote-sensing
java-crud-api
No description or website provided.
Stars: ✭ 24 (+4.35%)
Mutual labels:  geospatial, postgis
Whitebox Python
WhiteboxTools Python Frontend
Stars: ✭ 188 (+717.39%)
Mutual labels:  geospatial, remote-sensing
geotrellis-server
Tools for building raster processing and display services
Stars: ✭ 65 (+182.61%)
Mutual labels:  wms, wcs
aruco-geobits
geobits: ArUco Ground Control Point Targets and Detection for Aerial Imagery (UAV/MAV).
Stars: ✭ 32 (+39.13%)
Mutual labels:  geospatial, remote-sensing
tilenol
Scalable, multi-backend geo vector tile server
Stars: ✭ 16 (-30.43%)
Mutual labels:  geospatial, postgis
Geotools
Official GeoTools repository
Stars: ✭ 1,109 (+4721.74%)
Mutual labels:  geospatial, postgis
Raster Vision
An open source framework for deep learning on satellite and aerial imagery.
Stars: ✭ 1,248 (+5326.09%)
Mutual labels:  geospatial, remote-sensing

GSKY: Distributed Scalable Geospatial Data Server

What Is This?

GSKY was developed at NCI and is a scalable, distributed server which presents a new approach for geospatial data discovery and delivery using OGC standards. The most recent release is here.

Build Status

GSKY Docker Image

The quickest way to try out GSKY is via GSKY docker image.

GSKY's docker image ships with a fully functional environment of GSKY cluster, as well as sample data files and configuration files for testing.

docker pull gjmouse/gsky:latest

For more details of GSKY docker image, please refer here.

Overview of Servers Components

GSKY mainly consists of three servers working together to deliver services. The main server (ows.go) is the front-end server that takes WMS/WCS/WPS HTTP requests as inputs. The main server talks to the MAS Restful API server (mas/api/api.go) for the data files that intersect with the polygon bounding box in the WMS/WCS/WPS requests. With those data files, the main server talks to the RPC worker nodes (grpc-server/main.go) for compute and IO intensive tasks and then sends the results back to the client side.

How To Start the Servers

  • Start the MAS Restful API server: /opt/gsky/sbin/masapi -port 8888

    The -port option sets the API server listening port. The default is port 8080.

  • Start all the RPC worker nodes: /opt/gsky/sbin/gsky-rpc -p 6000

    The -p option sets the gRPC listening port. The default is port 6000.

  • Start the main server: /opt/gsky/sbin/gsky-ows -p 8080

    The -p option sets the main server listening port. The default is port 8080.

Configuration Files

  1. config.json: Contains the list of WMS, WCS and WPS layers exposed by the server. It also contains the IP address of the index API used in the workflow. In addtion, it contains the list of worker nodes specifying the IP address and list of ports per worker. Several workers can be specified on a single machine by adding several entries using the same IP address and different ports. These services have to be locally started at the specified machines.

  2. Serveral config.json files can be organized into directories to form namespaces to group logical collection of datasets together. For example, the server serves two science projects with the following URLs:

    1) http://<server address>/ows/project1
    2) http://<server address>/ows/project2
    

    The directory structure of the config files will be as follows:

    <config root directory>
    
        project1
           config.json
    
        project2
           config.json
    

How To Compile the Source

Dependencies:

  • Go 1.16.x+
  • C++ 14+
  • GDAL 3.x+
  • PostgreSQL 11+
  • PostGIS 3.x+
  • Various Go packages (handled by go modules)
$ git clone https://github.com/nci/gsky
$ cd gsky
$ ./configure
$ make all install

The configure script takes all of the standard GNU configure flags such as --prefix (to specify where to install GSKY).

Contributions

Suggestions, enhancement requests, bug reports and patches to GSKY are welcome via this GitHub page. Please submit patches as a GitHub pull request. Authors retain copyright over their contributions.

Citing GSKY in publications

When referring to GSKY in publications please use the citation in CITATION.md. A ready-to-use BibTeX entry for LaTeX users can also be found in this file.

License

Copyright 2016 Australian National University

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this package except in compliance with the License. A copy of the License may be found in this source distribution in LICENSE-2.0.txt.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].