CartoType .NET API 8.8-7-gb35e4dc71
for development in C#, Visual Basic and other .NET languages
CartoTypeMetaData.h
1/*
2CartoTypeMetaData.h
3Copyright (C) CartoType Ltd 2021-2022.
4See www.cartotype.com for more information.
5*/
6
7#pragma once
8
9#include "CartoTypeGeometry.h"
10
11using namespace System;
12
13namespace CartoType
14{
15
17public enum class MapTableType
18 {
20 GlobalTable = 0,
22 LayerTable = 1,
30 StringTable = 5,
34 PaletteTable = 7,
40 RouteTableAStar = 10,
42 RouteTableCH = 11,
44 RouteTableExtra = 12,
50 RouteTableTECH = 15,
58 NoTable = 65535
59 };
60
66public enum class PointFormat
67 {
69 Unknown = 0,
70
72 Meter = 2,
73
80 ScaledDegree = 7,
81
86 Meter32nds = 8
87 };
88
90public ref class StringList: List<String^>
91 {
92 };
93
95public ref class MapMetaData
96 {
97 public:
99 property int FileVersionMajor;
101 property int FileVersionMinor;
103 property int CartoTypeVersionMajor;
105 property int CartoTypeVersionMinor;
107 property int CartoTypeBuild;
109 property String^ DataSetName;
111 property String^ Copyright;
113 property String^ ProjectionName;
115 property String^ ProjectionParameters;
117 property StringList^ Layers;
119 property PointFormat PointFormat;
121 property Rect^ ExtentInMapCoords;
123 property Rect^ ExtentInDegrees;
127 property bool RouteDataHasGradients;
129 property bool LargeFile;
131 property bool DrivingSideKnown;
133 property bool DriveOnLeft;
134 };
135
136}
Metadata describing a CTM1 map file.
Definition: CartoTypeMetaData.h:96
StringList^ Layers
The layers.
Definition: CartoTypeMetaData.h:117
int FileVersionMinor
The minor part of the CTM1 format version.
Definition: CartoTypeMetaData.h:101
bool LargeFile
True if file positions in the data file take up 5 bytes rather than 4.
Definition: CartoTypeMetaData.h:129
int CartoTypeBuild
The build (version control revision number) used to build the makemap tool which created the CTM1 fil...
Definition: CartoTypeMetaData.h:107
String^ ProjectionName
The name of the map projection.
Definition: CartoTypeMetaData.h:113
Rect^ ExtentInMapCoords
The axis-aligned bounds of the map, in map coordinates.
Definition: CartoTypeMetaData.h:121
MapTableType RouteTableType
The route table type: one of the constants defined in MapTableType.
Definition: CartoTypeMetaData.h:125
bool DrivingSideKnown
True if the driving side (rule of the road) is known.
Definition: CartoTypeMetaData.h:131
int FileVersionMajor
The major part of the CTM1 format version.
Definition: CartoTypeMetaData.h:99
String^ ProjectionParameters
The Proj4 parameters for the map projection.
Definition: CartoTypeMetaData.h:115
int CartoTypeVersionMajor
The major part of the version of CartoType used to build the makemap tool which created the CTM1 file...
Definition: CartoTypeMetaData.h:103
bool RouteDataHasGradients
True if the route data contains gradients.
Definition: CartoTypeMetaData.h:127
String^ Copyright
The copyright notice applying to the map data.
Definition: CartoTypeMetaData.h:111
Rect^ ExtentInDegrees
The axis-aligned bounds of the map, in degrees of longitude and latitude.
Definition: CartoTypeMetaData.h:123
int CartoTypeVersionMinor
The minor part of the version of CartoType used to build the makemap tool which created the CTM1 file...
Definition: CartoTypeMetaData.h:105
String^ DataSetName
The name of the map data set.
Definition: CartoTypeMetaData.h:109
bool DriveOnLeft
True if the driving side is known and the rule is to drive on the left.
Definition: CartoTypeMetaData.h:133
PointFormat PointFormat
The point format for map coordinates: either Meter or Meter32nds.
Definition: CartoTypeMetaData.h:119
A grid-aligned rectangle with double-precision coordinates suitable for map points.
Definition: CartoTypeGeometry.h:84
A type for lists of strings.
Definition: CartoTypeMetaData.h:91
Definition: CartoTypeWrapper.h:41
MapTableType
Identifiers of tables in CTM1 map files.
Definition: CartoTypeMetaData.h:18
@ RouteTableTECH
The ID of the turn-expanded contraction hierarchy routing data table.
@ RouteTableCHTiled
The ID of the table containing contraction hierarchy routing data that is a tile that can be used wit...
@ Table9Obsolete
The ID of the table containing the obsolete serialised A-star routing network used up to format versi...
@ NoTable
An ID used when no table exists or the table type is unknown.
@ RouteTableTurnExpandedCompact
The ID of the table containing compact turn-expanded routing data, which uses less run-time RAM.
@ RouteTableAStar
The ID of the A-star routing data table.
@ PaletteTable
The ID of the table containing color palettes for raster image objects.
@ Table2Obsolete
The ID of the obsolete text index table.
@ RouteTableCHStandAlone
The ID of the table containing contraction hierarchy routing data that can optionally be used stand-a...
@ GlobalTable
The ID of the global information table.
@ RouteTableTurnExpanded
The ID of the turn-expanded routing data table.
@ ProjectionTable
The ID of the the table containing the map projection.
@ TextIndexTable
The ID of the table containing the text index used when searching for string attributes.
@ Table3Obsolete
The ID of the obsolete projection table used up to CTM1 version 3.0.
@ RouteTableTECHTiled
The ID of the table containing turn-expanded contraction hierarchy routing data that is a tile that c...
@ RouteTableExtra
The ID of the table containing extra information used for A-star routing.
@ LayerTable
The ID of the table containing the layers containing the map objects; see also KLowResolutionLayerTab...
@ LowResolutionLayerTable
The ID of the table containing layer data containing map objects at lower resolutions,...
@ RouteTableCH
The ID of the contraction hierarchy routing data table.
@ StringTable
The ID of the table of compressed strings referenced by the map objects.
PointFormat
The format used for points in CTM1 data. These numbers must fit into 8 bits for the moment because of...
Definition: CartoTypeMetaData.h:67
@ ScaledDegree
Units are degrees as 11.21 fixed-point numbers. That is, there are 2^21 (2097152) units to a degree....
@ Meter
Units are projected map meters.
@ Meter32nds
Units are 32nds of projected map meters. This is the default format for CTM1 data.
@ Unknown
An arbitrary or unknown point format.