This repository hosts the specification for the Cartographic Information Model
This repository hosts the specification for the Cartographic Information Model (CIM) which is a map content specification used to persist and transfer cartographic descriptions of GIS datasets. Represented in JSON, the specification is used for maps, scenes, layouts, layers, symbols, and styles in ArcGIS applications and APIs.
Usage of the CIM primarily begins with an entry point through a primary object. These objects are:
mapType
property. Types of scenes, global and local, are differentiated by the defaultViewingMode
property.This CIM specification is documented via Markdown documents that contain definitions for objects and their properties. JSON lacks an inheritance mechanism and CIM implementations often deal with many abstract types using inheritance. Additionally, JSON has one numeric type, but typed languages typically differentiate various integer and floating-point types. The formatting of the Markdown reflects these realities in the following ways:
short
, long
, long long
, float
, and double
corresponding to 16-bit integer, 32-bit integer, 64-bit integer, single-precision floating-point, and double-precision floating-point types respectively.any
may be any basic JSON type: string
, number
, boolean
, or null
.The Cartographic Information Model uses Semantic Versioning and this documentation corresponds to the current latest version: 3.2.0. The final version of the previous major release series (2.9.0) can be found at docs/v2/.
See License
You are invited to fork this repository to a public or private repository and to send Pull Requests suggest improvements or notify us of errors or omissions in this documentation. Creating a fork solely for this purpose does not constitute the creation and distribution of a derivative work. Please see our guidelines for contributing.