This article describes supported formats and limits for source data that's uploaded to Google Maps Engine. It also describes maximum limits, if any, for features uploaded and displayed in Google Maps Engine. The Google Maps Engine API has different limits. See the Google Maps Engine API documentation for these limits.
- Limits for Google Maps Engine features
- Vector files: supported formats and limits
- Image files: supported formats and limits
- KML files: upload behavior
Limits for Google Maps Engine features
Layers in a map 100 Simultaneously visible layers in a 2D map Maps API and clients built on the API (including Google's 2D map viewer) limit the number of simultaneously visible layers to 15. This number includes layers inside folders. Simultaneously visible layers in a 3D map (globe) Maps Engine does not limit the number of layers. However, clients can display only a limited number of layers while providing a good user experience. In Google Earth, that limit is usually five or six. Vector data sources in a layer 1 Imagery data sources in a layer 200,000 KML data sources in a layer 1 Display rules in a layer 200
Folders for layers
Folders in a map 10 Number of layers in a folder There is no limit to the number of layers in a folder. However, only 15 vector layers can be concurrently viewed in a map. Therefore, if a folder is locked such that all the layers in it must be displayed together, it must have 15 or fewer. If it has more than 15, none will be viewable. Size of a folder No limit Number of nested folders allowed 2 Number of folders to which a layer can be added No limit
Images in a mosaic 200,000 Total size of an imagery mosaic 500 GB uncompressed. Each image in the mosaic must comply with the limitations documented in Image Files: Supported Formats and Limits.
Asset names and descriptions
Names Number of characters 128 Permitted characters Characters in one of the following encodings: UTF-8, CP1251, ISO 8859-1, Shift_JIS. Must match source encoding specified in the Upload dialog. Descriptions Number of characters 1024 Permitted characters Characters in one of the following encodings: UTF-8, CP1251, ISO 8859-1, Shift_JIS. Must match source encoding specified in the Upload dialog.
Number of characters 50 Permitted characters Any characters in the UTF-8 character set Tags per asset 25 Tags per account 5,000
Number of characters 256 Permitted characters Any
Custom icons in a layer 24 Image size 32 x 32 pixels or smaller File size Less than 100,000 bytes Format .png, .gif, or .bmp Color model RGB or RGBA
Vector files: supported formats and limits
Vector source files can be in one of these formats:
File Extension Type Details .shp ESRI shapefiles The .shp file must have an associated .shx and .dbf file. Optional files of type .prj and .shp.xml are supported. .csv Comma-separated data files A .csv file must have an associated .vrt file. See VRT File Example. .kml or .kmz KML files See KML Files: Upload Behavior. .tab MapInfo TAB files A .tab file must have associated .dat, .id, and .map files. Optional files of type .ind are supported.
Size and feature limits
The following table lists maximum sizes related to upload and display of vector source files using the Google Maps Engine user interface. This table contains limits that are guaranteed to be supported by the Google Service Level Agreement (SLA). Google Maps Engine may permit upload of datasets larger than these limits, but larger values are not covered by the SLA and are deemed “experimental.” Experimental limits may increase over time.
The Google Maps Engine API has different limits. See the Google Maps Engine API documentation for these limits.
Size of a vector source file 1 GB Number of features 3,000,000 Number of attributes 550 Length of an attribute name 64 characters Length of an attribute value 4000 characters Vertices per feature 100,000 Total number of vertices for all features 15,000,000
The text for attributes in a vector data source can be encoded in UTF-8, Shift-JIS, or ISO-8859-1 representation. Maps Engine converts all text to UTF-8 encoding during ingestion processing.
If there’s a discrepancy between the encoding type that you indicate at upload and the content of the file, a high “Bad feature” count appears on the Data details page for the data source. You can create layers and then maps from the data source, but features will be missing.
Google Maps Engine supports upload of all projections supported by GDAL. Vectors are stored as WGS84 and projected to WGS84 (EPSG 4326) for Google Earth and Mercator (EPSG 3857) for Google Maps.
KML source data must use WGS84 projection.
For shapefiles and CSV files, the supported geometries are points and multi-points, lines and multi-lines, and polygons and multi-polygons.
For KML files, the geometry can be a single
<Polygon>, or multiple of those geometries as contained in a <MultiGeometry> element. The first
<Geometry> element in the file defines the geometry type for the rest of the file.
Supported styles are outlined and filled polygons, solid lines, icons, labels, and opacity.
During the ingestion process, Google Maps Engine rejects a vector file if it encounters problems with half the number of features, or 100 features, whichever is smaller. In some cases, Google Maps Engine fixes the problem for you.
A VRT file must accompany a CSV file. See VRT File Example for details about creating VRT files and the restrictions that apply to them.
Image files: supported formats and limits
Google Maps Engine accepts the following imagery formats, with associated (sidecar) file types:
Extension File Type .jpeg, .jpg JPEG .jpg2 JPEG2000 .tif, .tiff GeoTIFF, TIFF .sid MrSID .png Portable Network Graphics
Maps Engine uploads files only if they are 10GB or smaller.
Browsers may impose additional restrictions, and those are often as low as 2GB. If you experience upload problems, try switching to the Google Chrome or Safari browsers, which have higher limits on some platforms.
For processing, images must be 100GB or smaller, uncompressed. For some formats, a compressed file of 10GB is equivalent, but for the highly compressed MrSID format, the compressed file would need to be smaller.
To determine the uncompressed size of a compressed source file, use the following formula. The numerator provides the uncompressed size in bytes, and the denominator converts the result into gigabytes.
( (w*h)*b ) / 1,073,741,824 = uncompressed-size-in-GB
In this formula:
wis the imagery width in pixels
his the imagery height in pixels
bis the number of bands
1,073,741,824is the number of bytes in a gigabyte
Google Maps Engine supports upload of all projections supported by GDAL. Images are stored in the World Geodetic Survey (WGS84) standard and projected to WGS84 (EPSG 4326) for Google Earth and Mercator (EPSG 3875) for Google Maps.
Google Maps Engine supports all resolutions from more than 1 kilometer per pixel (coarse resolution) to 1.8 cm per pixel (fine resolution). If you upload data with a resolution finer than 1.8 cm per pixel, Maps Engine downsamples it to 1.8 cm.
KML files: upload behavior
When you upload a KML file to Google Maps Engine, you have two choices:
- Upload the KML file directly, to be hosted as is. In this case, Google Maps Engine supports all KML elements, and there is no limit to the size of a KML source file (see Using KML Data Sources). The only restrictions are on the client side and apply only if your users will be using Google Maps to view KML layers. For more information about Google Maps support for KML, see the overview of Google Maps support.
- Convert the KML file to a Google Maps Engine vector layer when you upload it. In this case, anything in the KML file that isn’t a Point/Line/Polygon placemark is discarded, and styling is assigned in Google Maps Engine. The advantage of this method is that the KML data is exposed for access by the Google Maps Engine API, and it can be styled as a vector layer.
At ingest time, Maps Engine scans for
<Placemark> elements and uses the geometry type in the first
<Placemark> to define the geometry type to which subsequent placemarks must conform. The geometry type must be
<Polygon>; or a
<MultiGeometry> that contains multiple of one of the primitive geometry types.
Maps Engine does not support hierarchy or preserve
<Folder> but instead extracts
<Placemark> from the source.
<Schema> exists, Maps Engine uses each of its
<SimpleField> elements to define one vector attribute. Maps Engine maps the types specified by
<SimpleField> elements to the vector attribute types string, numeric, or datetime. If there are multiple
<Schema> elements, the first is used.
<Document> does not contain a
<Schema> element, the first
<Placemark> is used as a template. When Maps Engine processes the first
- If there’s a
<name>element, a vector attribute called
- If there’s a
<description>element, a vector attribute called
- For each
<ExtendedData>, Maps Engine creates a vector attribute.