Deserializing Partitions with Protocol Buffers
HERE Map Content publishes Protocol Buffers encoded data for all layers except the "Vehicle Regulations - Flag Images" layer. This allows you to use the programming language of your choice to deserialize and access partition payloads. For more information about Protocol Buffers, see https://developers.google.com/protocol-buffers.
Protocol Buffer Runtime Requirement
HERE Map Content requires Protocol Buffer Runtime 3.0.0 or later. The current version of HERE Map Content uses the Proto3 syntax dialect.
Message Structure
Each partition in the HERE Map Content catalog has a top-level message and nested messages that define the structure of the payload. The top-level message and nested messages are packaged together in a layer-specific .proto schema file. This allows you to access each partition payload with a single decode operation. For a listing of top-level messages, see Top Level Messages.
Where common message structures are reused across layers, the protocol buffer "import" facility can be used to access them from common .proto files. For example, many layer schemas import the common.proto file with common Reference messages. For a listing of common messages, see Common Messages.
Downloading the Protocol Buffer Schema Files
The schema files for a given layer are packaged into a single zip archive which you can download from the layer's page in the HERE platform portal. For example, you can get the schema files for the Roads - Navigation Attributes layer here: https://platform.here.com/data/hrn:here:data::olp-here:rib-2/navigation-attributes/schema. The layer's page also provides access to compiled Java and Scala libraries to use with HERE Map Content.
Protocol buffer schema files are updated when new features/attributes are added to HERE Map Content. This results in a schema package version update. The updated schema will have a new artifact ID and HRN in the HERE platform. You will need to update your application to use the latest schema package or payload access libraries in order to access to new features/attributes.
Compression
Partitions are compressed with the GZIP compression scheme. HTTP requests for these files are returned with the HTTP headers Content-Type "application/x-protobuf" and Content-Encoding "gzip". In addition, the layers that use compressed tiles have the same "Content-Type" and "Content-Encoding" values specified in the layer metadata.