Table of Contents
Tiled Imagery
Updated
by Alex Cota
Tile Imagery uses a Slippy Map tool 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.
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.
- Only supported in the Legacy editor
Parameters
| URL where map data is hosted. Must be in the following format: |
| The bounds where the projection is valid. Top left and bottom right coordinates (x,y) or (lat, lng). |
| Minimum map zoom level down to which this layer will be displayed (inclusive). |
| Maximum map zoom level up to which this layer will be displayed (inclusive). |
| Maximum zoom number the tile source has available ( |
| Structured dataset of coordinate reference systems and coordinate transformations. Can be |
(optional) | Additional tile layers. If no values for optional parameters are given, those values will default to the top-level keys.
|
Basic setup
- Create a project.
- 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.
- Configure your ontology.
- Click "confirm" and "complete setup".
Advanced setup
Labeling large imagery
[
{
"tileLayerUrl": "https://labelbox.s3-us-west-2.amazonaws.com/pathology/{z}/{x}/{y}.png",
"minZoom": 1,
"maxZoom": 8.5,
"bounds": [
[0, 0],
[135, 128]
],
"epsg": "Simple"
},
{
"tileLayerUrl": "https://s3-us-west-2.amazonaws.com/labelbox/tiler/efb292d2a04e/{z}/{x}/{y}.png",
"minZoom": 5,
"maxZoom": 8,
"bounds": [
[0, 0],
[120, 130]
],
"epsg": "Simple"
}
]
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.
Sample import #1
[
{
"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"
}
]
}
]
Sample import #2
[
{
"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 Legacy 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, 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
}
]
}
]
}
Add attachments
This sample JSON includes a TEXT
attachment in an import file formatted for Tiled Imagery.
[
{
"tileLayerUrl": "https://public-tiles.dronedeploy.com/1499994155_DANIELOPENPIPELINE_ortho_qfs/{z}/{x}/{y}.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wdWJsaWMtdGlsZXMuZHJvbmVkZXBsb3kuY29tLzE0OTk5OTQxNTVfREFOSUVMT1BFTlBJUEVMSU5FX29ydGhvX3Fmcy8qIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoyMTQ1OTE0MTE4fX19XX0_&Signature=O~50rrGXdEC6Hi8jPJ3dbT~UtBd7Cw6iQPTxdJ8LU2IaoxeP22R3JpKPkLN3T3~Lcw3CyX7uft2Baj0MH93qUoCYyN~~jNX3OMkYV2jbrHDezf6zQRHAabXX-L2bL-JEGfFL6z3DWccOFeCH56CuhgC29k5CJx7I34P-LQJdnAUsA-KaqKH1IyYsHStRIfmMzdXNAWU58FTfqVljq9SbKXxfgdr2SZ~7VgLaZ8IhA0WnlKUo-JgqTd~jYa5mGCpR8351IMK0aMuY4Mld4SOXssQ-rOtlZtypvo8FDp474TlGIEGz5PHxGOPsqLPF19hEYTgoPqsUj8QEuiTfg-cmsg__&Key-Pair-Id=APKAJXGC45PGQXCMCXSA",
"bounds": [
[
37.87488726890353,
-122.32488870620728
],
[
37.87280390440759,
-122.32154130935669
]
],
"minZoom": 10,
"maxZoom": 23,
"epsg": "EPSG4326",
"attachments": [
{
"type": "TEXT",
"value": "Test Input"
}
]
}
]
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. To see a sample JSON export see, Label export formats.