7 Data Structures
This section provides information on the core data structures/data models that are used by this Building Block.
Last updated
This section provides information on the core data structures/data models that are used by this Building Block.
Last updated
Copyright © 2024
The diagram below illustrates the proposed resource model that demonstrates the connections between data objects that the GIS Building Block uses. The resource models are represented by a UML class diagram. The GIS building block specification likely has many relationships between different resource types, such as layers, symbologies, and bookmarks. The class diagram concisely represents the structure and relationship between objects in the resource model.
Field | Type | Description | Notes |
---|---|---|---|
Title | String | The title of the map display. | refer to OGC API Common https://ogcapi.ogc.org/common/ |
Description | String | A summary description of the map display, purpose and contents | refer to OGC API Common https://ogcapi.ogc.org/common/ |
Attribution | String | Information or credits displayed on the map | refer to OGC API Common https://ogcapi.ogc.org/common/ |
AccessControl | Boolean | Permissions or access restrictions for the map | refer to OGC API Map Part II: https://docs.ogc.org/is/18-058/18-058.html |
EndPoint | String{url} | The URL or endpoint to access the API | refer to OGC API Map Part II: https://docs.ogc.org/is/18-058/18-058.html |
CRS | String{coded_domain} | Code for the spatial reference system used by the map | refer to OGC API Map Part II: https://docs.ogc.org/is/18-058/18-058.html |
Center_X | Real | The longitude coordinate of the center point of the map | Optional |
Center_Y | Real | The latitude coordinate of the center point of the map | Optional |
Bounds_MinX | Real | The longitude coordinate of the lower left point of the map bounding box | |
Bounds_MinY | Real | The latitude coordinate of the lower left point of the map bounding box | |
Bounds_MaxX | Real | The longitude coordinate of the upper right point of the map bounding box | |
Bounds_MaxY | Real | The latitude coordinate of the upper right point of the map bounding box |
Field | Type | Description | Notes |
---|---|---|---|
Zoom | Boolean | Specifies if zooming is supported | |
ZoomLevel | Integer | The available zoom levels for the map | refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.html |
Pan | Boolean | Specifies if panning is supported |
Field | Type | Description | Notes |
---|---|---|---|
Name | String | Title or name given to the bookmark | |
Create | Integer | Specifies if creating bookmarks is supported. | |
Remove | Boolean | Specifies if removing bookmarks is supported | |
Rename | Boolean | Specifies if renaming bookmarks is supported | |
Zoom to | Boolean | Specifies if zooming to bookmark extents is supported | |
MinX | Real | The longitude coordinate of the lower left point of the spatial extent captured by the bookmark | filled only when the spatial bookmark "Create" is True |
MinY | Real | The latitude coordinate of the lower left point of the spatial extent captured by the bookmark | filled only when the spatial bookmark "Create" is True |
MaxX | Real | The longitude coordinate of the upper right point of the spatial extent captured by the bookmark | filled only when the spatial bookmark "Create" is True |
MaxY | Real | The latitude coordinate of the upper right point of the spatial extent captured by the bookmark | filled only when the spatial bookmark "Create" is True |
Field | Type | Description | Notes |
---|---|---|---|
Creator | String | Name or identifier of the use who created the note | |
Content | String | The content of text of the map note | |
TimeSatmp | Date | The timestamp indicating when the note was create | |
Add | Boolean | Specifies if adding a map note is supported | |
Delete | Boolean | Specifies if deleting a map note is supported | |
View | Boolean | Specifies if viewing the content of a map note is supported | |
Visible | Boolean | Specifies if marking a map note on the map supported | |
X | Real | The longitude coordinate of the map note label on the map display | filled only when the visibility of the map note is True |
Y | Real | The latitude coordinate of the map note label on the map display | filled only when the visibility of the map note is True |
Field | Type | Description | Notes |
---|---|---|---|
Distance | Boolean | Specifies if measuring distances is supported | |
Area | Boolean | Specifies if measuring areas is supported |
Field | Type | Description | Notes |
---|---|---|---|
Visible | Boolean | Specifies if ToC is visible or hidden | |
LayerOrder | Array | Contains the layer IDs or names in the desired order, indicating how the layers should be displayed in the table of contents | The position of each layer in the array determines its placement in the table of contents, with the first element being the topmost layer and the last element being the bottommost layer |
Field | Type | Description | Notes |
---|---|---|---|
Title | String | Title or name of the theme that the layer presents | |
Description | String | A summary description of the layer, purpose and contents | refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.html |
Geometry | Object | An object representing the geometric shape and underlying coordinates and rules for point, line, polygon, curve GIS features, or none. | If none, it is considered a non-spatial attribute table |
Visible | Boolean | Specifies if the layer is visible or hidden on the map display | |
Selectable | Boolean | Specifies if the layer is selectable on the map display | |
Queryable | Boolean | Specifies if the layer can be queried | |
Editable | Boolean | Specifies if the layer is editable | |
Attribute 1 | "variable" | Represents a descriptive information or characteristic associated with geographic features represented by the layer theme | The data type assigned will depend of the attribute type |
..................... | ..................... | ..................... | ..................... |
Attribute n | "variable" | Represents a descriptive information or characteristic associated with geographic features represented by the layer theme | the data type assigned will depend on the attribute type |
Field | Type | Description | Notes |
---|---|---|---|
Title | String | Title or name of the theme that the table presents | |
Description | String | A summary description of the Table, purpose and contents | refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.html |
Queryable | Boolean | Specifies if the table can be queried | |
Editable | Boolean | Specifies if the table is editable | |
Attribute 1 | "variable" | Represents a descriptive information or characteristic associated with records represented by the layer theme | The data type assigned will depend of the attribute type |
..................... | ..................... | ..................... | ..................... |
Attribute n | "variable" | Represents a descriptive information or characteristic associated with the records represented by the layer theme | the data type assigned will depend on the attribute type |
Field | Type | Description | Notes |
---|---|---|---|
MinScale | Integer | Specifies the minimum scale to show the layer's feature on map display | If set, the layer features disappear from the map display once zoom into beyond the minimum scale limit |
MaxScale | Integer | Specifies the minimum scale to show the layer's feature on map display | If set, the layer features disappear from the map display once zoom out beyond the maximum scale limit |
Field | Type | Description | Notes |
---|---|---|---|
Name | String | The name or identifier of the style applied to the layer | Styles define the symbology and map legends assigned to layers |
Description | String | Text description of properties or parameters specific to the style | Refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.html |
Type | String (coded_domain) | A keyword or code to call a predefined style of version in defined or served by OGC API Styles | Style codes or identifiers can be fetched through GC API Styles Part I - check https://developer.ogc.org/api/styles/index.html |
Field | Type | Description | Notes |
---|---|---|---|
Type | String (coded_domain) | A domain code specifying whether the client data viewer is desktop, mobile, web browser, or unknown. | The type of client accessing GIS APIs, may have some implications in terms of interactivity and user experience (navigation, layer manipulation, etc.) |
Field | Type | Description | Notes |
---|---|---|---|
Name | String | Title of the dataset or feature | |
Abstract | String | Abstract description of the dataset or feature | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
Author | String | Author description | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
Geometry | String {coded_domain} | Codes representing the geometry type of the layer (point, line, polygon, non-spatial) | |
Keywords | String | Keywords associated with the dataset or feature | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
Snippet | Object | Snippet or summary of the dataset or feature | |
SpatialExtent | Array | Coordinates (lat & long) of the points defining the bounding box of the layer | |
LastUpdated | Date | Timestamp of the last update of the layer |
Field | Type | Description | Notes |
---|---|---|---|
Name | String | Title of the dataset or feature | |
Abstract | String | Abstract description of the dataset or feature | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
Author | String | Author description | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
Keywords | String | Keywords associated with the dataset or feature | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
LastUpdated | Date | Timestamp of the last update of the table |
Field | Type | Description | Notes |
---|---|---|---|
Type | String {coded_domain} | Type of the query, either "ad hoc" or "predefined." | |
QueryFormat | String | Format of the query (e.g., JSON, XML, SQL). | |
QueryString | String | The query expression (e.g., SQL) | |
TimeStamp | Date | Date and time when the query was executed or created | |
Name | String | Title or description of the query | Optional (only required for predefined query) |
Field | Type | Description | Notes |
---|---|---|---|
LayerType | Geometry | Type of the queried GIS layers (point, polygon, or line) | |
SpatialRelation | String {coded_domain} | Indicates the spatial relationship used in the query (e.g., "intersects," "contains," "within"). | |
Longitude | Real | Represents the longitude value for the location in the query. | Optional: Required only if the queried geographic feature is represented by ONE POINT |
Latitude | Real | Represents the latitude value for the location in the query. | Optional: Required only if the queried geographic feature is represented by ONE POINT |
Distance | Real | Represents the distance used in the spatial query | Optional: Required only if the query requires a specification of a distance (e.g., bugger distance) |
Field | Type | Description | Notes |
---|---|---|---|
AttributeName | String | Name of the attribute being queried (e.g., "population," "temperature," "category"). | |
Operator | String | Indicates the comparison operator used in the attribute query (e.g., "=", ">", "<=", "LIKE"). | The values for this attribute should follow the standard comparison operators |
Value | String or Numeric | Represents the value used in the attribute query for comparison. | The data type of the Value attribute should match the data type of the attribute being queried. For example, if the AttributeName is "population" and the population values are stored as integers, the Value should also be of integer data type. |
DiscoveryQuery
Field | Type | Description | Notes |
---|---|---|---|
AttributeName | String | Contains the keywords or search terms used for discovering metadata information | This attribute will typically store a comma-separated list of keywords or a single string representing the search terms. |
QueryResult
Field | Type | Description | Notes |
---|---|---|---|
QueryType | String {coded_domain} | The type of query that generated this result | Coded values will include "Locational Query," "Attribute Query," and "Metadata Discovery Query," |
QueryStatus | String {coded_domain} | Represents the status of the query result | Possible values could be "Success," "Partial Result," "No Results Found," "Error," etc. |
TimeStamp | Date | Represents the date and time when the query result was generated |
Field | Type | Description | Notes |
---|---|---|---|
Name | String | Name or label of the GIS datastore | |
Description | String | A detailed description of the GIS data store | |
Provider | String | Provider or source of the GIS data store | |
ConnectionString | String | Connection string required to access the GIS data store | |
AccessRestrictions | Boolean | Enable or disable access restrictions or permissions required to use the GIS data store | |
UpdateFrequency | String | Description of how often the GIS data store is updated or refreshed with new data |
Field | Type | Description | Notes |
---|---|---|---|
Name | String | Title of the datastore | |
Source | String | Source/Publisher of the datastore | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
Description | String | Description of the datastore | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
Keywords | String | Keywords associated with the datastore | Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.html |
LastUpdated | Date | Timestamp of the last publishing date of the datastore |
Field | Type | Description | Notes |
---|---|---|---|
Username | String | Username for authentication | |
Password | String | The password associated with the username for authentication to the GIS data store | |
EditorPermissions | String {coded_value} | Codes depicting access control level over editing capabilities provided by the service (view, edit, delete, no edits) | |
EditorTracking | Boolean | Whether or not it should record who created or updated features and when they did it (providing accountability for the edits) | Optional |
OwnerControl | Boolean | Limits access to geographic features based on who created them. | Optional |
Field | Type | Description | Notes |
---|---|---|---|
EditType | String {coded_value} | Type of editing operation (create, update, delete) | |
TimeStamp | String | Timestamp indicating when the edit was made |
Field | Type | Description | Notes |
---|---|---|---|
SourceDataStore | String {url} | Links the replica to the source GIS Datastore. | |
TargetDataStore | String {url} | Links the replica to the target GIS Datastore. | |
ReplicaType | String {coded_value} | Type of replica operation (creation, synchronization, extraction). |
Field | Type | Description | Notes |
---|---|---|---|
Address | String | Address information for geocoding or reverse geocoding. | |
Longitude | Real | Longitude coordinate for the address | Used for Reverse Geocoding |
Latitude | Real | Latitude coordinate for the address | Used for Reverse Geocoding |
Field | Type | Description | Notes |
---|---|---|---|
Alias | String | Alias or potential alternative address for the Address Data | An address may have 0 to n aliases |
Field | Type | Description | Notes |
---|---|---|---|
FormatingName | String | Name of the address format | |
CountryCode | String {coded_value} | Country code for the address format | Optional |
FormatString | String | Format string representing the structure of the address |
Field | Type | Description | Notes |
---|---|---|---|
BatchType | String {coded_value} | Code representing whether the batch performs geocoding or reverse geocoding | |
BatchName | String | Name of the geocoding batch | |
Status | String {coded_value} | Status of the geocoding batch (e.g., processing, completed) | |
TimeStamp | Date | Date and time of when the geocoding batch was completed. |
Field | Type | Description | Notes |
---|---|---|---|
ProcessingName | String | Name of the geoprocessing task | |
Description | String | Detailed information that describes the geoprocessing task | |
Parameters | Array | Array of input and output parameters that are needed to execute the geoprocessing job (parameter name, value, code represents whether it is input or output parameter, and default value) | Refer to OGC API Processes: https://ogcapi.ogc.org/processes/ |
Field | Type | Description | Notes |
---|---|---|---|
Status | String {coded_value} | Status of the geoprocessing task execution (e.g., running, completed) | |
StartTime | Date | Timestamp indicating the start time of the geoprocessing task execution | |
EndTime | Date | Timestamp indicating the end time of the geoprocessing task execution | |
Result | Object | Result of the geoprocessing task execution | GIS layers, attributes, or information generated when executed successfully |
Field | Type | Description | Notes |
---|---|---|---|
Title | String | Title/name of the map report | |
Abstract | String | A brief summary or abstract of the map report and its purpose | |
Author | String | The name of the author or creator of the report. | |
Keywords | String | Keywords or tags associated with the report. | |
LastUpdated | Date | The date and time when the report was created or last updated. |
Field | Type | Description | Notes |
---|---|---|---|
Status | String {coded_value} | Status of the report in the queue (e.g., pending, processing, completed). | |
Priority | String {coded_value} | The priority level of the report in the queue (high, normal, low) | |
Recurring | Boolean | Indicates if the report is a recurring task | |
Interval | String | Time interval for recurring reports | Active only when Recurring is True |
StartTime | Date | Timestamp indicating the start time of the report processing | |
EndTime | Date | Timestamp indicating the end time of the report processing |
Field | Type | Description | Notes |
---|---|---|---|
ResourceName | String | Name of the Resource | |
ResourceType | String {coded_value} | Type of the Resource (e.g., symbology, charts, north arrows, scale bar, etc.) |
Field | Type | Description | Notes |
---|---|---|---|
SymbolType | String {coded_value} | Type of the symbol (e.g., Dot Density Maps, Graduated Color, Graduated/Proportional Symbol, etc.) | |
SymbolColor | String {coded_value} | Color code of the symbol | |
Transparency | Float | Transparency level of the symbol |
Field | Type | Description | Notes |
---|---|---|---|
LabelText | String | Text of the Label | |
PositionX | Real | X-coordinate position of the Label on the map report | |
PositionY | Real | Y-coordinate position of the Label on the map report | |
Font | String {coded_value} | Font of the Label | |
Size | Integer | Size of the Label | |
Color | String {coded_value} | Color of the Label |
Field | Type | Description | Notes |
---|---|---|---|
Title | String | Title of the chart | |
Type | String {coded_value} | Type of the chart (e.g., bar chart, histogram, etc.) | |
Data | Blob | Data of the chart |
Field | Type | Description | Notes |
---|---|---|---|
Title | String | Name of the Legend | |
PositionX | Real | X-coordinate position of the Legend on the map | |
PositionY | Real | Y-coordinate position of the Legend on the map | |
Font | String {coded_value} | Font of the Legend | |
Size | Integer | Size of the Legend font | |
Color | String {coded_value} | Color of the Legend |
Field | Type | Description | Notes |
---|---|---|---|
Title | String | Name of the scale bar | |
Style | String {coded_value} | Type and style of the scale bar (linear, graphic, etc.) | |
Length | Float | Length of the scale bar on the map report | |
Units | String | Units of measurement for the scale bar | |
PositionX | Real | X-coordinate position of the scale bar on the map | |
PositionY | Real | Y-coordinate position of the scale bar on the map Legend on the map | |
Font | String {coded_value} | Font of the Scale Bar | |
Size | Integer | Size of the Scale Bar | |
Color | String {coded_value} | Color of the Scale Bar |
Field | Type | Description | Notes |
---|---|---|---|
Title | String | Name of the north arrow | |
Style | String {coded_value} | Type and style of the north arrows (simple, arrow with N, etc.) | |
Length | Float | Length of the North Arrow on the map report | |
Units | String | Units of measurement for the north arrow | |
PositionX | Real | X-coordinate position of the north arrow on the map | |
PositionY | Real | Y-coordinate position of the north arrow on the map | |
Font | String {coded_value} | Font of the North Arrow | |
Size | Integer | Size of the North Arrow | |
Color | String {coded_value} | Color of the North Arrow |
Field | Type | Description | Notes |
---|---|---|---|
Name | String | Name of the Geofence | |
Shape | String {coded_value} | Shape of the Geofence (e.g., circle, polygon). | |
Size | Float | Size of the Geofence, representing the radius for a circular Geofence or the area for a polygon Geofence | |
Status | Boolean | Indicates if the Geofence is activated or deactivated |
Field | Type | Description | Notes |
---|---|---|---|
ElementType | String {coded_value} | Type of the tracked element (e.g., vehicle, device, asset, person). | |
TrackingMethod | String {coded_value} | Method of tracking (GPS Coordinates, RFID tags, etc.) |
Field | Type | Description | Notes |
---|---|---|---|
ActionType | String {coded_value} | Type of action to be performed (e.g., send notification, execute command). | |
Action | String {coded_value} | Description and details or parameters related to the action |
Field | Type | Description | Notes |
---|---|---|---|
NotificationType | String {coded_value} | Type of notification (e.g., push notification, SMS, email). | |
Recipient | String | Recipient's contact information (e.g., email address, phone number). | |
RecipientType | String {coded_value} | Type of recipient (e.g., user, group) |
Field | Type | Description | Notes |
---|---|---|---|
StartNode | Object | Geographic feature representing the starting point of the route | |
EndNode | Object | Geographic feature representing the ending point of the route | |
PassThrough | Boolean | Indicates whether the route should pass through intermediate points | |
Restrictions | String | Specifies any restrictions or obstacles to avoid along the route | |
AdditionalParameters | String | Additional routing rules and parameters for the route |
Field | Type | Description | Notes |
---|---|---|---|
Longitude | Real | Longitude coordinate of the node | |
Latitude | Real | Latitude | |
Order | Integer | Order of the node in the route sequence |
Field | Type | Description | Notes |
---|---|---|---|
StartNode | Object | Geographic feature representing the starting point of the route segment | |
EndNode | Object | Geographic feature representing the ending point of the route segment | |
Length | Float | Length of the route segment |
Field | Type | Description | Notes |
---|---|---|---|
Shape | String {coded_value} | Shape of the service area (e.g., circle, polygon). | |
Size | Float | Size of the service area, representing the radius for a circular service area or the area for a polygon |