Skip to content

Commit 47483d4

Browse files
committed
fix(roads): switch BAB flow feeds to datex2 MeasuredData, drop dead elaborated path
The 7 Autobahn GmbH BAB Mobilithek flow feeds were built against the ElaboratedDataPublication / PredefinedLocationsPublication profile while the offers were access-gated. Once granted, the live payloads turned out to be standard MeasuredDataPublication (siteMeasurements > measuredValue > basicData) joined to a MeasurementSiteTablePublication for geometry — the datex-elaborated parser could not read them at all. Reconfigure all 7 feeds to format "datex2" (+ measurementSiteReference / MeasurementSiteTable siteTable) and remove the now-dead elaborated machinery: flow-elaborated.ts, predefined-locations.ts, the datex-elaborated SourceFormat, RoadFlow.volume, and their tests/fixtures. firstDataNode now descends through the deeper measuredValue > measuredValueExtension > measuredValues > basicData nesting the BAB feeds use (NDW keeps the shallow path). Pinned by flow-measured-autobahn.test.ts against the real payload shape, covering both the buffered and streaming (production) parsers plus the Verortung join.
1 parent de17e41 commit 47483d4

23 files changed

Lines changed: 165 additions & 815 deletions

packages/core/src/model.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ export interface MergedSource {
2626

2727
export type SourceFormat =
2828
| "datex2"
29-
| "datex-elaborated"
3029
| "open511"
3130
| "wzdx"
3231
| "geojson"

packages/roads/atlas/roads.json5

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,7 +1236,7 @@
12361236
},
12371237
{
12381238
"name": "Autobahn GmbH BAB traffic data (NL Nord: Hamburg & Schleswig-Holstein)",
1239-
"format": "datex-elaborated",
1239+
"format": "datex2",
12401240
"operator": "autobahn",
12411241
"subdivision": "hh",
12421242
"stream": "nord",
@@ -1289,14 +1289,13 @@
12891289
}
12901290
},
12911291
"siteTable": {
1292-
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HH_AUTOBAHNNORD_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HH_AUTOBAHNNORD_VERORTUNG_SUBSCRIPTION_ID}",
1293-
"format": "datex-predefined-locations"
1292+
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HH_AUTOBAHNNORD_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HH_AUTOBAHNNORD_VERORTUNG_SUBSCRIPTION_ID}"
12941293
},
12951294
"id": "de-hh-autobahn-nord"
12961295
},
12971296
{
12981297
"name": "Autobahn GmbH BAB traffic data (Nordrhein-Westfalen, per lane)",
1299-
"format": "datex-elaborated",
1298+
"format": "datex2",
13001299
"operator": "autobahn",
13011300
"subdivision": "nw",
13021301
"stream": "fahrstreifen",
@@ -1349,14 +1348,13 @@
13491348
}
13501349
},
13511350
"siteTable": {
1352-
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}",
1353-
"format": "datex-predefined-locations"
1351+
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}"
13541352
},
13551353
"id": "de-nw-autobahn-fahrstreifen"
13561354
},
13571355
{
13581356
"name": "Autobahn GmbH BAB traffic data (VZD, Hessen)",
1359-
"format": "datex-elaborated",
1357+
"format": "datex2",
13601358
"operator": "autobahn",
13611359
"subdivision": "he",
13621360
"stream": "vzd",
@@ -1409,14 +1407,13 @@
14091407
}
14101408
},
14111409
"siteTable": {
1412-
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HE_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HE_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}",
1413-
"format": "datex-predefined-locations"
1410+
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HE_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HE_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}"
14141411
},
14151412
"id": "de-he-autobahn-vzd"
14161413
},
14171414
{
14181415
"name": "Autobahn GmbH BAB traffic data (NL Südwest, Baden-Württemberg)",
1419-
"format": "datex-elaborated",
1416+
"format": "datex2",
14201417
"operator": "autobahn",
14211418
"subdivision": "bw",
14221419
"stream": "suedwest",
@@ -1469,14 +1466,13 @@
14691466
}
14701467
},
14711468
"siteTable": {
1472-
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}",
1473-
"format": "datex-predefined-locations"
1469+
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}"
14741470
},
14751471
"id": "de-bw-autobahn-suedwest"
14761472
},
14771473
{
14781474
"name": "Autobahn GmbH BAB traffic data (Bayern, per lane)",
1479-
"format": "datex-elaborated",
1475+
"format": "datex2",
14801476
"operator": "autobahn",
14811477
"subdivision": "by",
14821478
"produces": "flow",
@@ -1526,7 +1522,7 @@
15261522
},
15271523
{
15281524
"name": "Autobahn GmbH BAB Verkehrslage LoS (Nordrhein-Westfalen, per lane)",
1529-
"format": "datex-elaborated",
1525+
"format": "datex2",
15301526
"operator": "autobahn",
15311527
"subdivision": "nw",
15321528
"stream": "loslane",
@@ -1579,14 +1575,13 @@
15791575
}
15801576
},
15811577
"siteTable": {
1582-
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_LOSLANE_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_LOSLANE_VERORTUNG_SUBSCRIPTION_ID}",
1583-
"format": "datex-predefined-locations"
1578+
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_LOSLANE_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_LOSLANE_VERORTUNG_SUBSCRIPTION_ID}"
15841579
},
15851580
"id": "de-nw-autobahn-loslane"
15861581
},
15871582
{
15881583
"name": "Autobahn GmbH BAB Verkehrslage LoS (NL Südwest, Baden-Württemberg)",
1589-
"format": "datex-elaborated",
1584+
"format": "datex2",
15901585
"operator": "autobahn",
15911586
"subdivision": "bw",
15921587
"stream": "los",
@@ -1639,8 +1634,7 @@
16391634
}
16401635
},
16411636
"siteTable": {
1642-
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_LOS_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_LOS_VERORTUNG_SUBSCRIPTION_ID}",
1643-
"format": "datex-predefined-locations"
1637+
"url": "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_LOS_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_LOS_VERORTUNG_SUBSCRIPTION_ID}"
16441638
},
16451639
"id": "de-bw-autobahn-los"
16461640
},

