Table of Contents

Tiled Imagery

Alex Cota Updated by Alex Cota

Overview

Tiled Imagery is a Slippy Map tool that you can use for labeling map tiles of the earth at various zoom levels. Slippy Map is a term referring to modern web maps that let you zoom and pan around.

Currently, Tiled Imagery is only available to users who are using our Legacy image editor.

In web mapping, there are two types of coordinate systems (also called coordinate reference systems or CRS).

Geographic coordinate systems are 3-dimensional representations of the earth. Locations on this coordinate system are defined in latitude and longitude in decimal degrees.

Projected coordinate systems are 2-dimensional and use two axes: the x-axis, representing east-west, and the y-axis, representing north-south. The axes intersect at the origin (0,0) and locations are defined relative to the origin, using the notation (x,y).

There are two coordinate reference systems (CRS) supported by Tiled Imagery:

  • EPSG:3857 is a projected coordinate system measured in meters on a flattened surface. It is the projection of EPSG:4326 coordinate system onto a square for viewing on a web app. Uses the Spherical Mercator projection (AKA Web Mercator projection) to render on a web page.
  • Simple is a basic geographic coordinate reference system that directly maps x as longitude and y as latitude. Also uses the Equirectangular or Plate Carrée projection to render on a web page.
Constraints
  • 1MB cap on the total size of the label payload.
  • Multipolygons not supported.

Parameters

tileLayerUrl

URL where map data is hosted. Must be in the following format:https://c.tile.openstreetmap.org/{z}/{x}/{y}.png

bounds

The bounds where the projection is valid. Top left and bottom right coordinates (x,y) or (lat, lng).

minZoom

Minimum map zoom level down to which this layer will be displayed (inclusive).

maxZoom

Maximum map zoom level up to which this layer will be displayed (inclusive).

maxNativeZoom (optional)

Maximum zoom number the tile source has available (maxNativeZoom < maxZoom). If specified, the tiles on all zoom levels higher than maxNativeZoom will be auto-scaled.

epsg

Structured dataset of coordinate reference systems and coordinate transformations. Can be EPSG3857 or Simple.

alternativeLayers

(optional)

Additional tile layers. If no values for optional parameters are given, those values will default to the top-level keys.

tileLayerUrl (required)

name (required)

bounds (optional)

maxZoom (optional)

maxNativeZoom (optional)

minZoom (optional)

Basic setup

  1. Create a project.
  2. Make sure the JSON file you are using to import your map data includes values for all required parameters. This JSON sample demonstrates the proper format for uploading your map data via JSON.
  3. Configure your ontology.
  4. Click "confirm" and "complete setup".

Advanced setup

Add multiple layers

When a dataset containing tiles with multiple layers is imported, a dropdown menu at the top will appear allowing labelers to toggle between layers.

As an admin, you can add as many layers as you need when you import your map data. Here are a couple examples that demonstrate how to format your import file if it has multiple layers.

[ 
{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/tiler/drone-map/rgb/{z}/{x}/{y}.png",
"bounds": [
[17.983835501492813,74.41417694091798],
[17.996825561127697, 74.44644927978517]
],
"minZoom": 8,
"maxZoom": 22,
"maxNativeZoom": 22,
"epsg": "EPSG3857",
"alternativeLayers": [
{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/tiler/drone-map/ndvi/{z}/{x}/{y}.png",
"name": "NDVI"
},
{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/tiler/drone-map/dtm/{z}/{x}/{y}.png",
"name": "DTM"
}
]
}
]

[ 
{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/tiler/seuz-canal-black/{z}/{x}/{y}.png",
"bounds": [
[31.0, 31.9],
[31.7, 33.0]
],
"minZoom": 10,
"maxZoom": 16,
"maxNativeZoom": 17,
"epsg": "EPSG4326",
"alternativeLayers": [
{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/tiler/seuz-canal-white/{z}/{x}/{y}.png",
"name": "White"
}
]
},

{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/tiler/tokyo-black/{z}/{x}/{y}.png",
"bounds": [
[35.0, 139.6],
[35.9, 140.2]
],
"minZoom": 10,
"maxZoom": 16,
"maxNativeZoom": 17,
"epsg": "EPSG4326",
"alternativeLayers": [
{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/tiler/tokyo-white/{z}/{x}/{y}.png",
"name": "White"
}
]
}
]
Section the map

Depending on how you want to distribute the labeling work, you may section your map data by creating an object for each section in your JSON file and defining the lat, long values for bounds for each section. When you import the dataset and attach it to a project, each section will get treated as a separate asset to be distributed among labelers.

Try uploading this JSON sample and attach it to a project to see how it looks in the Image editor.

Pre-populate the map

In order to pre-populate your map with polygons, follow the instructions for Importing a model prediction.

Once you have followed the instructions for creating and connecting a PredictionModel to your project, you need to format your JSON file like this to upload your polygons:

//import format
"Label":
{
"<some_object_name>": [
{
"geometry": [
{
"lat": 37.87117153710315,
"lng": -122.32152152806523
},
{
"lat": 37.87117153710315,
"lng": -122.32089548371735
},
{
"lat": 37.870868098458324,
"lng": -122.32089548371735
},
{
"lat": 37.870868098458324,
"lng": -122.32152152806523
}
]
}
]
}

Export labels

When you export your labels from Tiled Imagery, it will follow the same format as the import format above. The vertex coordinates will be stored and output in latitude/longitude (EPSG4326).

Follow the instructions in Export labels to learn how to export and download your map tile labels.

Was this page helpful?

Contact