Skip to content

GPlates Web Service(GWS) is a web API for the plate tectonics reconstruction.

License

Notifications You must be signed in to change notification settings

GPlates/gplates-web-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPlates Web Service

Test Build Docker Release Test

The 🔥GPlates Web Service🔥 is a part of the on-going GPlates project funded by AuScope. The web service is built upon pyGPlates and allows users to utilize the pyGPlates functionalities without the need of installing pyGPlates locally. Users send HTTP requests to https://gws.gplates.org or On-Prem server, and then the server will process the requests and send the results back. The web service provides access to pyGPlates functionalities across multiple programming languages and operating systems.

The GPlates Web Service is created and maintained by EarthByte group at the University of Sydney.

Please give us a ⭐star⭐ to show your support for our development team. Thank you very much!

🤔 Why GPlates Web Service

  • easy to use -- it can be as easy as opening a URL in a web browser or a one-line curl command in a terminal
  • cross-platform and programming language independent -- the service can be used in various programming languages and on various operating systems
  • scalability -- distribute workload among servers, cluster, grid or Cloud to improve throughput and support concurrent usage
  • automated plate reconstruction model management -- provide a wide range of plate reconstruction models out of the box
  • software deployment and upgrade -- the software installation and upgrade are much easier than local software

🚀 Quick start

👉 Use the GPlates Web Service in a web browser

  • Step 1: click this link
  • Step 2: the paleo-coordinates will show in the web browser in GeoJSON format (see the explanation below).
{"type": "MultiPoint", "coordinates": [[59.3469, 60.9242], [124.7549, -59.069]]}

The server returns a valid GeoJSON MultiPoint geometry containing the paleo-coordinates of two present-day locations ([95,54] and [142,-33]) at 140 Ma. The paleo-coordinates are calculated using the plate reconstruction model ZAHIROVIC2022.

👉 Use curl or wget

wget -qO - "https://gws.gplates.org/reconstruct/reconstruct_points/?lons=95,142&lats=54,-33&time=140&model=ZAHIROVIC2022" 
curl "https://gws.gplates.org/reconstruct/reconstruct_points/?lons=95,142&lats=54,-33&time=140&model=ZAHIROVIC2022" 

👉 Use GPlates Web Service Python Wrapper(gwspy)

The examples of using the web service in Python can be found at here.

👉 Use GPlates Web Service in R

The rgplates is a good example of using GPlates Web Service in R programming language.

👉 Use GPlates Web Service in JavaScript

The gplates-js is an experimental project of using GPlates Web Service in JavaScript programming language.

👉 Setup your own server

You are welcome to use our servers. But for better performance and data security, you might want to set up the service on your own server/personal computer.

Start your own GWS server is as simple as the one-line command below. You need Docker to run this command.

docker run -d --rm -p 18000:80 gplates/gws

See docker/README.md for the step-by-step instructions.

📂 Contents

  • django -- source files for the backend

  • docker -- files for building Docker image

  • doc -- source files for the online documentation website

  • examples -- examples of the usage of this web service

  • test -- source code for testing

  • scripts -- some miscellaneous supporting scripts

  • data -- symbolic link to the folder containing the data files

🐳 Docker

Click this 👉link👈 to see details about using Docker in the development/production environment.

📚 Documentation

Some more examples of accessing the service from different languages (R, MATLAB, bash/GMT, Python) can be found at https://github.com/siwill22/gws-examples.

📮 Contact

👉 Contact EarthByte

📝 License

The GPlates Web Service is free software (also known as open-source software), licensed for distribution under the GNU General Public License (GPL) Version 2. Contact EarthByte group regarding the details of the software licensing.

🖥️ Servers

The main server is provided by NCI Cloud under AuScope scheme. Two backup servers are provided by NCI and EarthByte group.