packages/roads/feeds/roads/de.json5

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -860,15 +860,15 @@
860860
},
861861
{
862862
// Autobahn GmbH BAB detector speed (v) + volume (q), per-minute, Niederlassung
863-
// Nord (Hamburg + Schleswig-Holstein). ElaboratedDataPublication joined to the
864-
// NL-Nord Verortung (PredefinedLocationsPublication) by predefinedLocationReference
863+
// Nord (Hamburg + Schleswig-Holstein). MeasuredDataPublication joined to the
864+
// NL-Nord Verortung (MeasurementSiteTablePublication) by measurementSiteReference
865865
// id. GeoNutzV. Mobilithek mtls client-pull, shared MOBILITHEK_CERT/KEY.
866866
// Disabled by default until validated against a live payload.
867867
subdivision: "hh",
868868
operator: "autobahn",
869869
stream: "nord",
870870
name: "Autobahn GmbH BAB traffic data (NL Nord: Hamburg & Schleswig-Holstein)",
871-
format: "datex-elaborated",
871+
format: "datex2",
872872
produces: "flow",
873873
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HH_AUTOBAHNNORD_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HH_AUTOBAHNNORD_SUBSCRIPTION_ID}",
874874
expandEnv: "DE_HH_AUTOBAHNNORD_SUBSCRIPTION_ID",
@@ -880,7 +880,6 @@
880880
requestHeaders: { "Accept-Encoding": "gzip" },
881881
siteTable: {
882882
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HH_AUTOBAHNNORD_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HH_AUTOBAHNNORD_VERORTUNG_SUBSCRIPTION_ID}",
883-
format: "datex-predefined-locations",
884883
},
885884
cadenceSec: 60,
886885
freshnessWindowSec: 300,
@@ -918,12 +917,12 @@
918917
},
919918
{
920919
// Autobahn GmbH BAB detector speed (v) + volume (q), per-lane, Nordrhein-Westfalen.
921-
// Joined to the NRW Fahrstreifendaten Verortung by predefinedLocationReference id.
920+
// Joined to the NRW Fahrstreifendaten Verortung by measurementSiteReference id.
922921
subdivision: "nw",
923922
operator: "autobahn",
924923
stream: "fahrstreifen",
925924
name: "Autobahn GmbH BAB traffic data (Nordrhein-Westfalen, per lane)",
926-
format: "datex-elaborated",
925+
format: "datex2",
927926
produces: "flow",
928927
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_SUBSCRIPTION_ID}",
929928
expandEnv: "DE_NW_AUTOBAHN_SUBSCRIPTION_ID",
@@ -932,7 +931,6 @@
932931
requestHeaders: { "Accept-Encoding": "gzip" },
933932
siteTable: {
934933
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}",
935-
format: "datex-predefined-locations",
936934
},
937935
cadenceSec: 60,
938936
freshnessWindowSec: 300,
@@ -970,12 +968,12 @@
970968
},
971969
{
972970
// Autobahn GmbH BAB detector speed (v) + volume (q), Verkehrszentrale Deutschland
973-
// (VZD, central node, Hessen). Joined to the VZD Verortung by predefinedLocationReference id.
971+
// (VZD, central node, Hessen). Joined to the VZD Verortung by measurementSiteReference id.
974972
subdivision: "he",
975973
operator: "autobahn",
976974
stream: "vzd",
977975
name: "Autobahn GmbH BAB traffic data (VZD, Hessen)",
978-
format: "datex-elaborated",
976+
format: "datex2",
979977
produces: "flow",
980978
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HE_AUTOBAHN_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HE_AUTOBAHN_SUBSCRIPTION_ID}",
981979
expandEnv: "DE_HE_AUTOBAHN_SUBSCRIPTION_ID",
@@ -984,7 +982,6 @@
984982
requestHeaders: { "Accept-Encoding": "gzip" },
985983
siteTable: {
986984
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_HE_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_HE_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}",
987-
format: "datex-predefined-locations",
988985
},
989986
cadenceSec: 60,
990987
freshnessWindowSec: 300,
@@ -1023,13 +1020,13 @@
10231020
{
10241021
// Autobahn GmbH BAB Verkehrsmessquerschnitte speed (v) + volume (q), NL Südwest
10251022
// (Baden-Württemberg). Cross-section (not lane-fine). Joined to the Südwest
1026-
// Verortung by predefinedLocationReference id. License provisionally GeoNutzV
1023+
// Verortung by measurementSiteReference id. License provisionally GeoNutzV
10271024
// (offer carried no explicit license doc — confirm the Einlegeblatt before enabling).
10281025
subdivision: "bw",
10291026
operator: "autobahn",
10301027
stream: "suedwest",
10311028
name: "Autobahn GmbH BAB traffic data (NL Südwest, Baden-Württemberg)",
1032-
format: "datex-elaborated",
1029+
format: "datex2",
10331030
produces: "flow",
10341031
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_SUBSCRIPTION_ID}",
10351032
expandEnv: "DE_BW_AUTOBAHN_SUBSCRIPTION_ID",
@@ -1038,7 +1035,6 @@
10381035
requestHeaders: { "Accept-Encoding": "gzip" },
10391036
siteTable: {
10401037
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_VERORTUNG_SUBSCRIPTION_ID}",
1041-
format: "datex-predefined-locations",
10421038
},
10431039
cadenceSec: 60,
10441040
freshnessWindowSec: 300,
@@ -1075,15 +1071,16 @@
10751071
},
10761072
},
10771073
{
1078-
// Autobahn GmbH BAB detector speed (v) + volume (q), per-lane, Bayern.
1079-
// No separate Verortung offer was granted; geometry is expected inline on the
1080-
// ElaboratedData items (parser resolves inline pointCoordinates). If validation
1081-
// shows geometry is NOT inline, a Bayern Verortung offer must be subscribed and
1082-
// wired as a siteTable (see the Tier-1 validation task).
1074+
// Autobahn GmbH BAB detector speed (v), per-lane, Bayern. MeasuredDataPublication.
1075+
// The live payload carries NO inline geometry — it references an external
1076+
// MeasurementSiteTable, and no Bayern Verortung offer was granted, so its sites
1077+
// cannot be geolocated yet (the flow parses but every site is skipped for lack
1078+
// of geometry). A Bayern Verortung/site-table offer must be subscribed and wired
1079+
// as a siteTable for this feed to produce mappable data.
10831080
subdivision: "by",
10841081
operator: "autobahn",
10851082
name: "Autobahn GmbH BAB traffic data (Bayern, per lane)",
1086-
format: "datex-elaborated",
1083+
format: "datex2",
10871084
produces: "flow",
10881085
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BY_AUTOBAHN_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BY_AUTOBAHN_SUBSCRIPTION_ID}",
10891086
expandEnv: "DE_BY_AUTOBAHN_SUBSCRIPTION_ID",
@@ -1122,13 +1119,13 @@
11221119
},
11231120
{
11241121
// Autobahn GmbH BAB fahrstreifenfeine Verkehrslage (4-step LoS) for NRW — the
1125-
// operator's own per-lane congestion classification. ElaboratedDataPublication
1126-
// (basicData TrafficStatus) joined to its Verortung by predefinedLocationReference id.
1122+
// operator's own per-lane congestion classification. MeasuredDataPublication
1123+
// (basicData TrafficStatus in a MeasuredDataPublication) joined to its Verortung by measurementSiteReference id.
11271124
subdivision: "nw",
11281125
operator: "autobahn",
11291126
stream: "loslane",
11301127
name: "Autobahn GmbH BAB Verkehrslage LoS (Nordrhein-Westfalen, per lane)",
1131-
format: "datex-elaborated",
1128+
format: "datex2",
11321129
produces: "flow",
11331130
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_LOSLANE_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_LOSLANE_SUBSCRIPTION_ID}",
11341131
expandEnv: "DE_NW_AUTOBAHN_LOSLANE_SUBSCRIPTION_ID",
@@ -1140,7 +1137,6 @@
11401137
requestHeaders: { "Accept-Encoding": "gzip" },
11411138
siteTable: {
11421139
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_NW_AUTOBAHN_LOSLANE_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_NW_AUTOBAHN_LOSLANE_VERORTUNG_SUBSCRIPTION_ID}",
1143-
format: "datex-predefined-locations",
11441140
},
11451141
cadenceSec: 60,
11461142
freshnessWindowSec: 300,
@@ -1183,7 +1179,7 @@
11831179
operator: "autobahn",
11841180
stream: "los",
11851181
name: "Autobahn GmbH BAB Verkehrslage LoS (NL Südwest, Baden-Württemberg)",
1186-
format: "datex-elaborated",
1182+
format: "datex2",
11871183
produces: "flow",
11881184
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_LOS_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_LOS_SUBSCRIPTION_ID}",
11891185
expandEnv: "DE_BW_AUTOBAHN_LOS_SUBSCRIPTION_ID",
@@ -1195,7 +1191,6 @@
11951191
requestHeaders: { "Accept-Encoding": "gzip" },
11961192
siteTable: {
11971193
url: "https://mobilithek.info:8443/mobilithek/api/v1.0/subscription/${DE_BW_AUTOBAHN_LOS_VERORTUNG_SUBSCRIPTION_ID}/clientPullService?subscriptionID=${DE_BW_AUTOBAHN_LOS_VERORTUNG_SUBSCRIPTION_ID}",
1198-
format: "datex-predefined-locations",
11991194
},
12001195
cadenceSec: 60,
12011196
freshnessWindowSec: 300,

