• Docs >
  • Geodesic Python API Documentation
Shortcuts

Geodesic Python API Documentation

Geodesic (n. /jēəˈdesik/): relating to or denoting the shortest possible line between two points on a sphere or other curved surface.

Geodesic Platform (n. /jēəˈdesik platfôrm /): the shortest possible path to answer your questions

Introduction

Welcome to the documentation to the Python API for the Geodesic Platform. Geodesic is the world’s first cloud-native, decentralized platform optimized for spatiotemporal data that sits atop a decentralized Data Lake. Geodesic is able to process exceptionally large datasets and has the ability to access more spatiotemporal datasets than any other platform. Don’t believe it? Read on.

Why Geodesic?

Geodesic makes it simple to work with spatiotemporal data at a global scale. Its decentralized model allows users to reference their own data, APIs, and connections in a variety of formats to run analytics at previously unattainable capacities. Many platforms offer a centralized data store curated by the provider. This approach, while useful, is more fit-for-purpose and limits the flexibility and scale at which a user might operate. Geodesic, with its data-agnostic approach, removes hurdles that are inherent in other platforms and allows you to answer questions you didn’t know you could ask

What is Geodesic?

_images/geodesic_diagram.png

Geodesic is a collection of scalable microservices that work together to make it easier to go from data to knowledge. It has three main components - Entanglement, Boson, and Tesseract. There are others, but they are conceptually less important to understand the operation of the platform. Instead of simply presenting you with a menu of possible data sources and letting you perform your analysis from there, we start at the use case and work our way back to the data.

To us, this starts with a knowledge graph, and our service Entanglement. Every dataset within our platform is a Dataset node in Entanglement, and it’s edges/connections refer to relationships that dataset has - what can it measure? What questions can it answer? What are other datasets that are related? Connections are not limited to datasets as objects inside the graph can be almost anything. It is also fully version controlled and can be time-traveled. See the Entanglement Overview for more information.

Every dataset within Entanglement is accessed through Boson, the geospatial service mesh. Boson is a plugin-based service that is cabable of translating both from and to virtually any geospatial data API. This is what enables the decentralization in our platform. Because our services know how to talk to Boson, by extension they can access data contained almost anywhere. From a practical perspective, if we can implement a plugin to access a remote data source, it’s now a data source that can be added to the knowledge graph - not just the fact that it exists, but made fully queryable. Today, this supports data from STAC APIs, Esri Feature and Image Services, Google Earth Engine, image files in S3/GCS/Azure Cloud Storage, and a growing list of providers. In addition, Boson is extensible via remote providers. If you can write a Python script (or any other language capable of parsing protocol buffers) to access and serve a data source, you can add that into Geodesic’s graph, fully accessible by the services.

Last, but not least, we have Tesseract. Tesseract is the world’s most powerful data fusion tool, able to execute arbitrary spatiotemporally distributed computation on both raster and vector geospatial data sources. Tesseract can be used to bring together numerous data sources into a common grid or spatial refence and combine them to answer questions or even run models, including Deep Learning models across hundreds of GPUs. Like everything else in the platform, it’s output is both fully consumable as a web service via Boson and connected to the knowledge graph in Entanglement. Tesseract outputs data in the popular Parquet/GeoParquet format for vector data, and in the Zarr format for Raster/Tensor data. The output can either be in Geodesic’s internal storage or in your own.

Each of these services is exposed via a JSON REST API with OpenAPI 3.x schemas so that you can interface with Geodesic however you please. The best way to interact with Geodesic is through the Python API - the subject of this documentation. The Python API not only provides a convenient wrapper on top of the REST API, it also provides additional functionality and integration with other tools. When used within Jupyter Lab/Notebooks, we provide widgets that make the interaction much easier.

In this documentation, we provide you with a full API reference and examples of how to use the platform. From here, take a look at the Quick Start to jump right in or for more conceptual information, continue on to the next section How We Think About Data.

Indices and tables

Docs

Developer documentation for Seer AI APIs

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources