There is nothing you need to install; instead, feed a new Speckle URL into a browser, GIS app or a web-based map to add Speckle data as a Feature Layer!

Now you can embed a Speckle URL into your Javascript and map your data with Leaflet, OpenLayers and other libraries. You can also add a Web Feature Service connection in QGIS, AutoCAD or Civil3D - no desktop connectors are required.

Now, let's break it down step by step.

The Idea Behind GeoSpeckle

We are making Speckle data even more shareable! As discussed in our post on Geospatial data, this field has a much longer history of data standardisation and exchange options than AEC.

URL-based data sharing protocols are a usual practice, possible due to integrated data ā€œreceiversā€ by most GIS and web apps: they are tuned to communicate with certain types of servers storing and distributing geospatial data commonly.

As such, you can easily add a satellite imagery layer using your area's Google Maps Tile Service URL or Digital Elevation Model using the Server URL provided by your municipality.

There is a limited number of data standards and server communication protocols that any app handling GIS data is familiar with. We want to use it by converting Speckle data on-demand into a compatible form that is shareable by a single URL via the OGC API protocol.

Geo-locating and Sharing Maps Have Never Been Easier

Here is a quick overview of the opportunities this is opening for you.

  1. Instant geolocated data preview and publishing
Easy geolocation with GeoSpeckle

2. Speckle database as a geo-database

image.png

3. Collaborative mapping (via Speckle comments)

4. CAD to GIS import

How To Use GeoSpeckle?

All the magic happens here: https://geo.speckle.systems.

You can access it from your browser or by using any OGC API client.

The link above doesnā€™t store any data itself. You need to point to a specific Speckle model so that the data will be fetched and converted for you.

Additionally, parameters like ā€˜latitudeā€™, and ā€˜longitudeā€™ can help locate the model if it was stored in a local Cartesial coordinate system, and other optional parameters such as ā€˜limitā€™, ā€˜dataTypeā€™ and ā€˜preserveAttributesā€™ can make the data request even more specific.

Example URL: https://geo.speckle.systems/?speckleUrl=https://app.speckle.systems/projects/64753f52b7/models/338b386787&lat=-0.031405&lon=109.335828

Will GeoSpeckle replace Speckle GIS Connectors?

Short answer: no.

Hereā€™s why:

OGC API Features is a way to share the geospatial data grouped into datasets (layers). In other words, all Points in your model will be mapped into 1 Point Layer, the same with Lines and Polygons. Even though you can choose to preserve all original attributes, all the attributes will be shared between all the objects in the layer.

This is not what you might need if you plan to run data analysis, but is a valid option to have a model imported into your GIS app for a reference purpose.

Connectors, in contrast, import the data into your host app in the most authentic way possible: keeping the nested objects structure, grouping the objects into layers by the data hierarchy, and applying styles and colours.

Connectors intend to bring the closest possible replica of your model into a GIS app, while the Speckle OGC API Features are importing all objects of the requested type with no UI interventions.

Lastly, the Speckle OGC API Features server is designed to accept only Speckle Model links (not individual Versions), ensuring that an added Server Connection, or a URL embedded into a web map, would always reference the latest data version.

In the desktop app connectors, where the data consumer has more control, there is an option to import a specific Model Version.

How GeoSpeckle Works

Pygeoapi - the Python server implementation of the OGC API suite of standards - is the foundation of this project, allowing the storage and distribution of geospatial data to the client.

In our case, instead of converting and saving all Speckle data in a Features-compatible format, we use the Pygeoapi server as an interface, pointing to the data on the existing Speckle server, converting it on-demand, and returning to the client as OGC API Features format.

All you need is to add the model ā€œaddressā€ on the Speckle server to the URL parameters so that Pygeoapi can fetch the exact Speckle model. You can discover more details and demo examples on our GitHub page.

If you are still reading...

... We are happy to welcome you to the GIS User Group on our Community Forum and hear about your experience! Sign up to be the first to hear about our GIS-related updates and be notified of the closed beta programs.

Subscribe to our newsletter to stay in the loop with our SpeckleGIS articles!