packages/roads/src/__tests__/feeds.test.ts

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import { parseGddkia } from "../gddkia.js";
1313
import { parseFlatJson } from "../flatjson.js";
1414
import { parseTrafikverket } from "../trafikverket.js";
1515
import { resolveFeedUrls, resolvedEnv } from "@openconditions/ingest-framework";
16-
import { FEED_SOURCES, feedToSourceDescriptor, flowParserFor, parserFor } from "../feeds.js";
17-
import { parseElaboratedFlow } from "../flow-elaborated.js";
16+
import { FEED_SOURCES, feedToSourceDescriptor, parserFor } from "../feeds.js";
1817

1918
const FIXTURES = join(import.meta.dirname, "fixtures");
2019

@@ -441,29 +440,20 @@ describe("FEED_SOURCES", () => {
441440
});
442441
});
443442

444-
it("includes the two Autobahn GmbH BAB LoS Verkehrslage feeds, datex-elaborated flow, disabled by default", () => {
445-
const ids = ["de-nw-autobahn-loslane", "de-bw-autobahn-los"];
446-
for (const id of ids) {
447-
const f = FEED_SOURCES.find((s) => s.id === id);
448-
expect(f, id).toBeDefined();
449-
expect(f!.format).toBe("datex-elaborated");
450-
expect(f!.produces).toBe("flow");
451-
expect(f!.siteTable?.format).toBe("datex-predefined-locations");
452-
}
453-
});
454-
455-
it("includes the five Autobahn GmbH BAB flow feeds, all datex-elaborated flow, GeoNutzV, disabled by default", () => {
443+
it("includes the seven Autobahn GmbH BAB flow feeds, all datex2 flow, GeoNutzV, mtls", () => {
456444
const ids = [
457445
"de-hh-autobahn-nord",
458446
"de-nw-autobahn-fahrstreifen",
459447
"de-he-autobahn-vzd",
460448
"de-bw-autobahn-suedwest",
461449
"de-by-autobahn",
450+
"de-nw-autobahn-loslane",
451+
"de-bw-autobahn-los",
462452
];
463453
for (const id of ids) {
464454
const f = FEED_SOURCES.find((s) => s.id === id);
465455
expect(f, id).toBeDefined();
466-
expect(f!.format).toBe("datex-elaborated");
456+
expect(f!.format).toBe("datex2");
467457
expect(f!.produces).toBe("flow");
468458
expect(f!.license).toBe("GeoNutzV");
469459
expect(f!.auth).toEqual({
@@ -474,23 +464,21 @@ describe("FEED_SOURCES", () => {
474464
}
475465
});
476466

477-
it("wires PredefinedLocations site tables for the four with external geometry (not Bayern)", () => {
467+
it("wires a companion Verortung site table for the six with external geometry (not Bayern)", () => {
478468
for (const id of [
479469
"de-hh-autobahn-nord",
480470
"de-nw-autobahn-fahrstreifen",
481471
"de-he-autobahn-vzd",
482472
"de-bw-autobahn-suedwest",
473+
"de-nw-autobahn-loslane",
474+
"de-bw-autobahn-los",
483475
]) {
484476
const f = FEED_SOURCES.find((s) => s.id === id)!;
485-
expect(f.siteTable?.format, id).toBe("datex-predefined-locations");
477+
expect(typeof f.siteTable?.url, id).toBe("string");
486478
}
487479
expect(FEED_SOURCES.find((s) => s.id === "de-by-autobahn")!.siteTable).toBeUndefined();
488480
});
489481

490-
it("registers a flow parser for datex-elaborated", () => {
491-
expect(flowParserFor("datex-elaborated")).toBe(parseElaboratedFlow);
492-
});
493-
494482
it("includes de-hh-polizei as a keyless open geojson police-incident feed", () => {
495483
const feed = FEED_SOURCES.find((f) => f.id === "de-hh-polizei");
496484
expect(feed).toBeDefined();
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<d2LogicalModel xmlns="http://datex2.eu/schema/2/2_0" modelBaseVersion="2">
3+
<payloadPublication xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lang="DE" xsi:type="MeasuredDataPublication">
4+
<measurementSiteTableReference id="MQ-FS-F" targetClass="MeasurementSiteTable" version="1.4.8"/>
5+
<siteMeasurements>
6+
<measurementSiteReference id="eq.test_001.f.de" targetClass="MeasurementSiteRecord" version="1.4.8"/>
7+
<measurementTimeDefault>2026-07-24T17:11:00Z</measurementTimeDefault>
8+
<measuredValue index="5">
9+
<measuredValue>
10+
<measuredValueExtension>
11+
<measuredValues>
12+
<basicData xsi:type="TrafficSpeed">
13+
<measurementOrCalculationTime>2026-07-24T17:10:40Z</measurementOrCalculationTime>
14+
<averageVehicleSpeed numberOfInputValuesUsed="20"><speed>85.0</speed></averageVehicleSpeed>
15+
</basicData>
16+
</measuredValues>
17+
</measuredValueExtension>
18+
</measuredValue>
19+
</measuredValue>
20+
</siteMeasurements>
21+
</payloadPublication>
22+
</d2LogicalModel>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<d2LogicalModel xmlns="http://datex2.eu/schema/2/2_0" modelBaseVersion="2">
3+
<payloadPublication xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lang="DE" xsi:type="MeasurementSiteTablePublication">
4+
<measurementSiteTable id="MQ-FS-F" version="1.4.8">
5+
<measurementSiteRecord id="eq.test_001.f.de" version="1.4.8">
6+
<measurementSiteLocation xsi:type="Point">
7+
<pointByCoordinates>
8+
<pointCoordinates>
9+
<latitude>50.1109</latitude>
10+
<longitude>8.6821</longitude>
11+
</pointCoordinates>
12+
</pointByCoordinates>
13+
</measurementSiteLocation>
14+
</measurementSiteRecord>
15+
</measurementSiteTable>
16+
</payloadPublication>
17+
</d2LogicalModel>

0 commit comments

Comments
 (0)