MapRoad WFS Considerations

Something that needs to be taken into account when consuming MapRoad data via WFS is the sortBy value. Most WFS servers will have the sortBy value(s) set at the Layer level, meaning it’s at the very base of the WFS configuration for a specific map layer, and therefore is not normally something WFS users need to take into account. However, this is not the case for the MapRoad PMS WFS. This is down to the way the data grids work in the MapRoad desktop application. The first thing to know about data grids is that they are populated by the same WFS service consumed by users in FME/ArcGIS/MapInfo. And as users of the desktop application will know, the data girds in PMS can be sorted on the fly by any column. To achieve this, we pass the sortBy value from the client side as a parameter to the WFS request.

Unfortunately, in most GIS applications it is not possible to set a sortBy value at the GetFeature level. The consequence here is that if a value is set for MaxFeatures and no sortBy value is sent to the server, then you may receive malformed data back where some features are missing while others are duplicated.

Therefore users have two options:

  1. Pass a sortBy value as a user parameter.

  2. Remove MaxFeatures or Count values if they are set.

FME is the only application where option 1 is possible without using a development language like Python. This is why FME is the recommended application to use for consuming the MapRoad PMS WFS.

When appending directly to the connection string you are forced to set a single sortBy value for all layers. For example, if a user is requesting the Road Schedule they would need to the have connection URL set as follows:

https://galwaycity.maproadpms.ie/mapserver2?token=240a1b58-2222-48a5-9d44-8050a4a8f745&sortBy=SegmentId

and then select RoadSchedule from the list of available layers. However, this only allows you to set a single sortBy once for all layers which is not all that helpful given this value is different for almost every layer (see table below).

Note

The values of MaxFeatures, StartIndex, Count etc. can be interchangeable in some applications. For example, MaxFeatures was a WFS version 1.1.0 parameter that was changed to Count under WFS 2.0. However, in applications such as ArcMap and FME, if a user selects to use WFS 2.0, they can still set the MaxFeature parameter but if they look at the request log they will see it is being sent as Count.

sortBy

The standard way to access the MapRoad WFS in GIS applications is by constructing a URL as so:

https://galwaycity.maproadpms.ie/mapserver2?token=240a1b58-2222-48a5-9d44-8050a4a8f745

The sortBy parameter can be appended to this URL using an ampersand (&) so the URL

Layer Descriptions

Mapping MapRoad Web Browser Layer Names to WFS Feature Names

MapRoad Name

Legend (Default Style)

WFS Name

sortBy Value

Schedule (Basic)

../../../_images/RoadSchedule_basic.png

RoadSchedule

SegmentId

TII Road Network

../../../_images/TIIRoadNetwork_tiiroads.png

TIIRoadNetwork

ObjectId

ATI

../../../_images/CombinedATI_usageclassifications.png

CombinedATI

FID

Project Start End Points

../../../_images/ProjectsStartEndPoints_default.png

ProjectsStartEndPoints

ProjectStartEndPointsId

Projects

../../../_images/Projects_projecttype.png

Projects

ProjectId

Auxiliary Items

../../../_images/Projects_projecttype.png

ProjectAuxiliaryItems

ProjectAuxiliaryItemId

Sections

../../../_images/ProjectWorksSections_interventiontype.png

ProjectWorksSections

WorksSectionId

TII Priority Schemes

../../../_images/ProjectAuxiliaryItems_projectphase.png

TIIPavementProjects

TIIPavementProjectsId

Lights

../../../_images/PLLights_owner.png

PLLights

EquipmentId

Pillars

../../../_images/PLPillars_ownerpillars.png

PLPillars

EquipmentId

Latest PSCI

../../../_images/PSCILatest_visual_cr_ratings1.png

PSCILatest

PSCISummaryId

Latest AADT Values

../../../_images/AADTSurveys_bands1.png

AADTSurveysReport

AADTSurveySummaryId

Latest Surface Survey Values

../../../_images/SurfaceSurvey_material_type.png

SurfaceSurvey

SurfaceSurveySummaryId

Latest Speed Limits

../../../_images/SpeedLimitEdgesUnion_speed_limit_max_speed.png

SpeedLimitSurvey

SpeedLimitSurveySummaryId

Latest TIN Values

../../../_images/TINSurveysReport_impactcodes.png

TINSurveysReport

TINSurveySummaryId

Latest Width Values

../../../_images/WidthSurveyLatest_surveywidthrange.png

WidthSurveyLatest

WidthSurveySummaryId

Edges (ATI Imports)

../../../_images/ATISurveyImports_usageclass.png

ATISurveyImports

SurveyImportId

Nodes (Network)

../../../_images/NetworkNodes_defaultnodes.png

NetworkNodes

NodeId

Edges (Network)

../../../_images/NetworkEdges_incharge.png

NetworkEdges

EdgeId

Edges (Missing)

