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!
- 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
👉 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.
-
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
Click this 👉link👈 to see details about using Docker in the development/production environment.
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.
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.
The main server is provided by NCI Cloud under AuScope scheme. Two backup servers are provided by NCI and EarthByte group.
- https://gws.gplates.org (main server)
- https://gws1.gplates.org (NCI backup server)
- https://gws2.gplates.org (EarthByte backup server)