MFS - Map File Service Development Guide
Current MFS version: 1.2.0
The Map File Service provides a service to list, view, create, and modify mapfiles as well as a service to get, create, and delete supporting files.
Requests available for each version:
1.0.0: GetMapFile, PutMapFile, ListMapFiles (list by app key)
1.1.0: GetMapFile, PutMapFile, ListMapFiles (list by app key, list by project, list by mapfile), GetFile
1.2.0: GetMapFile, PutMapFile, ListMapFiles (list by app key, list by project, list by mapfile) , GetFile, PutFile, DeleteFile
File types supported for GetFile, DeleteFile, and PutFile:
jpg, png, svg, ttf, font, sym, js
MFS ListMapFiles request by appkey
An operation which lists all map files available on the server in a metadata document for a specific AppKey.
Required parameters:
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (ListMapFiles)
version: protocol (MFS) version number (1.0.0, 1.1.0, 1.2.0)
URL example:
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.1.0&request=ListMapFiles
Output example :
{
"response": "success",
"message": [
{
"project": "tests",
"id": 2,
"map_name": "osm-tests-wfs",
"map_description": "OSM map test",
"service_id": 7,
"enabled_flag": true,
"create_user": "DB0400",
"create_timestamp": "2021-04-13T09:41:00",
"last_update_user": "unit-test",
"last_update_timestamp": "2021-08-20T10:11:27",
"map_project_id": 1,
"map_editable": false,
"app_enabled": true,
"support_files": [
{
"ms_errorfile": "osm-tests-wfs.log",
"fontset": {},
"symbolset": {},
"headers": null,
"templates": null,
"footers": null
}
]
},
...
{
"project": "attca",
"id": 371,
"map_name": "attca-plant",
"map_description": "ATT plant map for WMTS",
"service_id": 7,
"enabled_flag": true,
"create_user": "DB0400",
"create_timestamp": "2022-09-26T16:39:40",
"last_update_user": "DB0400",
"last_update_timestamp": "2022-09-26T16:39:40",
"map_project_id": 8,
"map_editable": true,
"app_enabled": true,
"support_files": [
{
"ms_errorfile": null,
"fontset": null,
"symbolset": null,
"headers": null,
"templates": null,
"footers": null
}
]
},
{
"project": "demo",
"id": 372,
"map_name": "dannys-changed-map",
"map_description": "This is a test map updated",
"service_id": 7,
"enabled_flag": true,
"create_user": "DB0095",
"create_timestamp": "2022-10-05T12:56:16",
"last_update_user": "DB0095",
"last_update_timestamp": "2022-10-05T13:01:30",
"map_project_id": 12,
"map_editable": null,
"app_enabled": true,
"support_files": [
{
"ms_errorfile": null,
"fontset": null,
"symbolset": null,
"headers": null,
"templates": null,
"footers": null
}
]
},
{
"project": "tests",
"id": 373,
"map_name": "my-new-map-testing1",
"map_description": "This is a new test map for QA",
"service_id": 7,
"enabled_flag": true,
"create_user": "DB0400",
"create_timestamp": "2022-10-10T13:50:58",
"last_update_user": "DB0400",
"last_update_timestamp": "2022-10-10T13:50:58",
"map_project_id": 1,
"map_editable": null,
"app_enabled": true,
"support_files": [
{
"ms_errorfile": null,
"fontset": null,
"symbolset": null,
"headers": null,
"templates": null,
"footers": null
}
]
},
{
"project": "pge",
"id": 376,
"map_name": "pge-plant-wms",
"map_description": "PGE Plant map",
"service_id": 7,
"enabled_flag": true,
"create_user": "DB0400",
"create_timestamp": "2022-10-15T00:01:37",
"last_update_user": "DB0400",
"last_update_timestamp": "2022-10-15T00:01:37",
"map_project_id": 15,
"map_editable": null,
"app_enabled": true,
"support_files": [
{
"ms_errorfile": null,
"fontset": null,
"symbolset": null,
"headers": null,
"templates": null,
"footers": null
}
]
}
]
}
MFS ListMapFiles request by project
An operation which lists all map files available on the server in a metadata document for a specific AppKey.
Required parameters:
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (ListMapFiles)
version: protocol (MFS) version number (1.1.0)
project: name of directory where mapfile exists
URL example:
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.1.0&request=ListMapFiles&project=tests
Output example :
{
"response": "success",
"message": [
{
"project": "tests",
"mapfile": "test-stringify.map",
"supporting files": {
"ms_errorfile": null,
"fontset": {},
"symbolset": {},
"headers": null,
"templates": null,
"footers": null
}
},
{
"project": "tests",
"mapfile": "map-test-edit-name.map",
"supporting files": {
"ms_errorfile": "osm-tests-wms.log",
"fontset": "/img/shared/shared.font",
"symbolset": "/img/shared/shared.sym",
"headers": null,
"templates": [
"osm-tests-wms.html"
],
"footers": null
}
},
{
"project": "tests",
"mapfile": "osm-tests-wfs.map",
"supporting files": {
"ms_errorfile": "osm-tests-wfs.log",
"fontset": {},
"symbolset": {},
"headers": null,
"templates": null,
"footers": null
}
},
...
{
"project": "tests",
"mapfile": "osm-tests-wms.map",
"supporting files": {
"ms_errorfile": "osm-tests-wms.log",
"fontset": "/img/shared/shared.font",
"symbolset": "/img/shared/shared.sym",
"headers": null,
"templates": [
"osm-tests-wms.html"
],
"footers": null
}
}
]
}
MFS ListMapFiles request by mapfile
An operation which lists all map files available on the server in a metadata document for a specific AppKey.
Required parameters:
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (ListMapFiles)
version: protocol (MFS) version number (1.1.0)
project: name of directory where mapfile exists
map: name of mapfile to be used in request
URL example:
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.1.0&request=ListMapFiles&map=osm-tests-wms&project=tests
Output example :
{
"response": "success",
"message": {
"mapfile": "osm-tests-wms.map",
"supporting files": {
"ms_errorfile": "osm-tests-wms.log",
"fontset": "/img/shared/shared.font",
"symbolset": "/img/shared/shared.sym",
"headers": null,
"templates": [
"osm-tests-wms.html"
],
"footers": null
}
}
}
MFS GetMapFile request
An operation which returns the map file as text
The following formats can be an output of the GetMap request:
Plain Text: format=text/plain (this is default)
JSON: format=application/json
Required parameters:
project: name of directory where mapfile exists
map: name of mapfile to be used in request
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (GetMapFile)
version: Maptimus 2 service (MFS) version number (1.0.0)
Optional parameters:
format: output format of the response to a GetMapFile operation
URL example:
```url
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.0.0&request=GetMapFile&project=tests&map=osm-tests-wms&format=text/plain
#### Output example :
```text
MAP
NAME "OSM_Basemap"
STATUS ON
SIZE 256 256
SYMBOLSET "/img/shared/symbols/test.sym"
...
WIDTH 2
END # STYLE
END # CLASS
END # LAYER
END # MAP
MFS PutMapFile request
An operation which creates a new map or edits an existing map file on the server
Required parameters:
project: name of directory where mapfile exists
map: name of mapfile to be used in request
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (PutMapFile)
version: Maptimus 2 service (MFS) version number (1.0.0)
URL example for creating a new mapfile:
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.0.0&request=PutMapFile&project=tests&map=map-test1
Output example for creating a new mapfile:
{
"response": "success",
"message": "New map file map-test1 created in tests project"
}
URL example for editing an existing mapfile:
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.0.0&request=PutMapFile&project=tests&map=map-test-edit-name&newmapname=map-test-edit-name2
Output example for editing an existing mapfile:
{
"response": "success",
"message": "Map file map-test-edit-name was edited"
}
MFS ValidateMap request
An operation which returns validation errors from a mapfile
The following formats can be an output of the ValidateMap request:
JSON: format=application/json
Required parameters:
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (ValidateMap)
version: Maptimus 2 service (MFS) version number (1.1.0)
Required body (example mapfile contents in raw body):
MAP
NAME "OSM_Basemap"
STATUS ON
SIZE 256 256
SYMBOLSET "/img/shared/symbols/test.sym"
...
WIDTH 2
END # STYLE
END # CLASS
END # LAYER
END # MAP
Output example for a successful map validation:
{
"response": "success",
"validation_errors": []
}
Output example for a map validation with errors:
{
"response": "success",
"validation_errors": [
{
"error": "'linex' is not one of ['chart', 'circle', 'line', 'point', 'polygon', 'raster', 'query', 'annotation']",
"message": "ERROR: Invalid value in TYPE"
}
]
}
MFS GetFile request
An operation which returns the file as either binary data or human-readable data
Required parameters:
project: name of directory where file exists
file: name of file to be used in request
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (GetFile)
version: Maptimus 2 service (MFS) version number (1.1.0)
URL example:
```url
https://maptimus.certusview.com/api/v2/api/v2/mapfile?service=mfs&version=1.1.0&request=GetFile&project=tests&file=test.png
___
### MFS PutFile request
An operation which creates a new file on the server
#### Required parameters:
**project:** name of directory where file will be created
**service:** name of Maptimus 2 service to which a request will be made (MFS)
**request:** name of Maptimus 2 request operation (PutFile)
**version:** Maptimus 2 service (MFS) version number (1.2.0)
**Body:**
Use form-data, with **file** as the key and select valid file in **Select Files**
#### URL example for creating a new file:
```url
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.2.0&request=PutFile&project=tests
Body example for creating a new file:
form-data:
file (Key)
test.jpg (Value)
MFS DeleteFile request
An operation which deletes a file on the server
Required parameters:
project: name of directory where file will be deleted
service: name of Maptimus 2 service to which a request will be made (MFS)
request: name of Maptimus 2 request operation (DeleteFile)
version: Maptimus 2 service (MFS) version number (1.2.0)
URL example for deleting a new file:
https://maptimus.certusview.com/api/v2/mapfile?service=mfs&version=1.2.0&request=DeleteFile&project=tests&file=test.sym