../../../_images/MissingEdges_isprocessed.png

MissingEdges

MissingEdgeId

Edges (Proposed)

../../../_images/MissingEdgesProposed_default.png

MissingEdgesProposed

MissingEdgeId

Edges (Public/Non-Public Splits)

../../../_images/PublicPrivateSplits_ispublic.png

PublicPrivateSplits

PublicPrivateSplitEdgeId

Ways (PRIME2)

../../../_images/Prime2LowerClassPolygons_prime2lowerclasspolygons.png

Prime2LowerClassPolygons

FID

Nodes (Osi)

../../../_images/OsiNetworkNodes_default_nodes.png

OsiNetworkNodes

NodeId

Edges (Osi)

../../../_images/OsiNetworkEdges_default_edges.png

OsiNetworkEdges

EdgeId

Bridges

../../../_images/Bridges_maintenance.png

Bridges

StructureId

PRIME2 Bridges

../../../_images/BridgesPrime2_hasrecord.png

BridgesPrime2

FID

Bridge Intersections

../../../_images/BridgeIntersections_railintersections.png

BridgeIntersections

FID

Speed Signs

../../../_images/SpeedSigns_standardspeedsigns.png

SpeedSigns

SignId

Speed Ramps

../../../_images/SpeedRamps_default.png

SpeedRamps

ID

Speed Limit Surveys

../../../_images/SpeedLimitEdgesUnion_speed_limit_max_speed.png

SpeedLimitSurvey

SpeedLimitSurveySummaryId

Speed Limit Zones

../../../_images/SpeedLimitZones_speed_limit_max_speed.png

SpeedLimitZones

LimitId

MapRoad (2016)

../../../_images/MapRoadSchedules_road.png

MapRoadSchedules

RoadScheduleId

Hazards

../../../_images/MRHazards_priority.png

MRHazards

Hazard_Ref

Collisions

../../../_images/AccidentsCollisions_accidents.png

MRCollisions

AccidentId

Local Auhtorities

../../../_images/LocalAuthorities_labounds.png

LocalAuthorities

FID

Municipal Districts

../../../_images/MunicipalDistricts_mdbounds.png

MunicipalDistricts

MunicipalDistrictId

Townlands

../../../_images/Townlands_townlandbounds.png

Townlands

TownlandId

AADT Surveys

../../../_images/AADTSurveyEdges_bands.png

AADTSurveyEdges

AADTSurveyId

AADT Survey Polygons

../../../_images/AADTSurveys_bands1.png

AADTSurveys

AADTSurveyId

Width Surveys

../../../_images/WidthSurveys_surveywidthrangesurveyed.png

WidthSurveys

WidthSurveyId

Width Survey Edges

../../../_images/WidthSurveyEdges_surveywidthrangesurveyed.png

WidthSurveyEdges

WidthSurveySummaryId

TIN Surveys

../../../_images/TINSurveyEdges_impactcodes1.png

TINSurveyEdges

TinSurveyId

TIN Survey Polygons

../../../_images/TINSurveys_impactcodes1.png

TINSurveys

TINSurveyId

Feature Polygons

../../../_images/FeaturePolygons_featurepolygons1.png

FeaturePolygons

FeatureId

Feature Edges

../../../_images/FeatureEdgesUnion_featureedgesunion1.png

FeatureEdgesUnion

FeatureId

Surface Survey Polygons

../../../_images/SurfaceSurveyZones_surface_survey_material_polygons.png

SurfaceSurveyZones

SurfaceSurveyId

Surface Survey Edges

../../../_images/SurfaceSurveyEdges_surface_survey_material_edges.png

SurfaceSurveyEdges

SurfaceSurveyId

Recorded PSCI Ratings

../../../_images/PSCILatest_visual_cr_ratings1.png

VisualCR

PSCISummaryId

Width

../../../_images/MechanicalWidth_mechanicalwidthbyrange.png

MechanicalWidth

MechanicalSurveyRoadWidthId

SCRIM

../../../_images/SCRIM_csc1.png

SCRIM

FID

RUT

../../../_images/RUT_average1.png

RUT

FID

LPV

../../../_images/LPV_average.png

LPV

FID

MPD

../../../_images/MPD_default.png

TEXTURE

FID

IRI

../../../_images/IRI_average.png

IRI

FID

FWD Points

../../../_images/FWDPoints_d1.png

FWDPoints

FID

FWD

../../../_images/FWD_d11.png

FWD

FID

GPR Points

../../../_images/GPRPoints_bitumen.png

GPRPoints

FID

GPR

../../../_images/GPR_bitumen1.png

GPR

FID

Hazards

../../../_images/FootwaysHazards_hazards.png

FootwaysHazards

FID

Condition Ratings

../../../_images/FootwaysConditionRatings_ratings.png

FootwaysConditionRatings

FootwaySurveyEdgeId