🌍

Imagery Servers

Importing imagery from remote imagery servers

You can connect Picterra to remote imagery servers through the “Import from imagery server” option in the “Add imagery” menu:

image

This will open a window to manage your remote imagery servers:

Import from imagery server window
Import from imagery server window

From here, you can do multiple things:

  • Click on the “Add a new imagery server” button to setup a new server connection.
  • Use the list on the left to select from which server you want to import
  • Draw or upload the areas of interest you want to import on the map

Once you have drawn one or multiple AOIs to import, click on the button at the bottom. You will have to enter a name for the new image and select an “import method”:

Import method selection for remote imagery
Import method selection for remote imagery

Remote imagery import methods

Picterra offers two ways to import your remote imagery in the platform:

  • Streaming is the default and will import the imagery in streaming mode.
    • This is the quickest option because the image is streamed from the remote server as you navigate or process it.
  • Download allow you to store a copy of the imagery on Picterra.
    • This can be useful if you want to use advanced tools (those don’t work on streaming imagery) or if you want to ensure you keep a long term copy of the imagery.
    • This is also helpful if you want to avoid issues when the remote server has downtime. For example if you want to iterate on a detector and the remote server is unstable, your training will fail when the remote server is down - because Picterra cannot fetch the imagery data.

Streaming mode

If you select the streaming mode, after a few seconds you should see a new image appearing in your project that covers your area of interests.

A “streaming image” (note the globe icon) that is linked to a remote server
A “streaming image” (note the globe icon) that is linked to a remote server

A few things to note about this image:

  • The AOI you specified are used as detection areas for that image
  • This image is a “streaming image”, meaning the data is streamed from the remote server when needed

If you want to actually download the imagery from the server and store a copy on Picterra, see the Convert a streaming image into a regular image section below.

Download mode

If you select download mode, Picterra will download the imagery from the remote server and turn it into regular images (GeoTiff).

Note that this is a possibly lengthy process (see “Import speed” below). Depending on the size of your AOIs, we may also need to break it into multiple images - this is something you can see before starting the conversion in the “Confirm import” popup.

The “confirm import” popup let you see in how many image your remote image needs to be split.
The “confirm import” popup let you see in how many image your remote image needs to be split.

After a while (see “Import speed” below), and depending on the geographical spread of your areas of interest, the import will create one or multiple images in your project with the data ready to be used.

Example result of importing large areas of interest that created multiple images
Example result of importing large areas of interest that created multiple images

Download speed

Import speed can vary on multiple factors

  • Resolution at which you import
  • Geographic area covered by the AOIs
  • Speed of the remote server

We recommend that you start with a test import on a limited region to get a sense of the time it takes before importing large regions.

Monitoring download progress

After starting an import from an imagery server, you can access a status report through your notification center by clicking on the “View status” button:

Notification center with imagery server imports
Notification center with imagery server imports

This will open a new window with a remote import status report where you can see:

  • Grid cells that represent what needs to be imported based on your areas of interest
    • Each cell will end up as one image in your folder (with a “_cellnumber” appended to its name)
    • Green cells are finished, blue cells are in progress
Import from imagery server progress report
Import from imagery server progress report

Convert to image

Once you have imported your image as a streaming image (see above), you can optionally download the data to turn it into a (series of) GeoTIFFs that are stored on Picterra’s cloud.

Converting a “streaming” image to regular image(s)
Converting a “streaming” image to regular image(s)

Setting up a new server

To setup a connection to a new imagery server, you need to enter various details that depend on the selected “Server type”. See the sections below for what you need for each specific server type.

Once you have entered the details, you can test the connection by selecting a specific location using the map on the right hand side. This will display a preview of what the data look like at the selected location and resolution. This is particularly helpful to make sure the resolution is correct. If you do not see your imagery in the preview, your resolution might be incorrect.

image

XYZ

You need a XYZ URL in the form:

https://server.com/wmts/layer/{z}/{x}/{y}

WMS

You need to enter the GetCapabilities URL of the WMS:

There is no specific form for this request, but when browsed it should display the server’s capabilities, which is an XML document like

<WMS_Capabilities version="...">
  <Service>
    ...
  </Service>
</WMS_Capabilities>

Workaround for WMTS

⚠️
Picterra does NOT support WMTS but in some case, a WMTS can be used as an XYZ imagery source.

Picterra does not support WMTS natively but if your WMTS exposes tiles in a GoogleMapsCompatible (EPSG:3857) grid, it can usually be connected as a XYZ.

To do so, first look in the GetCapabilities document of the WMTS and look for a Layer that has a GoogleMapsCompatible TileMatrixSet:

image

It should have a ResourceURL that looks something like

https://server.com/wmts/layer/{TileMatrix}/{TileCol}/{TileRow}

You want to turn this into a XYZ url by replacing:

  • TileMatrix by z.
  • TileCol by x.
  • TileRow by y.
https://server.com/wmts/layer/{z}/{x}/{y}

You can then enter this XYZ url in Picterra along with a latitude longitude and resolution that correspond to the WMTS. You can find those informations from the GetCapabilities document as well:

  • Lat/Lng from the WGS84BoundingBox of the layer
  • Resolution from the max zoom level exposed by the WMTS server

image

ArcGIS Image Server

🛠
Support for ArcGIS Image Server is currently in
Beta
. Please get in touch with your our support team if you run in any issues.

You can connect Picterra to your ArcGIS Online layers.

Open the details page of your published layer (Imagery or Tiled Imagery) and look to the bottom right for its URL (it should end with /ImageServer or /MapServer).

Enter this URL in Picterra, along with your credentials in the form: username:password.

⚠️
Note about tiled imagery layers - We currently only support tiled imagery layers created with the “google/bing” tiling scheme. Such layers need to be created from ArcGIS Pro (see here). - When creating tiled imagery layers, make sure to use “JPEG” compression. We currently do not support the default “LERC” compression.
⚠️
Note about importing ArcGIS layers We currently do not support streaming ArcGIS layers. Alternatively, the aois to import are converted into images and stored into your project. The usual workflow, which is supported for XYZ and WMS servers but not (yet) for ArcGIS servers, is that aois are imported as “streaming” images and can be converted if needed into images with the “Convert to image” function.

🧯Imagery servers troubleshooting

Contact us at support@picterra.ch if none of the below solutions work and we’ll be happy to look into it with you.

“Test connection” not working

If the “Test connection” to the imagery server is not working, here are a few things to try:

  • Check that the URL is correct. In particular, check for wrongly encoded characters (e.g. ‘{z}’ replaced by ‘%7Bz%7D’ )
  • The resolution might not be supported by the server. If you are unsure, start with a lower resolution first.
  • If the server is using SSL / HTTPS, there are sometimes issues with certificates. Try enabling the “Skip SSL” option and see if it helps

Streaming raster resolution too high for detection

You may be prevented from running a detector on a streaming raster because of a resolution issue.

This safeguard exists because, when running on streaming imagery, detectors will first download a temporary copy of the server’s imagery at the server’s resolution. When the server’s resolution is significantly higher than the detector’s resolution, this error is generated to avoid e.g. depleting your remote server’s quota or downloading huge amounts of unnecessary data.

The workaround in this case is to:

  • Duplicate the server’s configuration
  • Edit the resolution to match the detector’s resolution
  • Import the aoi as a new streaming raster

You will now be able to run the detector on this new streaming raster.