{
  "manifestVersion": 1,
  "dataset": {
    "id": "andnet-road-conditions",
    "name": "CNAIR road conditions (Romania)",
    "description": "The live state of Romania's national roads, express roads and motorways, as the CNAIR road dispatch centre publishes it: incidents, roadworks, weather closures and other traffic restrictions, the condition of the carriageway county by county, winter maintenance, and the visibility, sky, wind and temperature reports that reach the dispatchers — together with the geometry of every event from the map behind the same display. The dispatch page shows only the present moment; this dataset turns hourly snapshots of it into a queryable history of the national road network.",
    "descriptions": {
      "ro": "Starea în timp real a rețelei rutiere naționale a României — evenimente rutiere, lucrări, restricții și întreruperi de circulație, starea părții carosabile, măsurile de iarnă și observațiile meteo raportate dispeceratului CNAIR — preluată la fiecare oră de pe platforma Dispecerat Online a Companiei Naționale de Administrare a Infrastructurii Rutiere, împreună cu geometria de pe harta ei interactivă. Pagina de dispecerat arată doar momentul prezent; acest set de date transformă instantaneele orare într-un istoric interogabil al rețelei rutiere naționale.",
      "en": "The live state of Romania's national roads, express roads and motorways, as the CNAIR road dispatch centre publishes it: incidents, roadworks, weather closures and other traffic restrictions, the condition of the carriageway county by county, winter maintenance, and the visibility, sky, wind and temperature reports that reach the dispatchers — together with the geometry of every event from the map behind the same display. The dispatch page shows only the present moment; this dataset turns hourly snapshots of it into a queryable history of the national road network."
    },
    "names": {
      "ro": "Situația drumurilor naționale, drumurilor expres și a autostrăzilor (CNAIR)",
      "en": "CNAIR road conditions (Romania)"
    },
    "sourceUrl": "https://dispecerat.andnet.ro/index.php",
    "license": {
      "id": "ro-official-acts-public-domain",
      "name": "Romanian official acts and public-interest information — outside copyright",
      "url": "https://legislatie.just.ro/Public/DetaliiDocument/7816",
      "attribution": "Date despre starea drumurilor publicate de CNAIR — dispecerat.andnet.ro",
      "notes": "Legea 8/1996 privind dreptul de autor, art. 9, excludes from copyright both official texts of an administrative nature and simple facts and data. CNAIR's road-dispatch reports are both: each entry is the official record of a traffic-management act — a restriction, closure or works order CNAIR itself imposes and publishes — and the numbers underneath it (kilometre positions, validity periods, weather and temperature readings) are bare facts. They are also public-interest information under Legea 544/2001 and re-usable public-sector information under Legea 179/2022, which transposes the EU Open Data Directive. HOWEVER, and a reuser must weigh this: no explicit reuse licence is published for this data, and that was checked rather than assumed: dispecerat.andnet.ro has no /license, /licence, /terms or /legal page, no terms-of-use link anywhere in its navigation or footer, and no rights statement in the payload it serves. The only ownership statement on the whole site is the footer line \"© 2026 Copyright: C.N.A.I.R. - S.A.\". (Note for anyone repeating the check: www.cnair.ro is NOT the authority's site — it currently resolves to an unrelated parked domain — so it should not be cited as a source of terms.) This dataset therefore rests on the legal position above rather than on any grant from CNAIR, and anyone republishing it should make their own assessment. What is republished here is a DERIVED work: the factual content of the dispatch tables and map — road indicatives, kilometre positions, validity periods, localities, counties and communes, the dispatchers' own Romanian cause / remediation / works / detour text, carriageway condition, weather and temperature readings, and the coordinates of each event — plus the timestamp of each snapshot. Nothing else is taken: no page markup, no styling, no images, no map tiles, no CNAIR logo, and no other content from the site. robots.txt returns 404, so no crawler path is disallowed; the pages do send an \"X-Robots-Tag: none\" header, which asks search engines not to index or follow them and is a directive about indexing, not about reuse — a reuser should be aware of it and form their own judgement. This connector polls once an hour and identifies itself through DATADIRECTORY_USER_AGENT. FINALLY, AND MOST IMPORTANTLY: this is live, safety-relevant traffic information that changes by the minute. A row in this dataset is what CNAIR displayed at one past instant, and nothing more. It must NOT be presented to anyone as the current state of the road network, embedded in a live traffic service, or relied on for a journey decision. Anyone who needs to know whether a road is open right now must consult dispecerat.andnet.ro itself, or 112. Every published row carries snapshot_at for exactly this reason: state it wherever the data is shown."
    },
    "cadence": "hourly",
    "tags": [
      "roads",
      "traffic",
      "transport",
      "romania",
      "cnair",
      "infrastructure",
      "road-closures",
      "roadworks",
      "weather",
      "winter-maintenance",
      "geospatial",
      "safety"
    ],
    "sources": []
  },
  "ingest": {
    "id": "01M5JZ3SXCZKG1PEZ6YHNK4KJE",
    "startedAt": "2026-10-22T23:28:34.732Z",
    "snapshotDate": "2026-10-22",
    "catalogSnapshotId": 142,
    "params": {
      "hours": "all",
      "minute": 0,
      "maxRequests": 240
    }
  },
  "baseUrl": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions",
  "catalog": {
    "url": "https://data-directory.fsn1.your-objectstorage.com/catalog/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/catalog.ducklake",
    "latestUrl": "https://data-directory.fsn1.your-objectstorage.com/catalog/andnet-road-conditions/catalog.ducklake",
    "sha256": "bccbd1a8d4593ab93121f2c960abc4e38a0dc4f8c47f8fd05fd325933ccbdf83",
    "duckdbVersion": "v1.5.5",
    "attachExample": "ATTACH 'ducklake:https://data-directory.fsn1.your-objectstorage.com/catalog/andnet-road-conditions/catalog.ducklake' AS lake (READ_ONLY); SELECT * FROM lake.main.restrictions LIMIT 5;"
  },
  "queryHints": {
    "examples": [
      {
        "title": "What was restricted on DN1 during a given week",
        "sql": "SELECT snapshot_date, snapshot_hour, restriction_kind,\n       km_from_text, km_to_text, between_localities, cause\nFROM restrictions\nWHERE snapshot_date BETWEEN DATE '2026-09-01' AND DATE '2026-09-07'\n  AND road_code = 'DN1'\nORDER BY snapshot_date, snapshot_hour, km_from_km",
        "description": "The date range comes first because snapshot_date is the leading sort column, and road_code is the second — both halves of this predicate prune."
      },
      {
        "title": "How long each closure lasted, in hours actually observed",
        "sql": "SELECT road_code, km_from_text, km_to_text,\n       min(snapshot_at)            AS first_seen,\n       max(snapshot_at)            AS last_seen,\n       count(*)                    AS hourly_snapshots,\n       any_value(cause)            AS cause\nFROM restrictions\nWHERE restriction_kind IN ('interrupted', 'interrupted_weather')\n  AND snapshot_date >= DATE '2026-09-01'\nGROUP BY road_code, km_from_text, km_to_text\nORDER BY hourly_snapshots DESC\nLIMIT 20",
        "description": "A closure has no id, so it is identified by the key CNAIR itself draws between the table and the map. Counting snapshots is what turns \"now\" into a duration."
      },
      {
        "title": "Carriageway condition by county over a winter",
        "sql": "SELECT county_code, county_name, condition_text, count(*) AS hourly_reports\nFROM carriageway_condition\nWHERE snapshot_date BETWEEN DATE '2026-12-01' AND DATE '2027-03-01'\n  AND condition_text_lc NOT LIKE '%uscat%'\nGROUP BY county_code, county_name, condition_text\nORDER BY county_code, hourly_reports DESC",
        "description": "condition_text_lc is searched, never lower(condition_text) — a function on a column cannot use parquet statistics."
      },
      {
        "title": "The geometry of everything closed on one day",
        "sql": "SELECT r.road_code, r.cause, g.geometry_kind, g.point_count, g.geometry_wkt\nFROM restrictions r\nJOIN map_features  f ON f.map_key = r.map_key\n                    AND f.snapshot_date = r.snapshot_date\n                    AND f.snapshot_hour = r.snapshot_hour\nJOIN map_geometries g ON g.geometry_hash = f.geometry_hash\nWHERE r.snapshot_date = DATE '2026-09-02'\n  AND r.snapshot_hour = 6\n  AND r.restriction_kind = 'interrupted'",
        "description": "Join the table row to its map feature on map_key, then to the geometry itself. With DuckDB's spatial extension loaded, ST_GeomFromText(geometry_wkt) makes it a real shape."
      },
      {
        "title": "Has CNAIR started publishing something this connector does not model?",
        "sql": "SELECT section_title, count(DISTINCT (section_index, row_seq)) AS rows_seen,\n       min(snapshot_date) AS first_seen, max(snapshot_date) AS last_seen\nFROM other_sections\nWHERE NOT recognised\nGROUP BY section_title\nORDER BY last_seen DESC",
        "description": "The one query that tells you this connector needs updating. Nothing on the page is ever dropped: an unrecognised section lands in other_sections cell by cell."
      }
    ]
  },
  "tables": [
    {
      "name": "restrictions",
      "description": "One row per traffic restriction on a Romanian national road, express road or motorway, per hourly snapshot: incidents, short-duration works, weather closures and any other stretch where traffic is stopped, hampered or restricted. The dispatch page shows only what is in force right now; this table is what turns repeated snapshots of it into a queryable history of the network.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare restricție de circulație de pe un drum național, drum expres sau autostradă din România, la fiecare instantaneu orar: evenimente rutiere, lucrări de scurtă durată, închideri din cauza vremii și orice alt sector unde circulația este oprită, îngreunată sau restricționată. Pagina de dispecerat arată doar ce este în vigoare acum; acest tabel transformă instantaneele repetate într-un istoric interogabil al rețelei.",
        "en": "One row per traffic restriction on a Romanian national road, express road or motorway, per hourly snapshot: incidents, short-duration works, weather closures and any other stretch where traffic is stopped, hampered or restricted. The dispatch page shows only what is in force right now; this table is what turns repeated snapshots of it into a queryable history of the network."
      },
      "rowCount": 9130,
      "lastRunRows": 69,
      "totalBytes": 71115,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "road_code",
        "km_from_km",
        "section_index",
        "row_seq"
      ],
      "searchColumns": [
        "cause",
        "remedy",
        "between_localities"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "section_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded.",
          "descriptions": {
            "ro": "Poziția (de la zero) a secțiunii din care provine rândul, numărată de sus în jos în pagina servită în ora respectivă. Face parte din cheia primară și este singura identitate pozițională sigură: NUMĂRUL secțiunii tipărit în titlu (section_code) este renumerotat din când în când de CNAIR, iar textul titlului este reformulat.",
            "en": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded."
          },
          "min": 0,
          "max": 5,
          "distinctApprox": 4
        },
        {
          "name": "row_seq",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that.",
          "descriptions": {
            "ro": "Poziția (de la zero) a rândului în tabelul secțiunii sale, așa cum a fost servit. Împreună cu section_index și coloanele de instantaneu formează cheia primară. Este o poziție, nu un identificator: CNAIR nu garantează că aceeași restricție păstrează aceeași poziție între două preluări, deci nu o folosi ca să urmărești un eveniment în timp — pentru asta ai (road_code, km_from_text, km_to_text) sau map_key.",
            "en": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that."
          },
          "min": 0,
          "max": 55,
          "distinctApprox": 50
        },
        {
          "name": "restriction_kind",
          "type": "VARCHAR",
          "nullable": false,
          "description": "What kind of restriction this is, derived from the meaning of its section heading rather than from the heading text or its number: \"incident\" (a crash, fire or spill), \"short_works\" (a crew on the road for hours or days), \"interrupted\" (traffic stopped), \"hampered\" (traffic restricted but moving), and the two weather-caused variants \"interrupted_weather\" and \"hampered_weather\". This is the column to filter on; section_code and section_title are published for traceability but are not stable.",
          "descriptions": {
            "ro": "Tipul restricției, dedus din înțelesul titlului de secțiune, nu din textul sau numărul lui: „incident\" (accident, incendiu, deversare), „short_works\" (lucrări de scurtă durată, o echipă pe drum câteva ore sau zile), „interrupted\" (circulație întreruptă), „hampered\" (circulație îngreunată sau restricționată, dar existentă) și cele două variante cauzate de vreme, „interrupted_weather\" și „hampered_weather\". Aceasta este coloana pe care se filtrează; section_code și section_title sunt publicate pentru trasabilitate, dar nu sunt stabile.",
            "en": "What kind of restriction this is, derived from the meaning of its section heading rather than from the heading text or its number: \"incident\" (a crash, fire or spill), \"short_works\" (a crew on the road for hours or days), \"interrupted\" (traffic stopped), \"hampered\" (traffic restricted but moving), and the two weather-caused variants \"interrupted_weather\" and \"hampered_weather\". This is the column to filter on; section_code and section_title are published for traceability but are not stable."
          }
        },
        {
          "name": "section_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number.",
          "descriptions": {
            "ro": "Numărul secțiunii exact cum îl tipărește titlul — „1\", „1.1\", „5\", „7.1\", „8.4\". Este eticheta pe care o citează CNAIR însuși, iar câmpul `categorie` din harta interactivă o oglindește, deci este publicată. NU este însă ceea ce decide în ce tabel ajunge rândul: CNAIR renumerotează secțiunile, iar o renumerotare care ar reclasifica pe tăcute fiecare restricție ar fi cea mai gravă defecțiune posibilă a acestui set de date. NULL pentru lista drumurilor închise iarna, al cărei titlu nu are număr.",
            "en": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number."
          }
        },
        {
          "name": "section_title",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page.",
          "descriptions": {
            "ro": "Titlul secțiunii cuvânt cu cuvânt, cu tot cu număr și cu două puncte finale, exact cum l-a scris CNAIR în ora respectivă. Merită urmărit: este textul a cărui formulare se schimbă, iar compararea lui între instantanee este modul în care se vede reorganizarea paginii.",
            "en": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page."
          }
        },
        {
          "name": "row_no",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots.",
          "descriptions": {
            "ro": "Valoarea „NR. CRT.\" a sursei pentru acest rând, cuvânt cu cuvânt — CNAIR numerotează rândurile în interiorul unei secțiuni ca „5.1\", „5.2\" ș.a.m.d. Este un număr de afișare care se renumerotează ori de câte ori dispare un rând de deasupra, deci nu identifică nimic de la un instantaneu la altul.",
            "en": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots."
          }
        },
        {
          "name": "unmapped_columns",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run.",
          "descriptions": {
            "ro": "Etichetele de coloană purtate de acest rând pe care conectorul nu le mapează pe o coloană proprie, separate prin virgulă și cu litere mici — în mod normal NULL. O valoare nenulă este semnalul timpuriu că CNAIR a adăugat un câmp: datele nu sunt pierdute (sunt tot în pagină), dar încă nu sunt în acest tabel, iar conectorul scrie un avertisment cu numele etichetei la fiecare rulare.",
            "en": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run."
          }
        },
        {
          "name": "road_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The road indicative, verbatim — \"A1\", \"A7\", \"DN1\", \"DN67C\", \"A3Cj\", and occasionally a bypass code such as \"VO_CARANSEBES\". CNAIR writes motorways as A<n>, express roads as DEx<n> and national roads as DN<n> with an optional letter suffix. The HTML tables write it without an internal space; the winter-closure list writes \"DN 7C\" and is normalised here to match.",
          "descriptions": {
            "ro": "Indicativul drumului, cuvânt cu cuvânt — „A1\", „A7\", „DN1\", „DN67C\", „A3Cj\" și, ocazional, un cod de variantă ocolitoare precum „VO_CARANSEBES\". CNAIR scrie autostrăzile A<n>, drumurile expres DEx<n> și drumurile naționale DN<n> cu eventual sufix literal. Tabelele HTML îl scriu fără spațiu interior; lista drumurilor închise iarna scrie „DN 7C\" și este normalizată aici ca să se potrivească.",
            "en": "The road indicative, verbatim — \"A1\", \"A7\", \"DN1\", \"DN67C\", \"A3Cj\", and occasionally a bypass code such as \"VO_CARANSEBES\". CNAIR writes motorways as A<n>, express roads as DEx<n> and national roads as DN<n> with an optional letter suffix. The HTML tables write it without an internal space; the winter-closure list writes \"DN 7C\" and is normalised here to match."
          },
          "min": "A0",
          "max": "VO6G"
        },
        {
          "name": "km_from_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Where the restriction starts, in CNAIR's own kilometre+metres notation — \"34+800\" means 800 m past kilometre 34, the notation used on road signs and in CNAIR notices. Canonicalised: metres are zero-padded to three digits and the \"km \" prefix the winter-closure list writes is dropped, so one position has one spelling across every table here and map_key joins. km_from_km is the same position as a number.",
          "descriptions": {
            "ro": "Poziția kilometrică de început, în notația kilometru+metri a CNAIR — „34+800\" înseamnă 800 m după kilometrul 34, notația de pe indicatoare și din comunicatele CNAIR. Adusă la formă canonică: metrii sunt completați cu zerouri până la trei cifre, iar prefixul „km \" pe care îl scrie lista drumurilor închise iarna este eliminat, astfel încât o poziție are o singură scriere în toate tabelele de aici și map_key se poate uni. km_from_km este aceeași poziție ca număr.",
            "en": "Where the restriction starts, in CNAIR's own kilometre+metres notation — \"34+800\" means 800 m past kilometre 34, the notation used on road signs and in CNAIR notices. Canonicalised: metres are zero-padded to three digits and the \"km \" prefix the winter-closure list writes is dropped, so one position has one spelling across every table here and map_key joins. km_from_km is the same position as a number."
          }
        },
        {
          "name": "km_from_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_from_text as a number of kilometres, metres folded into the fraction (\"34+800\" -> 34.800). This is the column to filter and order on — \"everything on DN1 between km 10 and km 20\" cannot be asked of the text form. NULL when the source cell was not in <kilometres>+<metres> shape.",
          "descriptions": {
            "ro": "km_from_text ca număr de kilometri, cu metrii trecuți în parte zecimală („34+800\" -> 34,800). Aceasta este coloana pe care se filtrează și se ordonează — „tot ce este pe DN1 între km 10 și km 20\" nu se poate cere formei text. NULL când celula sursă nu era în forma <kilometri>+<metri>.",
            "en": "km_from_text as a number of kilometres, metres folded into the fraction (\"34+800\" -> 34.800). This is the column to filter and order on — \"everything on DN1 between km 10 and km 20\" cannot be asked of the text form. NULL when the source cell was not in <kilometres>+<metres> shape."
          },
          "unit": "km",
          "min": 0,
          "max": 583
        },
        {
          "name": "km_to_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Where the restriction ends, same notation as km_from_text. Equal to km_from_text for a point restriction (an incident at a single kilometre).",
          "descriptions": {
            "ro": "Poziția kilometrică de sfârșit, aceeași notație ca km_from_text. Egală cu km_from_text pentru o restricție punctuală (un eveniment la un singur kilometru).",
            "en": "Where the restriction ends, same notation as km_from_text. Equal to km_from_text for a point restriction (an incident at a single kilometre)."
          }
        },
        {
          "name": "km_to_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_to_text as a number of kilometres. See km_from_km.",
          "descriptions": {
            "ro": "km_to_text ca număr de kilometri. Vezi km_from_km.",
            "en": "km_to_text as a number of kilometres. See km_from_km."
          },
          "unit": "km"
        },
        {
          "name": "valid_from",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "When the restriction started, as an instant. **Timezone assumption:** CNAIR publishes bare wall-clock times (\"2026-08-17 01:00:00\") and declares no timezone anywhere on the page or in its headers. They are read as Europe/Bucharest local time (EET/EEST, UTC+2 in winter and UTC+3 in summer, switching on the EU rule) and converted to UTC. valid_from_text carries the source string untouched, so a reader who disagrees can redo the conversion.",
          "descriptions": {
            "ro": "Momentul în care a început restricția. **Ipoteza de fus orar:** CNAIR publică ore locale simple („2026-08-17 01:00:00\") și nu declară niciun fus orar, nici în pagină, nici în anteturile HTTP. Sunt citite ca oră locală a României (EET/EEST, UTC+2 iarna și UTC+3 vara, cu schimbarea după regula europeană) și convertite în UTC. valid_from_text păstrează șirul sursei neatins, ca oricine nu este de acord cu ipoteza să poată reface conversia.",
            "en": "When the restriction started, as an instant. **Timezone assumption:** CNAIR publishes bare wall-clock times (\"2026-08-17 01:00:00\") and declares no timezone anywhere on the page or in its headers. They are read as Europe/Bucharest local time (EET/EEST, UTC+2 in winter and UTC+3 in summer, switching on the EU rule) and converted to UTC. valid_from_text carries the source string untouched, so a reader who disagrees can redo the conversion."
          }
        },
        {
          "name": "valid_from_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "valid_from exactly as CNAIR printed it, before any timezone interpretation.",
          "descriptions": {
            "ro": "valid_from exact cum l-a tipărit CNAIR, înainte de orice interpretare de fus.",
            "en": "valid_from exactly as CNAIR printed it, before any timezone interpretation."
          }
        },
        {
          "name": "valid_to",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "When the restriction is scheduled to end, as an instant, under the same Europe/Bucharest assumption as valid_from. It is a PLAN, not an observation: CNAIR routinely publishes \"31-12-<year> 23:59\" as a placeholder for \"until further notice\", and a restriction can be lifted early or run over. Whether it was still in force at a given hour is answered by the snapshot columns, not by this one.",
          "descriptions": {
            "ro": "Momentul la care este programată încheierea restricției, sub aceeași ipoteză ca valid_from (citit ca oră locală România/Europe/Bucharest și convertit în UTC). Este un PLAN, nu o observație: CNAIR publică frecvent „31-12-<an> 23:59\" ca marcaj pentru „până la noi dispoziții\", iar o restricție poate fi ridicată mai devreme sau prelungită. Dacă era încă în vigoare la o anumită oră se află din coloanele de instantaneu, nu de aici.",
            "en": "When the restriction is scheduled to end, as an instant, under the same Europe/Bucharest assumption as valid_from. It is a PLAN, not an observation: CNAIR routinely publishes \"31-12-<year> 23:59\" as a placeholder for \"until further notice\", and a restriction can be lifted early or run over. Whether it was still in force at a given hour is answered by the snapshot columns, not by this one."
          }
        },
        {
          "name": "valid_to_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "valid_to exactly as CNAIR printed it.",
          "descriptions": {
            "ro": "valid_to exact cum l-a tipărit CNAIR.",
            "en": "valid_to exactly as CNAIR printed it."
          }
        },
        {
          "name": "between_localities",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The stretch in CNAIR's own words, as \"FROM (county) - TO (county)\" — e.g. \"BACAU (BC) - BOGDAN VODA (BC)\". The second half is frequently blank (\"JITIA (VN) - \") for a restriction at one place rather than between two, and the whole cell is sometimes just \"-\". Written without diacritics by the source; search between_localities_lc.",
          "descriptions": {
            "ro": "Sectorul în cuvintele CNAIR, sub forma „DE LA (județ) - PÂNĂ LA (județ)\" — de exemplu „BACAU (BC) - BOGDAN VODA (BC)\". A doua jumătate lipsește deseori („JITIA (VN) - \") pentru o restricție într-un singur loc, iar uneori toată celula este doar „-\". Sursa scrie fără diacritice; caută în between_localities_lc.",
            "en": "The stretch in CNAIR's own words, as \"FROM (county) - TO (county)\" — e.g. \"BACAU (BC) - BOGDAN VODA (BC)\". The second half is frequently blank (\"JITIA (VN) - \") for a restriction at one place rather than between two, and the whole cell is sometimes just \"-\". Written without diacritics by the source; search between_localities_lc."
          }
        },
        {
          "name": "between_localities_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "between_localities, lowercased and accent-folded, for case- and accent-insensitive search. Query this, not lower(between_localities) — a function on a column cannot use parquet statistics.",
          "descriptions": {
            "ro": "between_localities cu litere mici și fără diacritice, pentru căutare insensibilă la majuscule și diacritice. Interoghează această coloană, nu lower(between_localities) — o funcție aplicată unei coloane nu poate folosi statisticile parquet.",
            "en": "between_localities, lowercased and accent-folded, for case- and accent-insensitive search. Query this, not lower(between_localities) — a function on a column cannot use parquet statistics."
          }
        },
        {
          "name": "cause",
          "type": "TEXT",
          "nullable": true,
          "description": "Why traffic is restricted, in the dispatcher's own Romanian prose — \"Alunecare de teren\", \"Accident rutier. O camioneta a intrat in spatele unui TIR.\", or several sentences about a bridge. Free text, written without diacritics, occasionally with a typo, and not drawn from any fixed vocabulary. `<br>` separators in the source become newlines here. Unlike the map payload's copy of the same text, this one is NOT truncated.",
          "descriptions": {
            "ro": "Motivul restricției, în proza dispecerului — „Alunecare de teren\", „Accident rutier. O camioneta a intrat in spatele unui TIR.\" sau câteva fraze despre un pod. Text liber, scris fără diacritice, uneori cu greșeli de tastare, fără vocabular fix. Separatoarele `<br>` din sursă devin aici linii noi. Spre deosebire de copia din harta interactivă, acest text NU este trunchiat.",
            "en": "Why traffic is restricted, in the dispatcher's own Romanian prose — \"Alunecare de teren\", \"Accident rutier. O camioneta a intrat in spatele unui TIR.\", or several sentences about a bridge. Free text, written without diacritics, occasionally with a typo, and not drawn from any fixed vocabulary. `<br>` separators in the source become newlines here. Unlike the map payload's copy of the same text, this one is NOT truncated."
          }
        },
        {
          "name": "cause_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "cause, lowercased and accent-folded, for search. Query this rather than lower(cause).",
          "descriptions": {
            "ro": "cause cu litere mici și fără diacritice, pentru căutare. Interoghează această coloană, nu lower(cause).",
            "en": "cause, lowercased and accent-folded, for search. Query this rather than lower(cause)."
          }
        },
        {
          "name": "remedy",
          "type": "TEXT",
          "nullable": true,
          "description": "What is being done about it and how traffic is being managed — \"Viteza - 30 km/h\", \"Circulatia se desfasoara pe o singura banda, dirijata alternativ prin semafoare\". In sections where CNAIR heads this column \"Masuri de remediere si variante de ocolire\" it also carries the diversion; the cell label is what is matched, so the wording of the heading does not matter. Free text, newlines preserved from `<br>`.",
          "descriptions": {
            "ro": "Ce se face și cum este dirijată circulația — „Viteza - 30 km/h\", „Circulatia se desfasoara pe o singura banda, dirijata alternativ prin semafoare\". În secțiunile unde CNAIR intitulează coloana „Masuri de remediere si variante de ocolire\", aici apare și varianta de ocolire; potrivirea se face pe eticheta celulei, deci formularea titlului nu contează. Text liber, cu liniile noi păstrate din `<br>`.",
            "en": "What is being done about it and how traffic is being managed — \"Viteza - 30 km/h\", \"Circulatia se desfasoara pe o singura banda, dirijata alternativ prin semafoare\". In sections where CNAIR heads this column \"Masuri de remediere si variante de ocolire\" it also carries the diversion; the cell label is what is matched, so the wording of the heading does not matter. Free text, newlines preserved from `<br>`."
          }
        },
        {
          "name": "remedy_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "remedy, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "remedy cu litere mici și fără diacritice, pentru căutare.",
            "en": "remedy, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "map_key",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The key that joins this row to its geometry in map_features: road indicative, start kilometre and end kilometre in CNAIR's own notation, pipe-separated. It is built from the map-zoom target encoded in the row's \"VEZI PE HARTĂ\" cell (onclick=\"actualizareharta('DN10',76,795,76,870)\"), which is the link CNAIR itself draws between the table and the map. On the 2026-09-02 capture all 123 table rows carried one and the 123 keys matched the 123 map features exactly, with nothing left over on either side. NULL when the row has no map cell.",
          "descriptions": {
            "ro": "Cheia care leagă acest rând de geometria sa din map_features: indicativul drumului, kilometrul de început și cel de sfârșit în notația CNAIR, separate prin bară verticală. Este construită din ținta de zoom pe hartă codificată în celula „VEZI PE HARTĂ\" a rândului (onclick=\"actualizareharta('DN10',76,795,76,870)\"), adică din legătura pe care CNAIR însuși o trasează între tabel și hartă. În capturarea din 2026-09-02, toate cele 123 de rânduri aveau o astfel de celulă, iar cele 123 de chei s-au potrivit exact cu cele 123 de obiecte de pe hartă, fără rest de nicio parte. NULL când rândul nu are celulă de hartă.",
            "en": "The key that joins this row to its geometry in map_features: road indicative, start kilometre and end kilometre in CNAIR's own notation, pipe-separated. It is built from the map-zoom target encoded in the row's \"VEZI PE HARTĂ\" cell (onclick=\"actualizareharta('DN10',76,795,76,870)\"), which is the link CNAIR itself draws between the table and the map. On the 2026-09-02 capture all 123 table rows carried one and the 123 keys matched the 123 map features exactly, with nothing left over on either side. NULL when the row has no map cell."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/restrictions.parquet",
          "sizeBytes": 71115,
          "rowCount": 9130,
          "etag": "\"7fd0ab64a551e6532312ce183dda81a4\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "road_code": {
              "min": "A0",
              "max": "VO6G"
            },
            "km_from_km": {
              "min": 0,
              "max": 583
            },
            "section_index": {
              "min": 0,
              "max": 5
            },
            "row_seq": {
              "min": 0,
              "max": 55
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 1,
          "row_seq": 3,
          "restriction_kind": "short_works",
          "section_code": "1.1",
          "section_title": "1.1. Lucrări de scurtă durată:",
          "row_no": "1.4",
          "unmapped_columns": null,
          "road_code": "A1",
          "km_from_text": "270+300",
          "km_from_km": 270.3,
          "km_to_text": "271+600",
          "km_to_km": 271.6,
          "valid_from": "2026-09-02T05:01:00.000Z",
          "valid_from_text": "2026-09-02 08:01:00",
          "valid_to": "2026-09-02T17:00:00.000Z",
          "valid_to_text": "2026-09-02 20:00:00",
          "between_localities": "APOLDU DE SUS (SB) - SALISTE (SB)",
          "between_localities_lc": "apoldu de sus (sb) - saliste (sb)",
          "cause": "Se executa lucrari de reparatii asfaltice pe calea 2 (sens Sebes-Sibiu). Banda 1 si banda de urgenta restrictionate.",
          "cause_lc": "se executa lucrari de reparatii asfaltice pe calea 2 (sens sebes-sibiu). banda 1 si banda de urgenta restrictionate.",
          "remedy": "Se circula ingreunat pe Banda2 Sens(Sebes-Sibiu) .",
          "remedy_lc": "se circula ingreunat pe banda2 sens(sebes-sibiu) .",
          "map_key": "A1|270+300|271+600"
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 1,
          "row_seq": 2,
          "restriction_kind": "short_works",
          "section_code": "1.1",
          "section_title": "1.1. Lucrări de scurtă durată:",
          "row_no": "1.3",
          "unmapped_columns": null,
          "road_code": "A1",
          "km_from_text": "368+000",
          "km_from_km": 368,
          "km_to_text": "389+000",
          "km_to_km": 389,
          "valid_from": "2026-09-02T05:00:00.000Z",
          "valid_from_text": "2026-09-02 08:00:00",
          "valid_to": "2026-09-02T17:00:00.000Z",
          "valid_to_text": "2026-09-02 20:00:00",
          "between_localities": "ILIA (HD) - SOIMUS (HD)",
          "between_localities_lc": "ilia (hd) - soimus (hd)",
          "cause": "Pe Calea 2 se executa lucrari de refacere a marcajului rutier",
          "cause_lc": "pe calea 2 se executa lucrari de refacere a marcajului rutier",
          "remedy": "Pe Calea 2 se circula pe Banda 2. Banda 1 si Banda de Urgenta sunt restrictionate pana la finalizarea lucrarilor",
          "remedy_lc": "pe calea 2 se circula pe banda 2. banda 1 si banda de urgenta sunt restrictionate pana la finalizarea lucrarilor",
          "map_key": "A1|368+000|389+000"
        }
      ]
    },
    {
      "name": "roadworks",
      "description": "One row per stretch of national road, express road or motorway under rehabilitation, modernisation, maintenance or repair, per hourly snapshot — CNAIR's standing works programme rather than today's incidents. Entries here run for months or years, so the interesting query is usually \"when did this works appear and when did it stop being listed\".",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare sector de drum național, drum expres sau autostradă aflat în reabilitare, modernizare, întreținere sau reparații, la fiecare instantaneu orar — programul permanent de lucrări al CNAIR, nu evenimentele zilei. Aceste poziții durează luni sau ani, așa că întrebarea interesantă este de obicei „când a apărut lucrarea și când a încetat să mai fie listată\".",
        "en": "One row per stretch of national road, express road or motorway under rehabilitation, modernisation, maintenance or repair, per hourly snapshot — CNAIR's standing works programme rather than today's incidents. Entries here run for months or years, so the interesting query is usually \"when did this works appear and when did it stop being listed\"."
      },
      "rowCount": 7780,
      "lastRunRows": 62,
      "totalBytes": 48862,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "road_code",
        "km_from_km",
        "section_index",
        "row_seq"
      ],
      "searchColumns": [
        "works_type",
        "detours",
        "between_localities"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "section_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded.",
          "descriptions": {
            "ro": "Poziția (de la zero) a secțiunii din care provine rândul, numărată de sus în jos în pagina servită în ora respectivă. Face parte din cheia primară și este singura identitate pozițională sigură: NUMĂRUL secțiunii tipărit în titlu (section_code) este renumerotat din când în când de CNAIR, iar textul titlului este reformulat.",
            "en": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded."
          },
          "min": 6,
          "max": 6,
          "distinctApprox": 1
        },
        {
          "name": "row_seq",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that.",
          "descriptions": {
            "ro": "Poziția (de la zero) a rândului în tabelul secțiunii sale, așa cum a fost servit. Împreună cu section_index și coloanele de instantaneu formează cheia primară. Este o poziție, nu un identificator: CNAIR nu garantează că aceeași restricție păstrează aceeași poziție între două preluări, deci nu o folosi ca să urmărești un eveniment în timp — pentru asta ai (road_code, km_from_text, km_to_text) sau map_key.",
            "en": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that."
          },
          "min": 0,
          "max": 63,
          "distinctApprox": 59
        },
        {
          "name": "section_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number.",
          "descriptions": {
            "ro": "Numărul secțiunii exact cum îl tipărește titlul — „1\", „1.1\", „5\", „7.1\", „8.4\". Este eticheta pe care o citează CNAIR însuși, iar câmpul `categorie` din harta interactivă o oglindește, deci este publicată. NU este însă ceea ce decide în ce tabel ajunge rândul: CNAIR renumerotează secțiunile, iar o renumerotare care ar reclasifica pe tăcute fiecare restricție ar fi cea mai gravă defecțiune posibilă a acestui set de date. NULL pentru lista drumurilor închise iarna, al cărei titlu nu are număr.",
            "en": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number."
          }
        },
        {
          "name": "section_title",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page.",
          "descriptions": {
            "ro": "Titlul secțiunii cuvânt cu cuvânt, cu tot cu număr și cu două puncte finale, exact cum l-a scris CNAIR în ora respectivă. Merită urmărit: este textul a cărui formulare se schimbă, iar compararea lui între instantanee este modul în care se vede reorganizarea paginii.",
            "en": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page."
          }
        },
        {
          "name": "row_no",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots.",
          "descriptions": {
            "ro": "Valoarea „NR. CRT.\" a sursei pentru acest rând, cuvânt cu cuvânt — CNAIR numerotează rândurile în interiorul unei secțiuni ca „5.1\", „5.2\" ș.a.m.d. Este un număr de afișare care se renumerotează ori de câte ori dispare un rând de deasupra, deci nu identifică nimic de la un instantaneu la altul.",
            "en": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots."
          }
        },
        {
          "name": "unmapped_columns",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run.",
          "descriptions": {
            "ro": "Etichetele de coloană purtate de acest rând pe care conectorul nu le mapează pe o coloană proprie, separate prin virgulă și cu litere mici — în mod normal NULL. O valoare nenulă este semnalul timpuriu că CNAIR a adăugat un câmp: datele nu sunt pierdute (sunt tot în pagină), dar încă nu sunt în acest tabel, iar conectorul scrie un avertisment cu numele etichetei la fiecare rulare.",
            "en": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run."
          }
        },
        {
          "name": "road_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The road indicative, verbatim — \"A1\", \"A7\", \"DN1\", \"DN67C\", \"A3Cj\", and occasionally a bypass code such as \"VO_CARANSEBES\". CNAIR writes motorways as A<n>, express roads as DEx<n> and national roads as DN<n> with an optional letter suffix. The HTML tables write it without an internal space; the winter-closure list writes \"DN 7C\" and is normalised here to match.",
          "descriptions": {
            "ro": "Indicativul drumului, cuvânt cu cuvânt — „A1\", „A7\", „DN1\", „DN67C\", „A3Cj\" și, ocazional, un cod de variantă ocolitoare precum „VO_CARANSEBES\". CNAIR scrie autostrăzile A<n>, drumurile expres DEx<n> și drumurile naționale DN<n> cu eventual sufix literal. Tabelele HTML îl scriu fără spațiu interior; lista drumurilor închise iarna scrie „DN 7C\" și este normalizată aici ca să se potrivească.",
            "en": "The road indicative, verbatim — \"A1\", \"A7\", \"DN1\", \"DN67C\", \"A3Cj\", and occasionally a bypass code such as \"VO_CARANSEBES\". CNAIR writes motorways as A<n>, express roads as DEx<n> and national roads as DN<n> with an optional letter suffix. The HTML tables write it without an internal space; the winter-closure list writes \"DN 7C\" and is normalised here to match."
          },
          "min": "22J",
          "max": "VO_CARANSEBES"
        },
        {
          "name": "km_from_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Where the restriction starts, in CNAIR's own kilometre+metres notation — \"34+800\" means 800 m past kilometre 34, the notation used on road signs and in CNAIR notices. Canonicalised: metres are zero-padded to three digits and the \"km \" prefix the winter-closure list writes is dropped, so one position has one spelling across every table here and map_key joins. km_from_km is the same position as a number.",
          "descriptions": {
            "ro": "Poziția kilometrică de început, în notația kilometru+metri a CNAIR — „34+800\" înseamnă 800 m după kilometrul 34, notația de pe indicatoare și din comunicatele CNAIR. Adusă la formă canonică: metrii sunt completați cu zerouri până la trei cifre, iar prefixul „km \" pe care îl scrie lista drumurilor închise iarna este eliminat, astfel încât o poziție are o singură scriere în toate tabelele de aici și map_key se poate uni. km_from_km este aceeași poziție ca număr.",
            "en": "Where the restriction starts, in CNAIR's own kilometre+metres notation — \"34+800\" means 800 m past kilometre 34, the notation used on road signs and in CNAIR notices. Canonicalised: metres are zero-padded to three digits and the \"km \" prefix the winter-closure list writes is dropped, so one position has one spelling across every table here and map_key joins. km_from_km is the same position as a number."
          }
        },
        {
          "name": "km_from_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_from_text as a number of kilometres, metres folded into the fraction (\"34+800\" -> 34.800). This is the column to filter and order on — \"everything on DN1 between km 10 and km 20\" cannot be asked of the text form. NULL when the source cell was not in <kilometres>+<metres> shape.",
          "descriptions": {
            "ro": "km_from_text ca număr de kilometri, cu metrii trecuți în parte zecimală („34+800\" -> 34,800). Aceasta este coloana pe care se filtrează și se ordonează — „tot ce este pe DN1 între km 10 și km 20\" nu se poate cere formei text. NULL când celula sursă nu era în forma <kilometri>+<metri>.",
            "en": "km_from_text as a number of kilometres, metres folded into the fraction (\"34+800\" -> 34.800). This is the column to filter and order on — \"everything on DN1 between km 10 and km 20\" cannot be asked of the text form. NULL when the source cell was not in <kilometres>+<metres> shape."
          },
          "unit": "km",
          "min": 0,
          "max": 556
        },
        {
          "name": "km_to_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Where the restriction ends, same notation as km_from_text. Equal to km_from_text for a point restriction (an incident at a single kilometre).",
          "descriptions": {
            "ro": "Poziția kilometrică de sfârșit, aceeași notație ca km_from_text. Egală cu km_from_text pentru o restricție punctuală (un eveniment la un singur kilometru).",
            "en": "Where the restriction ends, same notation as km_from_text. Equal to km_from_text for a point restriction (an incident at a single kilometre)."
          }
        },
        {
          "name": "km_to_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_to_text as a number of kilometres. See km_from_km.",
          "descriptions": {
            "ro": "km_to_text ca număr de kilometri. Vezi km_from_km.",
            "en": "km_to_text as a number of kilometres. See km_from_km."
          },
          "unit": "km"
        },
        {
          "name": "valid_from",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "When the restriction started, as an instant. **Timezone assumption:** CNAIR publishes bare wall-clock times (\"2026-08-17 01:00:00\") and declares no timezone anywhere on the page or in its headers. They are read as Europe/Bucharest local time (EET/EEST, UTC+2 in winter and UTC+3 in summer, switching on the EU rule) and converted to UTC. valid_from_text carries the source string untouched, so a reader who disagrees can redo the conversion.",
          "descriptions": {
            "ro": "Momentul în care a început restricția. **Ipoteza de fus orar:** CNAIR publică ore locale simple („2026-08-17 01:00:00\") și nu declară niciun fus orar, nici în pagină, nici în anteturile HTTP. Sunt citite ca oră locală a României (EET/EEST, UTC+2 iarna și UTC+3 vara, cu schimbarea după regula europeană) și convertite în UTC. valid_from_text păstrează șirul sursei neatins, ca oricine nu este de acord cu ipoteza să poată reface conversia.",
            "en": "When the restriction started, as an instant. **Timezone assumption:** CNAIR publishes bare wall-clock times (\"2026-08-17 01:00:00\") and declares no timezone anywhere on the page or in its headers. They are read as Europe/Bucharest local time (EET/EEST, UTC+2 in winter and UTC+3 in summer, switching on the EU rule) and converted to UTC. valid_from_text carries the source string untouched, so a reader who disagrees can redo the conversion."
          }
        },
        {
          "name": "valid_from_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "valid_from exactly as CNAIR printed it, before any timezone interpretation.",
          "descriptions": {
            "ro": "valid_from exact cum l-a tipărit CNAIR, înainte de orice interpretare de fus.",
            "en": "valid_from exactly as CNAIR printed it, before any timezone interpretation."
          }
        },
        {
          "name": "valid_to",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "When the restriction is scheduled to end, as an instant, under the same Europe/Bucharest assumption as valid_from. It is a PLAN, not an observation: CNAIR routinely publishes \"31-12-<year> 23:59\" as a placeholder for \"until further notice\", and a restriction can be lifted early or run over. Whether it was still in force at a given hour is answered by the snapshot columns, not by this one.",
          "descriptions": {
            "ro": "Momentul la care este programată încheierea restricției, sub aceeași ipoteză ca valid_from (citit ca oră locală România/Europe/Bucharest și convertit în UTC). Este un PLAN, nu o observație: CNAIR publică frecvent „31-12-<an> 23:59\" ca marcaj pentru „până la noi dispoziții\", iar o restricție poate fi ridicată mai devreme sau prelungită. Dacă era încă în vigoare la o anumită oră se află din coloanele de instantaneu, nu de aici.",
            "en": "When the restriction is scheduled to end, as an instant, under the same Europe/Bucharest assumption as valid_from. It is a PLAN, not an observation: CNAIR routinely publishes \"31-12-<year> 23:59\" as a placeholder for \"until further notice\", and a restriction can be lifted early or run over. Whether it was still in force at a given hour is answered by the snapshot columns, not by this one."
          }
        },
        {
          "name": "valid_to_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "valid_to exactly as CNAIR printed it.",
          "descriptions": {
            "ro": "valid_to exact cum l-a tipărit CNAIR.",
            "en": "valid_to exactly as CNAIR printed it."
          }
        },
        {
          "name": "between_localities",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The stretch in CNAIR's own words, as \"FROM (county) - TO (county)\". Frequently half-empty or just \"-\" for works that are not between two named places.",
          "descriptions": {
            "ro": "Sectorul în cuvintele CNAIR, sub forma „DE LA (județ) - PÂNĂ LA (județ)\". Deseori pe jumătate gol sau doar „-\" pentru lucrări care nu sunt între două localități numite.",
            "en": "The stretch in CNAIR's own words, as \"FROM (county) - TO (county)\". Frequently half-empty or just \"-\" for works that are not between two named places."
          }
        },
        {
          "name": "between_localities_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "between_localities, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "between_localities cu litere mici și fără diacritice, pentru căutare.",
            "en": "between_localities, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "works_type",
          "type": "TEXT",
          "nullable": true,
          "description": "What is being built or repaired, in CNAIR's own Romanian prose — \"Lucrari de reparatii pod peste bratul Borcea…\", \"Lucrari de intretinere periodica pe timp de vara - Straturi bituminoase foarte subtiri executate la rece\". This is the cell CNAIR heads \"Tip lucrare\" (and labels LUCRĂRI). Free text; newlines come from the source's `<br>`.",
          "descriptions": {
            "ro": "Ce se construiește sau se repară, în proza CNAIR — „Lucrari de reparatii pod peste bratul Borcea…\", „Lucrari de intretinere periodica pe timp de vara - Straturi bituminoase foarte subtiri executate la rece\". Este celula pe care CNAIR o intitulează „Tip lucrare\" (și o etichetează LUCRĂRI). Text liber; liniile noi vin din `<br>`-urile sursei.",
            "en": "What is being built or repaired, in CNAIR's own Romanian prose — \"Lucrari de reparatii pod peste bratul Borcea…\", \"Lucrari de intretinere periodica pe timp de vara - Straturi bituminoase foarte subtiri executate la rece\". This is the cell CNAIR heads \"Tip lucrare\" (and labels LUCRĂRI). Free text; newlines come from the source's `<br>`."
          }
        },
        {
          "name": "works_type_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "works_type, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "works_type cu litere mici și fără diacritice, pentru căutare.",
            "en": "works_type, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "detours",
          "type": "TEXT",
          "nullable": true,
          "description": "The alternative routes CNAIR suggests, or the speed and lane restrictions in force through the works. Often blank — an empty cell means CNAIR published no diversion, not that none exists.",
          "descriptions": {
            "ro": "Variantele de ocolire recomandate de CNAIR sau restricțiile de viteză și de bandă din zona lucrării. Deseori goală — o celulă goală înseamnă că CNAIR nu a publicat nicio variantă, nu că nu există una.",
            "en": "The alternative routes CNAIR suggests, or the speed and lane restrictions in force through the works. Often blank — an empty cell means CNAIR published no diversion, not that none exists."
          }
        },
        {
          "name": "detours_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "detours, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "detours cu litere mici și fără diacritice, pentru căutare.",
            "en": "detours, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "map_key",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The key that joins this row to its geometry in map_features: road indicative, start kilometre and end kilometre in CNAIR's own notation, pipe-separated. It is built from the map-zoom target encoded in the row's \"VEZI PE HARTĂ\" cell (onclick=\"actualizareharta('DN10',76,795,76,870)\"), which is the link CNAIR itself draws between the table and the map. On the 2026-09-02 capture all 123 table rows carried one and the 123 keys matched the 123 map features exactly, with nothing left over on either side. NULL when the row has no map cell.",
          "descriptions": {
            "ro": "Cheia care leagă acest rând de geometria sa din map_features: indicativul drumului, kilometrul de început și cel de sfârșit în notația CNAIR, separate prin bară verticală. Este construită din ținta de zoom pe hartă codificată în celula „VEZI PE HARTĂ\" a rândului (onclick=\"actualizareharta('DN10',76,795,76,870)\"), adică din legătura pe care CNAIR însuși o trasează între tabel și hartă. În capturarea din 2026-09-02, toate cele 123 de rânduri aveau o astfel de celulă, iar cele 123 de chei s-au potrivit exact cu cele 123 de obiecte de pe hartă, fără rest de nicio parte. NULL când rândul nu are celulă de hartă.",
            "en": "The key that joins this row to its geometry in map_features: road indicative, start kilometre and end kilometre in CNAIR's own notation, pipe-separated. It is built from the map-zoom target encoded in the row's \"VEZI PE HARTĂ\" cell (onclick=\"actualizareharta('DN10',76,795,76,870)\"), which is the link CNAIR itself draws between the table and the map. On the 2026-09-02 capture all 123 table rows carried one and the 123 keys matched the 123 map features exactly, with nothing left over on either side. NULL when the row has no map cell."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/roadworks.parquet",
          "sizeBytes": 48862,
          "rowCount": 7780,
          "etag": "\"7a795b6f2d9173b279e15af72c2dbf11\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "road_code": {
              "min": "22J",
              "max": "VO_CARANSEBES"
            },
            "km_from_km": {
              "min": 0,
              "max": 556
            },
            "section_index": {
              "min": 6,
              "max": 6
            },
            "row_seq": {
              "min": 0,
              "max": 63
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 6,
          "row_seq": 0,
          "section_code": "6",
          "section_title": "6. Drumuri naționale, drumuri expres și autostrăzi pe care se efectueaza lucrări de reabilitare, modernizări, întretinere și reparații:",
          "row_no": "6.1",
          "unmapped_columns": null,
          "road_code": "A2",
          "km_from_text": "143+125",
          "km_from_km": 143.125,
          "km_to_text": "148+315",
          "km_to_km": 148.315,
          "valid_from": "2024-12-29T15:00:00.000Z",
          "valid_from_text": "2024-12-29 17:00:00",
          "valid_to": "2026-12-31T21:59:00.000Z",
          "valid_to_text": "2026-12-31 23:59:00",
          "between_localities": "FETESTI (IL) - CERNAVODA (CT)",
          "between_localities_lc": "fetesti (il) - cernavoda (ct)",
          "works_type": "Lucrari de reparatii pod peste bratul Borcea. se va circula cu restrictie de tonaj MTMA > 50 to. distanta intre autovegicule se va mentine de cel putin 50m , cu o restrictie de viteza de 60 km / h",
          "works_type_lc": "lucrari de reparatii pod peste bratul borcea. se va circula cu restrictie de tonaj mtma > 50 to. distanta intre autovegicule se va mentine de cel putin 50m , cu o restrictie de viteza de 60 km / h",
          "detours": null,
          "detours_lc": null,
          "map_key": "A2|143+125|148+315"
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 6,
          "row_seq": 1,
          "section_code": "6",
          "section_title": "6. Drumuri naționale, drumuri expres și autostrăzi pe care se efectueaza lucrări de reabilitare, modernizări, întretinere și reparații:",
          "row_no": "6.2",
          "unmapped_columns": null,
          "road_code": "A3Cj",
          "km_from_text": "38+000",
          "km_from_km": 38,
          "km_to_text": "50+400",
          "km_to_km": 50.4,
          "valid_from": "2026-08-03T05:00:00.000Z",
          "valid_from_text": "2026-08-03 08:00:00",
          "valid_to": "2026-10-30T16:00:00.000Z",
          "valid_to_text": "2026-10-30 18:00:00",
          "between_localities": "-",
          "between_localities_lc": "-",
          "works_type": "Lucrari de intretinere periodica pe timp de vara - Straturi bituminoase foarte subtiri executate la rece",
          "works_type_lc": "lucrari de intretinere periodica pe timp de vara - straturi bituminoase foarte subtiri executate la rece",
          "detours": "In zona sectorului de lucru se circula cu restrictii de viteza, cu semnalizare corespunzatoare.",
          "detours_lc": "in zona sectorului de lucru se circula cu restrictii de viteza, cu semnalizare corespunzatoare.",
          "map_key": "A3Cj|38+000|50+400"
        }
      ]
    },
    {
      "name": "carriageway_condition",
      "description": "One row per reported condition of the carriageway itself — dry, wet, snow-covered, treated — per hourly snapshot. Reported per county in CNAIR's general table, and (in winter) per road in its detailed one. This is the surface underneath the traffic, not the traffic: a county can be reported \"Uscat\" while a road in it is closed for works.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare raportare a stării părții carosabile — uscat, umed, acoperit cu zăpadă, tratat — la fiecare instantaneu orar. Raportată pe județ în tabelul general al CNAIR și (iarna) pe drum în cel detaliat. Este suprafața de sub trafic, nu traficul: un județ poate fi raportat „Uscat\" în timp ce un drum din el este închis pentru lucrări.",
        "en": "One row per reported condition of the carriageway itself — dry, wet, snow-covered, treated — per hourly snapshot. Reported per county in CNAIR's general table, and (in winter) per road in its detailed one. This is the surface underneath the traffic, not the traffic: a county can be reported \"Uscat\" while a road in it is closed for works."
      },
      "rowCount": 4799,
      "lastRunRows": 20,
      "totalBytes": 33765,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "county_code",
        "section_index",
        "row_seq"
      ],
      "searchColumns": [
        "condition_text"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "section_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded.",
          "descriptions": {
            "ro": "Poziția (de la zero) a secțiunii din care provine rândul, numărată de sus în jos în pagina servită în ora respectivă. Face parte din cheia primară și este singura identitate pozițională sigură: NUMĂRUL secțiunii tipărit în titlu (section_code) este renumerotat din când în când de CNAIR, iar textul titlului este reformulat.",
            "en": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded."
          },
          "min": 7,
          "max": 8,
          "distinctApprox": 2
        },
        {
          "name": "row_seq",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that.",
          "descriptions": {
            "ro": "Poziția (de la zero) a rândului în tabelul secțiunii sale, așa cum a fost servit. Împreună cu section_index și coloanele de instantaneu formează cheia primară. Este o poziție, nu un identificator: CNAIR nu garantează că aceeași restricție păstrează aceeași poziție între două preluări, deci nu o folosi ca să urmărești un eveniment în timp — pentru asta ai (road_code, km_from_text, km_to_text) sau map_key.",
            "en": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that."
          },
          "min": 0,
          "max": 42,
          "distinctApprox": 43
        },
        {
          "name": "scope",
          "type": "VARCHAR",
          "nullable": false,
          "description": "Which of CNAIR's two carriageway tables this row came from: \"general\" (the per-county overview, section 7.1) or \"detailed\" (the per-road table, section 7.2, which is empty outside winter). Derived from the section heading's own wording, so it survives a renumbering.",
          "descriptions": {
            "ro": "Din care dintre cele două tabele de stare a părții carosabile provine rândul: „general\" (privirea de ansamblu pe județe, secțiunea 7.1) sau „detailed\" (tabelul pe drumuri, secțiunea 7.2, gol în afara iernii). Dedus din formularea titlului, deci supraviețuiește unei renumerotări.",
            "en": "Which of CNAIR's two carriageway tables this row came from: \"general\" (the per-county overview, section 7.1) or \"detailed\" (the per-road table, section 7.2, which is empty outside winter). Derived from the section heading's own wording, so it survives a renumbering."
          }
        },
        {
          "name": "section_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number.",
          "descriptions": {
            "ro": "Numărul secțiunii exact cum îl tipărește titlul — „1\", „1.1\", „5\", „7.1\", „8.4\". Este eticheta pe care o citează CNAIR însuși, iar câmpul `categorie` din harta interactivă o oglindește, deci este publicată. NU este însă ceea ce decide în ce tabel ajunge rândul: CNAIR renumerotează secțiunile, iar o renumerotare care ar reclasifica pe tăcute fiecare restricție ar fi cea mai gravă defecțiune posibilă a acestui set de date. NULL pentru lista drumurilor închise iarna, al cărei titlu nu are număr.",
            "en": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number."
          }
        },
        {
          "name": "section_title",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page.",
          "descriptions": {
            "ro": "Titlul secțiunii cuvânt cu cuvânt, cu tot cu număr și cu două puncte finale, exact cum l-a scris CNAIR în ora respectivă. Merită urmărit: este textul a cărui formulare se schimbă, iar compararea lui între instantanee este modul în care se vede reorganizarea paginii.",
            "en": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page."
          }
        },
        {
          "name": "row_no",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots.",
          "descriptions": {
            "ro": "Valoarea „NR. CRT.\" a sursei pentru acest rând, cuvânt cu cuvânt — CNAIR numerotează rândurile în interiorul unei secțiuni ca „5.1\", „5.2\" ș.a.m.d. Este un număr de afișare care se renumerotează ori de câte ori dispare un rând de deasupra, deci nu identifică nimic de la un instantaneu la altul.",
            "en": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots."
          }
        },
        {
          "name": "unmapped_columns",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run.",
          "descriptions": {
            "ro": "Etichetele de coloană purtate de acest rând pe care conectorul nu le mapează pe o coloană proprie, separate prin virgulă și cu litere mici — în mod normal NULL. O valoare nenulă este semnalul timpuriu că CNAIR a adăugat un câmp: datele nu sunt pierdute (sunt tot în pagină), dar încă nu sunt în acest tabel, iar conectorul scrie un avertisment cu numele etichetei la fiecare rulare.",
            "en": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run."
          }
        },
        {
          "name": "reported_at",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "When the reporting unit last updated this observation, as an instant. CNAIR publishes a bare wall-clock time and declares no timezone; it is read as Europe/Bucharest (EET/EEST) and converted to UTC — see reported_at_text for the untouched string. Note that this is usually EARLIER than snapshot_at, often by hours: the page shows the last report, not a live reading.",
          "descriptions": {
            "ro": "Momentul la care unitatea raportoare a actualizat ultima dată această observație. CNAIR publică o oră locală simplă și nu declară fusul; este citită ca oră a României (EET/EEST) și convertită în UTC — vezi reported_at_text pentru șirul neatins. De reținut că este de obicei MAI VECHE decât snapshot_at, adesea cu ore întregi: pagina arată ultima raportare, nu o citire în timp real.",
            "en": "When the reporting unit last updated this observation, as an instant. CNAIR publishes a bare wall-clock time and declares no timezone; it is read as Europe/Bucharest (EET/EEST) and converted to UTC — see reported_at_text for the untouched string. Note that this is usually EARLIER than snapshot_at, often by hours: the page shows the last report, not a live reading."
          }
        },
        {
          "name": "reported_at_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "reported_at exactly as CNAIR printed it.",
          "descriptions": {
            "ro": "reported_at exact cum l-a tipărit CNAIR.",
            "en": "reported_at exactly as CNAIR printed it."
          }
        },
        {
          "name": "county_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The county cell verbatim, name and plate code together as CNAIR writes it.",
          "descriptions": {
            "ro": "Celula de județ cuvânt cu cuvânt, cu nume și cod de înmatriculare împreună, așa cum o scrie CNAIR.",
            "en": "The county cell verbatim, name and plate code together as CNAIR writes it."
          }
        },
        {
          "name": "county_name",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The county (județ) name, split out of county_text. Written in capitals and without diacritics by the source (\"BISTRITA-NASAUD\", not \"Bistrița-Năsăud\"), and left that way rather than prettified, so it matches the page.",
          "descriptions": {
            "ro": "Numele județului, extras din county_text. Sursa îl scrie cu majuscule și fără diacritice („BISTRITA-NASAUD\", nu „Bistrița-Năsăud\"), iar aici este lăsat așa, ca să corespundă paginii.",
            "en": "The county (județ) name, split out of county_text. Written in capitals and without diacritics by the source (\"BISTRITA-NASAUD\", not \"Bistrița-Năsăud\"), and left that way rather than prettified, so it matches the page."
          }
        },
        {
          "name": "county_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The county plate code — AB, AR, BZ, … and B for Bucharest. The stable key for joining to any other Romanian county dataset; the name is not.",
          "descriptions": {
            "ro": "Codul de înmatriculare al județului — AB, AR, BZ… și B pentru București. Este cheia stabilă pentru unirea cu orice alt set de date pe județe; numele nu este.",
            "en": "The county plate code — AB, AR, BZ, … and B for Bucharest. The stable key for joining to any other Romanian county dataset; the name is not."
          },
          "min": "AB",
          "max": "VS"
        },
        {
          "name": "road_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The road indicative, when the row names one. NULL on every row from the per-county general table (scope = \"general\"), which reports a whole county at once. CNAIR's detailed winter table is the one that names roads, and it was empty throughout the 2026-09-02 capture — this column is populated by matching the cell CNAIR labels \"INDICATIV DRUM\", the same label its other tables use, rather than by a column position nobody has observed.",
          "descriptions": {
            "ro": "Indicativul drumului, când rândul numește unul. NULL pe fiecare rând din tabelul general pe județe (scope = „general\"), care raportează un județ întreg deodată. Tabelul detaliat de iarnă este cel care numește drumuri și a fost gol pe tot parcursul capturării din 2026-09-02 — coloana se completează potrivind celula etichetată „INDICATIV DRUM\", aceeași etichetă folosită de celelalte tabele, nu o poziție de coloană pe care nimeni nu a observat-o.",
            "en": "The road indicative, when the row names one. NULL on every row from the per-county general table (scope = \"general\"), which reports a whole county at once. CNAIR's detailed winter table is the one that names roads, and it was empty throughout the 2026-09-02 capture — this column is populated by matching the cell CNAIR labels \"INDICATIV DRUM\", the same label its other tables use, rather than by a column position nobody has observed."
          }
        },
        {
          "name": "km_from_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Start of the stretch this condition applies to, in kilometre+metres notation, when the source gives one. NULL for a per-county row. See the note on road_code.",
          "descriptions": {
            "ro": "Începutul sectorului la care se referă starea raportată, în notație kilometru+metri, când sursa dă una. NULL pentru un rând pe județ. Vezi nota de la road_code.",
            "en": "Start of the stretch this condition applies to, in kilometre+metres notation, when the source gives one. NULL for a per-county row. See the note on road_code."
          }
        },
        {
          "name": "km_from_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_from_text as a number of kilometres.",
          "descriptions": {
            "ro": "km_from_text ca număr de kilometri.",
            "en": "km_from_text as a number of kilometres."
          },
          "unit": "km"
        },
        {
          "name": "km_to_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "End of the stretch, same notation as km_from_text.",
          "descriptions": {
            "ro": "Sfârșitul sectorului, aceeași notație ca km_from_text.",
            "en": "End of the stretch, same notation as km_from_text."
          }
        },
        {
          "name": "km_to_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_to_text as a number of kilometres.",
          "descriptions": {
            "ro": "km_to_text ca număr de kilometri.",
            "en": "km_to_text as a number of kilometres."
          },
          "unit": "km"
        },
        {
          "name": "condition_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The condition as reported, in the reporting unit's own words — \"Uscat\" (dry), \"Umed\" (damp), \"Umed cu portiuni de polei\", \"Acoperit cu zapada framantata\". Every value in the 2026-09-02 capture was \"Uscat\", which is what a warm September looks like; the vocabulary widens in winter and is not drawn from a fixed list, so filter with condition_text_lc rather than equality.",
          "descriptions": {
            "ro": "Starea raportată, în cuvintele unității raportoare — „Uscat\", „Umed\", „Umed cu portiuni de polei\", „Acoperit cu zapada framantata\". Toate valorile din capturarea din 2026-09-02 erau „Uscat\", ceea ce arată un septembrie cald; vocabularul se lărgește iarna și nu provine dintr-o listă fixă, deci filtrează cu condition_text_lc, nu cu egalitate.",
            "en": "The condition as reported, in the reporting unit's own words — \"Uscat\" (dry), \"Umed\" (damp), \"Umed cu portiuni de polei\", \"Acoperit cu zapada framantata\". Every value in the 2026-09-02 capture was \"Uscat\", which is what a warm September looks like; the vocabulary widens in winter and is not drawn from a fixed list, so filter with condition_text_lc rather than equality."
          }
        },
        {
          "name": "condition_text_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "condition_text, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "condition_text cu litere mici și fără diacritice, pentru căutare.",
            "en": "condition_text, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "map_key",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The key that joins this row to its geometry in map_features: road indicative, start kilometre and end kilometre in CNAIR's own notation, pipe-separated. It is built from the map-zoom target encoded in the row's \"VEZI PE HARTĂ\" cell (onclick=\"actualizareharta('DN10',76,795,76,870)\"), which is the link CNAIR itself draws between the table and the map. On the 2026-09-02 capture all 123 table rows carried one and the 123 keys matched the 123 map features exactly, with nothing left over on either side. NULL when the row has no map cell.",
          "descriptions": {
            "ro": "Cheia care leagă acest rând de geometria sa din map_features: indicativul drumului, kilometrul de început și cel de sfârșit în notația CNAIR, separate prin bară verticală. Este construită din ținta de zoom pe hartă codificată în celula „VEZI PE HARTĂ\" a rândului (onclick=\"actualizareharta('DN10',76,795,76,870)\"), adică din legătura pe care CNAIR însuși o trasează între tabel și hartă. În capturarea din 2026-09-02, toate cele 123 de rânduri aveau o astfel de celulă, iar cele 123 de chei s-au potrivit exact cu cele 123 de obiecte de pe hartă, fără rest de nicio parte. NULL când rândul nu are celulă de hartă.",
            "en": "The key that joins this row to its geometry in map_features: road indicative, start kilometre and end kilometre in CNAIR's own notation, pipe-separated. It is built from the map-zoom target encoded in the row's \"VEZI PE HARTĂ\" cell (onclick=\"actualizareharta('DN10',76,795,76,870)\"), which is the link CNAIR itself draws between the table and the map. On the 2026-09-02 capture all 123 table rows carried one and the 123 keys matched the 123 map features exactly, with nothing left over on either side. NULL when the row has no map cell."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/carriageway_condition.parquet",
          "sizeBytes": 33765,
          "rowCount": 4799,
          "etag": "\"10523fb5bbb483e55fa4d7fe09a0d4c2\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "county_code": {
              "min": "AB",
              "max": "VS"
            },
            "section_index": {
              "min": 7,
              "max": 8
            },
            "row_seq": {
              "min": 0,
              "max": 42
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 7,
          "row_seq": 0,
          "scope": "general",
          "section_code": "7.1",
          "section_title": "7.1 Starea generală a părții carosabile:",
          "row_no": "7.1.1",
          "unmapped_columns": null,
          "reported_at": "2026-09-02T03:16:12.000Z",
          "reported_at_text": "2026-09-02 06:16:12",
          "county_text": "ALBA (AB)",
          "county_name": "ALBA",
          "county_code": "AB",
          "road_code": null,
          "km_from_text": null,
          "km_from_km": null,
          "km_to_text": null,
          "km_to_km": null,
          "condition_text": "Uscat",
          "condition_text_lc": "uscat",
          "map_key": null
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 7,
          "row_seq": 2,
          "scope": "general",
          "section_code": "7.1",
          "section_title": "7.1 Starea generală a părții carosabile:",
          "row_no": "7.1.3",
          "unmapped_columns": null,
          "reported_at": "2026-09-02T05:19:58.000Z",
          "reported_at_text": "2026-09-02 08:19:58",
          "county_text": "ARGES (AG)",
          "county_name": "ARGES",
          "county_code": "AG",
          "road_code": null,
          "km_from_text": null,
          "km_from_km": null,
          "km_to_text": null,
          "km_to_km": null,
          "condition_text": "Uscat.",
          "condition_text_lc": "uscat.",
          "map_key": null
        }
      ]
    },
    {
      "name": "weather_observations",
      "description": "One row per road-weather observation reported to the CNAIR dispatch centre, per hourly snapshot: visibility, state of the sky, and wind speed and direction, per weather station. Most rows are automatic readings relayed from ANM (the national meteorological administration) stations; report_type says which.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare observație meteo rutieră raportată dispeceratului CNAIR, la fiecare instantaneu orar: vizibilitatea, starea cerului și viteza și direcția vântului, pe stație meteo. Majoritatea rândurilor sunt citiri automate retransmise de la stațiile ANM; report_type spune care.",
        "en": "One row per road-weather observation reported to the CNAIR dispatch centre, per hourly snapshot: visibility, state of the sky, and wind speed and direction, per weather station. Most rows are automatic readings relayed from ANM (the national meteorological administration) stations; report_type says which."
      },
      "rowCount": 23416,
      "lastRunRows": 171,
      "totalBytes": 190689,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "observation_kind",
        "county_code",
        "locality"
      ],
      "searchColumns": [
        "locality",
        "visibility_text",
        "weather_conditions_text",
        "sky_state_text"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "section_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded.",
          "descriptions": {
            "ro": "Poziția (de la zero) a secțiunii din care provine rândul, numărată de sus în jos în pagina servită în ora respectivă. Face parte din cheia primară și este singura identitate pozițională sigură: NUMĂRUL secțiunii tipărit în titlu (section_code) este renumerotat din când în când de CNAIR, iar textul titlului este reformulat.",
            "en": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded."
          },
          "distinctApprox": 3
        },
        {
          "name": "row_seq",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that.",
          "descriptions": {
            "ro": "Poziția (de la zero) a rândului în tabelul secțiunii sale, așa cum a fost servit. Împreună cu section_index și coloanele de instantaneu formează cheia primară. Este o poziție, nu un identificator: CNAIR nu garantează că aceeași restricție păstrează aceeași poziție între două preluări, deci nu o folosi ca să urmărești un eveniment în timp — pentru asta ai (road_code, km_from_text, km_to_text) sau map_key.",
            "en": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that."
          },
          "distinctApprox": 102
        },
        {
          "name": "observation_kind",
          "type": "VARCHAR",
          "nullable": false,
          "description": "What this row measures: \"visibility\", \"sky\" or \"wind\". Derived from the meaning of the sub-section heading it came from, not from its number. Which of the measurement columns below are populated follows directly from it.",
          "descriptions": {
            "ro": "Ce măsoară rândul: „visibility\" (vizibilitate), „sky\" (starea cerului) sau „wind\" (vânt). Dedus din înțelesul subtitlului din care provine, nu din numărul lui. Care dintre coloanele de măsurare de mai jos sunt completate decurge direct de aici.",
            "en": "What this row measures: \"visibility\", \"sky\" or \"wind\". Derived from the meaning of the sub-section heading it came from, not from its number. Which of the measurement columns below are populated follows directly from it."
          },
          "min": "sky",
          "max": "wind"
        },
        {
          "name": "section_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number.",
          "descriptions": {
            "ro": "Numărul secțiunii exact cum îl tipărește titlul — „1\", „1.1\", „5\", „7.1\", „8.4\". Este eticheta pe care o citează CNAIR însuși, iar câmpul `categorie` din harta interactivă o oglindește, deci este publicată. NU este însă ceea ce decide în ce tabel ajunge rândul: CNAIR renumerotează secțiunile, iar o renumerotare care ar reclasifica pe tăcute fiecare restricție ar fi cea mai gravă defecțiune posibilă a acestui set de date. NULL pentru lista drumurilor închise iarna, al cărei titlu nu are număr.",
            "en": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number."
          }
        },
        {
          "name": "section_title",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page.",
          "descriptions": {
            "ro": "Titlul secțiunii cuvânt cu cuvânt, cu tot cu număr și cu două puncte finale, exact cum l-a scris CNAIR în ora respectivă. Merită urmărit: este textul a cărui formulare se schimbă, iar compararea lui între instantanee este modul în care se vede reorganizarea paginii.",
            "en": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page."
          }
        },
        {
          "name": "row_no",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots.",
          "descriptions": {
            "ro": "Valoarea „NR. CRT.\" a sursei pentru acest rând, cuvânt cu cuvânt — CNAIR numerotează rândurile în interiorul unei secțiuni ca „5.1\", „5.2\" ș.a.m.d. Este un număr de afișare care se renumerotează ori de câte ori dispare un rând de deasupra, deci nu identifică nimic de la un instantaneu la altul.",
            "en": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots."
          }
        },
        {
          "name": "unmapped_columns",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run.",
          "descriptions": {
            "ro": "Etichetele de coloană purtate de acest rând pe care conectorul nu le mapează pe o coloană proprie, separate prin virgulă și cu litere mici — în mod normal NULL. O valoare nenulă este semnalul timpuriu că CNAIR a adăugat un câmp: datele nu sunt pierdute (sunt tot în pagină), dar încă nu sunt în acest tabel, iar conectorul scrie un avertisment cu numele etichetei la fiecare rulare.",
            "en": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run."
          }
        },
        {
          "name": "report_type",
          "type": "VARCHAR",
          "nullable": true,
          "description": "How the observation reached CNAIR, in its own words — \"Automată, Stație meteo ANM\" for a reading relayed automatically from a national meteorological station, other wording for a human report from a road district. Worth filtering on: an automatic station reports a number, a person reports a judgement.",
          "descriptions": {
            "ro": "Cum a ajuns observația la CNAIR, în cuvintele lui — „Automată, Stație meteo ANM\" pentru o citire retransmisă automat de la o stație meteorologică națională, altă formulare pentru o raportare umană dintr-o secție de drumuri. Merită filtrat: o stație automată raportează un număr, un om raportează o apreciere.",
            "en": "How the observation reached CNAIR, in its own words — \"Automată, Stație meteo ANM\" for a reading relayed automatically from a national meteorological station, other wording for a human report from a road district. Worth filtering on: an automatic station reports a number, a person reports a judgement."
          }
        },
        {
          "name": "reported_at",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "When the observation was made, as an instant, read as Europe/Bucharest local time and converted to UTC (CNAIR declares no timezone — see reported_at_text). Usually minutes to hours before snapshot_at.",
          "descriptions": {
            "ro": "Momentul observației, citit ca oră locală a României și convertit în UTC (CNAIR nu declară fusul — vezi reported_at_text). De obicei cu minute sau ore înainte de snapshot_at.",
            "en": "When the observation was made, as an instant, read as Europe/Bucharest local time and converted to UTC (CNAIR declares no timezone — see reported_at_text). Usually minutes to hours before snapshot_at."
          }
        },
        {
          "name": "reported_at_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "reported_at exactly as CNAIR printed it.",
          "descriptions": {
            "ro": "reported_at exact cum l-a tipărit CNAIR.",
            "en": "reported_at exactly as CNAIR printed it."
          }
        },
        {
          "name": "county_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The county cell verbatim, where the table has one.",
          "descriptions": {
            "ro": "Celula de județ cuvânt cu cuvânt, acolo unde tabelul are una.",
            "en": "The county cell verbatim, where the table has one."
          }
        },
        {
          "name": "county_name",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The county name, split out of county_text.",
          "descriptions": {
            "ro": "Numele județului, extras din county_text.",
            "en": "The county name, split out of county_text."
          }
        },
        {
          "name": "county_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The county plate code. Present either from a county column of its own (visibility, wind) or parsed out of the bracketed suffix on the locality (sky, e.g. \"ALEXANDRIA (TR)\").",
          "descriptions": {
            "ro": "Codul de înmatriculare al județului. Provine fie dintr-o coloană proprie de județ (vizibilitate, vânt), fie din sufixul dintre paranteze al localității (cer, de exemplu „ALEXANDRIA (TR)\").",
            "en": "The county plate code. Present either from a county column of its own (visibility, wind) or parsed out of the bracketed suffix on the locality (sky, e.g. \"ALEXANDRIA (TR)\")."
          },
          "min": "AB",
          "max": "VS"
        },
        {
          "name": "locality",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The reporting station or place, as CNAIR names it — \"ALBA IULIA\", \"BALEA LAC (SB)\", \"INTORSURA BUZAULUI\". Capitals, no diacritics. It is the practical key for following one station through time, but it is a name CNAIR types, not an identifier: a station renamed upstream becomes a different value here.",
          "descriptions": {
            "ro": "Stația raportoare sau locul, cum îl numește CNAIR — „ALBA IULIA\", „BALEA LAC (SB)\", „INTORSURA BUZAULUI\". Majuscule, fără diacritice. Este cheia practică pentru a urmări o stație în timp, dar este un nume tastat de CNAIR, nu un identificator: o stație redenumită în amonte devine aici altă valoare.",
            "en": "The reporting station or place, as CNAIR names it — \"ALBA IULIA\", \"BALEA LAC (SB)\", \"INTORSURA BUZAULUI\". Capitals, no diacritics. It is the practical key for following one station through time, but it is a name CNAIR types, not an identifier: a station renamed upstream becomes a different value here."
          },
          "min": "ADAMCLISI",
          "max": "ZIMNICEA"
        },
        {
          "name": "locality_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "locality, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "locality cu litere mici și fără diacritice, pentru căutare.",
            "en": "locality, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "visibility_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The visibility report, in the reporter's own words. Populated only when observation_kind = \"visibility\". Automatic stations write the standing sentence \"Raportare automata statie meteo, nu s-a efectuat observatia.\" — which means the station did not make a visibility observation at all, NOT that visibility was good.",
          "descriptions": {
            "ro": "Raportarea de vizibilitate, în cuvintele raportorului. Completată doar când observation_kind = „visibility\". Stațiile automate scriu fraza-tip „Raportare automata statie meteo, nu s-a efectuat observatia.\" — ceea ce înseamnă că stația NU a făcut deloc observație de vizibilitate, nu că vizibilitatea era bună.",
            "en": "The visibility report, in the reporter's own words. Populated only when observation_kind = \"visibility\". Automatic stations write the standing sentence \"Raportare automata statie meteo, nu s-a efectuat observatia.\" — which means the station did not make a visibility observation at all, NOT that visibility was good."
          }
        },
        {
          "name": "visibility_text_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "visibility_text, lowercased and accent-folded.",
          "descriptions": {
            "ro": "visibility_text cu litere mici și fără diacritice.",
            "en": "visibility_text, lowercased and accent-folded."
          }
        },
        {
          "name": "weather_conditions_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The accompanying weather note CNAIR prints beside a visibility report — \"Aer cetos\" (hazy air), \"Ceata\" (fog). Populated only when observation_kind = \"visibility\".",
          "descriptions": {
            "ro": "Nota meteo pe care CNAIR o tipărește alături de raportarea de vizibilitate — „Aer cetos\", „Ceata\". Completată doar când observation_kind = „visibility\".",
            "en": "The accompanying weather note CNAIR prints beside a visibility report — \"Aer cetos\" (hazy air), \"Ceata\" (fog). Populated only when observation_kind = \"visibility\"."
          }
        },
        {
          "name": "weather_conditions_text_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "weather_conditions_text, lowercased and accent-folded.",
          "descriptions": {
            "ro": "weather_conditions_text cu litere mici și fără diacritice.",
            "en": "weather_conditions_text, lowercased and accent-folded."
          }
        },
        {
          "name": "sky_state_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The state of the sky — \"Cer senin\" (clear), \"Cer noros\" (cloudy), \"Cer acoperit\" (overcast). Populated only when observation_kind = \"sky\".",
          "descriptions": {
            "ro": "Starea cerului — „Cer senin\", „Cer noros\", „Cer acoperit\". Completată doar când observation_kind = „sky\".",
            "en": "The state of the sky — \"Cer senin\" (clear), \"Cer noros\" (cloudy), \"Cer acoperit\" (overcast). Populated only when observation_kind = \"sky\"."
          }
        },
        {
          "name": "sky_state_text_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "sky_state_text, lowercased and accent-folded.",
          "descriptions": {
            "ro": "sky_state_text cu litere mici și fără diacritice.",
            "en": "sky_state_text, lowercased and accent-folded."
          }
        },
        {
          "name": "wind_speed_kmh",
          "type": "DECIMAL(6,2)",
          "nullable": true,
          "description": "Wind speed at the station. Populated only when observation_kind = \"wind\". CNAIR heads the column \"Viteza(km/h)\" and prints two decimals (\"1.08\", \"7.56\"), which is the signature of a metres-per-second reading converted upstream rather than an anemometer reporting in km/h. NULL when the cell was not a plain number — a station reporting a word gets NULL and its text stays in wind_speed_text, never a fabricated zero.",
          "descriptions": {
            "ro": "Viteza vântului la stație. Completată doar când observation_kind = „wind\". CNAIR intitulează coloana „Viteza(km/h)\" și tipărește două zecimale („1.08\", „7.56\"), ceea ce trădează o citire în metri pe secundă convertită în amonte, nu un anemometru care raportează în km/h. NULL când celula nu era un număr simplu — o stație care raportează un cuvânt primește NULL, iar textul rămâne în wind_speed_text; niciodată un zero inventat.",
            "en": "Wind speed at the station. Populated only when observation_kind = \"wind\". CNAIR heads the column \"Viteza(km/h)\" and prints two decimals (\"1.08\", \"7.56\"), which is the signature of a metres-per-second reading converted upstream rather than an anemometer reporting in km/h. NULL when the cell was not a plain number — a station reporting a word gets NULL and its text stays in wind_speed_text, never a fabricated zero."
          },
          "unit": "km/h"
        },
        {
          "name": "wind_speed_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The wind speed cell verbatim, before parsing.",
          "descriptions": {
            "ro": "Celula de viteză a vântului cuvânt cu cuvânt, înainte de interpretare.",
            "en": "The wind speed cell verbatim, before parsing."
          }
        },
        {
          "name": "wind_direction",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Where the wind is blowing from, in Romanian compass words — \"est, sud-est\", \"vest, nord-vest\". Two adjacent points separated by a comma is the source's way of writing a direction between them. Populated only when observation_kind = \"wind\".",
          "descriptions": {
            "ro": "De unde bate vântul, în cuvintele busolei românești — „est, sud-est\", „vest, nord-vest\". Două puncte cardinale alăturate, despărțite de virgulă, sunt felul sursei de a scrie o direcție intermediară. Completată doar când observation_kind = „wind\".",
            "en": "Where the wind is blowing from, in Romanian compass words — \"est, sud-est\", \"vest, nord-vest\". Two adjacent points separated by a comma is the source's way of writing a direction between them. Populated only when observation_kind = \"wind\"."
          }
        },
        {
          "name": "wind_direction_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "wind_direction, lowercased and accent-folded.",
          "descriptions": {
            "ro": "wind_direction cu litere mici și fără diacritice.",
            "en": "wind_direction, lowercased and accent-folded."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/weather_observations.parquet",
          "sizeBytes": 190689,
          "rowCount": 23416,
          "etag": "\"c2b2800133c262905df0bcc21cc3db76\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "observation_kind": {
              "min": "sky",
              "max": "wind"
            },
            "county_code": {
              "min": "AB",
              "max": "VS"
            },
            "locality": {
              "min": "ADAMCLISI",
              "max": "ZIMNICEA"
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 13,
          "row_seq": 1,
          "observation_kind": "sky",
          "section_code": "8.3",
          "section_title": "8.3 Cer:",
          "row_no": "8.3.2",
          "unmapped_columns": null,
          "report_type": "Automată, Stație meteo ANM",
          "reported_at": "2026-09-02T06:15:04.000Z",
          "reported_at_text": "2026-09-02 09:15:04",
          "county_text": null,
          "county_name": null,
          "county_code": "AB",
          "locality": "ALBA IULIA",
          "locality_lc": "alba iulia",
          "visibility_text": null,
          "visibility_text_lc": null,
          "weather_conditions_text": null,
          "weather_conditions_text_lc": null,
          "sky_state_text": "Cer senin",
          "sky_state_text_lc": "cer senin",
          "wind_speed_kmh": null,
          "wind_speed_text": null,
          "wind_direction": null,
          "wind_direction_lc": null
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 13,
          "row_seq": 24,
          "observation_kind": "sky",
          "section_code": "8.3",
          "section_title": "8.3 Cer:",
          "row_no": "8.3.25",
          "unmapped_columns": null,
          "report_type": "Automată, Stație meteo ANM",
          "reported_at": "2026-09-02T06:15:20.000Z",
          "reported_at_text": "2026-09-02 09:15:20",
          "county_text": null,
          "county_name": null,
          "county_code": "AG",
          "locality": "CAMPULUNG MUSCEL",
          "locality_lc": "campulung muscel",
          "visibility_text": null,
          "visibility_text_lc": null,
          "weather_conditions_text": null,
          "weather_conditions_text_lc": null,
          "sky_state_text": "Cer senin",
          "sky_state_text_lc": "cer senin",
          "wind_speed_kmh": null,
          "wind_speed_text": null,
          "wind_direction": null,
          "wind_direction_lc": null
        }
      ]
    },
    {
      "name": "temperatures",
      "description": "One row per air temperature reading relayed to the CNAIR dispatch centre, per weather station, per hourly snapshot — around 100 stations across Romania. Reported to whole degrees Celsius. This is air temperature at the station, NOT road surface temperature, which is the number that decides whether a road ices over.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare temperatură a aerului transmisă dispeceratului CNAIR, pe stație meteo, la fiecare instantaneu orar — aproximativ 100 de stații din toată România. Raportată în grade Celsius întregi. Este temperatura AERULUI la stație, NU temperatura părții carosabile, care este cea care decide dacă drumul face polei.",
        "en": "One row per air temperature reading relayed to the CNAIR dispatch centre, per weather station, per hourly snapshot — around 100 stations across Romania. Reported to whole degrees Celsius. This is air temperature at the station, NOT road surface temperature, which is the number that decides whether a road ices over."
      },
      "rowCount": 14482,
      "lastRunRows": 100,
      "totalBytes": 97348,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "station_name",
        "row_seq"
      ],
      "searchColumns": [
        "station_name"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "section_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded.",
          "descriptions": {
            "ro": "Poziția (de la zero) a secțiunii din care provine rândul, numărată de sus în jos în pagina servită în ora respectivă. Face parte din cheia primară și este singura identitate pozițională sigură: NUMĂRUL secțiunii tipărit în titlu (section_code) este renumerotat din când în când de CNAIR, iar textul titlului este reformulat.",
            "en": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded."
          },
          "distinctApprox": 1
        },
        {
          "name": "row_seq",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that.",
          "descriptions": {
            "ro": "Poziția (de la zero) a rândului în tabelul secțiunii sale, așa cum a fost servit. Împreună cu section_index și coloanele de instantaneu formează cheia primară. Este o poziție, nu un identificator: CNAIR nu garantează că aceeași restricție păstrează aceeași poziție între două preluări, deci nu o folosi ca să urmărești un eveniment în timp — pentru asta ai (road_code, km_from_text, km_to_text) sau map_key.",
            "en": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that."
          },
          "min": 0,
          "max": 115,
          "distinctApprox": 117
        },
        {
          "name": "section_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number.",
          "descriptions": {
            "ro": "Numărul secțiunii exact cum îl tipărește titlul — „1\", „1.1\", „5\", „7.1\", „8.4\". Este eticheta pe care o citează CNAIR însuși, iar câmpul `categorie` din harta interactivă o oglindește, deci este publicată. NU este însă ceea ce decide în ce tabel ajunge rândul: CNAIR renumerotează secțiunile, iar o renumerotare care ar reclasifica pe tăcute fiecare restricție ar fi cea mai gravă defecțiune posibilă a acestui set de date. NULL pentru lista drumurilor închise iarna, al cărei titlu nu are număr.",
            "en": "The section number exactly as the heading prints it — \"1\", \"1.1\", \"5\", \"7.1\", \"8.4\". This is the label CNAIR itself cites, and the map payload's `categorie` field mirrors it, so it is published. It is deliberately NOT what decides which table a row lands in: CNAIR renumbers these sections, and a renumber that silently reclassified every closure would be the worst failure this dataset could have. NULL for the winter-closure list, whose heading carries no number."
          }
        },
        {
          "name": "section_title",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page.",
          "descriptions": {
            "ro": "Titlul secțiunii cuvânt cu cuvânt, cu tot cu număr și cu două puncte finale, exact cum l-a scris CNAIR în ora respectivă. Merită urmărit: este textul a cărui formulare se schimbă, iar compararea lui între instantanee este modul în care se vede reorganizarea paginii.",
            "en": "The section heading verbatim, number and trailing colon included, exactly as CNAIR wrote it that hour. Keep an eye on it: this is the string whose wording moves, and comparing it across snapshots is how you see CNAIR reorganise the page."
          }
        },
        {
          "name": "row_no",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots.",
          "descriptions": {
            "ro": "Valoarea „NR. CRT.\" a sursei pentru acest rând, cuvânt cu cuvânt — CNAIR numerotează rândurile în interiorul unei secțiuni ca „5.1\", „5.2\" ș.a.m.d. Este un număr de afișare care se renumerotează ori de câte ori dispare un rând de deasupra, deci nu identifică nimic de la un instantaneu la altul.",
            "en": "The source's own \"NR. CRT.\" value for this row, verbatim — CNAIR numbers rows within a section as \"5.1\", \"5.2\", … It is a display number that renumbers whenever a row above is removed, so it identifies nothing across snapshots."
          }
        },
        {
          "name": "unmapped_columns",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run.",
          "descriptions": {
            "ro": "Etichetele de coloană purtate de acest rând pe care conectorul nu le mapează pe o coloană proprie, separate prin virgulă și cu litere mici — în mod normal NULL. O valoare nenulă este semnalul timpuriu că CNAIR a adăugat un câmp: datele nu sunt pierdute (sunt tot în pagină), dar încă nu sunt în acest tabel, iar conectorul scrie un avertisment cu numele etichetei la fiecare rulare.",
            "en": "Column labels this row carried that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value is the early warning that CNAIR has added a field: the data is not lost (it is still on the page) but it is not in this table yet, and the connector logs a warning naming the label on every run."
          }
        },
        {
          "name": "report_type",
          "type": "VARCHAR",
          "nullable": true,
          "description": "How the reading reached CNAIR — \"Automată, Stație meteo ANM\" for an automatic relay from a national meteorological station, other wording for a human report.",
          "descriptions": {
            "ro": "Cum a ajuns citirea la CNAIR — „Automată, Stație meteo ANM\" pentru o retransmisie automată de la o stație meteorologică națională, altă formulare pentru o raportare umană.",
            "en": "How the reading reached CNAIR — \"Automată, Stație meteo ANM\" for an automatic relay from a national meteorological station, other wording for a human report."
          }
        },
        {
          "name": "reported_at",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "When the reading was taken, as an instant, read as Europe/Bucharest local time and converted to UTC (CNAIR declares no timezone — see reported_at_text).",
          "descriptions": {
            "ro": "Momentul citirii, citit ca oră locală a României și convertit în UTC (CNAIR nu declară fusul — vezi reported_at_text).",
            "en": "When the reading was taken, as an instant, read as Europe/Bucharest local time and converted to UTC (CNAIR declares no timezone — see reported_at_text)."
          }
        },
        {
          "name": "reported_at_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "reported_at exactly as CNAIR printed it.",
          "descriptions": {
            "ro": "reported_at exact cum l-a tipărit CNAIR.",
            "en": "reported_at exactly as CNAIR printed it."
          }
        },
        {
          "name": "station_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The station cell verbatim, as CNAIR writes it: a place in capitals, then its county plate code in brackets.",
          "descriptions": {
            "ro": "Celula de stație cuvânt cu cuvânt, cum o scrie CNAIR: o localitate cu majuscule, apoi codul de județ între paranteze.",
            "en": "The station cell verbatim, as CNAIR writes it: a place in capitals, then its county plate code in brackets."
          }
        },
        {
          "name": "station_name",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The station name, split out of station_text — \"BUCURESTI FILARET\", \"BALEA LAC\". Bucharest has several stations and they are distinguished only by this name, so it is the column to group by. A name CNAIR types, not an identifier.",
          "descriptions": {
            "ro": "Numele stației, extras din station_text — „BUCURESTI FILARET\", „BALEA LAC\". Bucureștiul are mai multe stații și se deosebesc doar prin acest nume, deci este coloana după care se grupează. Un nume tastat de CNAIR, nu un identificator.",
            "en": "The station name, split out of station_text — \"BUCURESTI FILARET\", \"BALEA LAC\". Bucharest has several stations and they are distinguished only by this name, so it is the column to group by. A name CNAIR types, not an identifier."
          },
          "min": "ADAMCLISI",
          "max": "ZIMNICEA"
        },
        {
          "name": "station_name_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "station_name, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "station_name cu litere mici și fără diacritice, pentru căutare.",
            "en": "station_name, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "county_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The county plate code parsed out of the station cell's bracketed suffix.",
          "descriptions": {
            "ro": "Codul de județ extras din sufixul dintre paranteze al celulei de stație.",
            "en": "The county plate code parsed out of the station cell's bracketed suffix."
          }
        },
        {
          "name": "temperature_c",
          "type": "DECIMAL(5,2)",
          "nullable": true,
          "description": "Air temperature at the station. The source prints it as an integer with a degree suffix (\"23°C\", \"-3°C\"); the suffix is stripped and the number kept, with the unit on the column where it belongs. DECIMAL rather than DOUBLE so a reading is exact and a monthly average is reproducible. NULL when the cell was not a number — never a fabricated zero, which on this column would read as freezing.",
          "descriptions": {
            "ro": "Temperatura aerului la stație. Sursa o tipărește ca număr întreg cu sufix de grade („23°C\", „-3°C\"); sufixul este eliminat, iar unitatea stă pe coloană, unde îi este locul. DECIMAL, nu DOUBLE, ca o citire să fie exactă și o medie lunară reproductibilă. NULL când celula nu era un număr — niciodată un zero inventat, care pe această coloană s-ar citi drept îngheț.",
            "en": "Air temperature at the station. The source prints it as an integer with a degree suffix (\"23°C\", \"-3°C\"); the suffix is stripped and the number kept, with the unit on the column where it belongs. DECIMAL rather than DOUBLE so a reading is exact and a monthly average is reproducible. NULL when the cell was not a number — never a fabricated zero, which on this column would read as freezing."
          },
          "unit": "°C"
        },
        {
          "name": "temperature_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The temperature cell verbatim, degree sign included, before parsing.",
          "descriptions": {
            "ro": "Celula de temperatură cuvânt cu cuvânt, cu tot cu semnul de grade, înainte de interpretare.",
            "en": "The temperature cell verbatim, degree sign included, before parsing."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/temperatures.parquet",
          "sizeBytes": 97348,
          "rowCount": 14482,
          "etag": "\"0a91533e845cac034c0e135d038e9ebf\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "station_name": {
              "min": "ADAMCLISI",
              "max": "ZIMNICEA"
            },
            "row_seq": {
              "min": 0,
              "max": 115
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 15,
          "row_seq": 43,
          "section_code": "9",
          "section_title": "9. Temperaturi:",
          "row_no": "9.44",
          "unmapped_columns": null,
          "report_type": "Automată, Stație meteo ANM",
          "reported_at": "2026-09-02T06:15:02.000Z",
          "reported_at_text": "2026-09-02 09:15:02",
          "station_text": "ADAMCLISI (CT)",
          "station_name": "ADAMCLISI",
          "station_name_lc": "adamclisi",
          "county_code": "CT",
          "temperature_c": 21,
          "temperature_text": "21°C"
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 15,
          "row_seq": 110,
          "section_code": "9",
          "section_title": "9. Temperaturi:",
          "row_no": "9.111",
          "unmapped_columns": null,
          "report_type": "Automată, Stație meteo ANM",
          "reported_at": "2026-09-02T06:15:03.000Z",
          "reported_at_text": "2026-09-02 09:15:03",
          "station_text": "ADJUD (VN)",
          "station_name": "ADJUD",
          "station_name_lc": "adjud",
          "county_code": "VN",
          "temperature_c": 19,
          "temperature_text": "19°C"
        }
      ]
    },
    {
      "name": "winter_closed_roads",
      "description": "One row per national road segment classed at viability level IV and therefore closed to traffic for the whole winter — CNAIR's standing list, captured at each hourly snapshot. These are high mountain roads (Transfăgărășan, Transalpina and similar). A closure here is policy, not an event: the road is on this list all year, and being on it does not by itself say whether the barrier is down today.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare sector de drum național încadrat la nivelul IV de viabilitate și, prin urmare, închis circulației pe toată durata iernii — lista permanentă a CNAIR, preluată la fiecare instantaneu orar. Sunt drumuri de munte înalt (Transfăgărășanul, Transalpina și altele asemenea). Închiderea de aici este o politică, nu un eveniment: drumul este pe listă tot anul, iar prezența pe listă nu spune de la sine dacă bariera este coborâtă astăzi.",
        "en": "One row per national road segment classed at viability level IV and therefore closed to traffic for the whole winter — CNAIR's standing list, captured at each hourly snapshot. These are high mountain roads (Transfăgărășan, Transalpina and similar). A closure here is policy, not an event: the road is on this list all year, and being on it does not by itself say whether the barrier is down today."
      },
      "rowCount": 1170,
      "lastRunRows": 9,
      "totalBytes": 7301,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "road_code",
        "km_from_km",
        "row_seq"
      ],
      "searchColumns": [
        "between_localities"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "section_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded.",
          "descriptions": {
            "ro": "Poziția (de la zero) a secțiunii din care provine rândul, numărată de sus în jos în pagina servită în ora respectivă. Face parte din cheia primară și este singura identitate pozițională sigură: NUMĂRUL secțiunii tipărit în titlu (section_code) este renumerotat din când în când de CNAIR, iar textul titlului este reformulat.",
            "en": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded."
          },
          "distinctApprox": 1
        },
        {
          "name": "row_seq",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that.",
          "descriptions": {
            "ro": "Poziția (de la zero) a rândului în tabelul secțiunii sale, așa cum a fost servit. Împreună cu section_index și coloanele de instantaneu formează cheia primară. Este o poziție, nu un identificator: CNAIR nu garantează că aceeași restricție păstrează aceeași poziție între două preluări, deci nu o folosi ca să urmărești un eveniment în timp — pentru asta ai (road_code, km_from_text, km_to_text) sau map_key.",
            "en": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that."
          },
          "min": 0,
          "max": 8,
          "distinctApprox": 10
        },
        {
          "name": "section_title",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The note CNAIR prints above the list, verbatim — it is what states that these are level-IV roads closed in winter, and it is the only place the list explains itself.",
          "descriptions": {
            "ro": "Nota pe care CNAIR o tipărește deasupra listei, cuvânt cu cuvânt — ea este cea care spune că sunt drumuri de nivel IV închise iarna și singurul loc în care lista se explică pe sine.",
            "en": "The note CNAIR prints above the list, verbatim — it is what states that these are level-IV roads closed in winter, and it is the only place the list explains itself."
          }
        },
        {
          "name": "row_no",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The list's own running number for this row.",
          "descriptions": {
            "ro": "Numărul curent al listei pentru acest rând.",
            "en": "The list's own running number for this row."
          }
        },
        {
          "name": "road_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The road indicative with the internal space removed — \"DN 7C\" on the page becomes \"DN7C\" here, which is the form every other table on this page uses and therefore the form that joins. road_code_text keeps the original.",
          "descriptions": {
            "ro": "Indicativul drumului cu spațiul interior eliminat — „DN 7C\" din pagină devine aici „DN7C\", forma folosită de toate celelalte tabele ale paginii și, deci, forma care permite unirea. road_code_text păstrează originalul.",
            "en": "The road indicative with the internal space removed — \"DN 7C\" on the page becomes \"DN7C\" here, which is the form every other table on this page uses and therefore the form that joins. road_code_text keeps the original."
          },
          "min": "DN17D",
          "max": "DN7C"
        },
        {
          "name": "road_code_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The road indicative verbatim, space included.",
          "descriptions": {
            "ro": "Indicativul drumului cuvânt cu cuvânt, cu tot cu spațiu.",
            "en": "The road indicative verbatim, space included."
          }
        },
        {
          "name": "km_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The kilometre range verbatim, as the list writes it — this is the one table whose source adds \"km\" prefixes, and km_text is where they survive; km_from_text and km_to_text carry the same positions in the canonical form every other table uses.",
          "descriptions": {
            "ro": "Intervalul kilometric cuvânt cu cuvânt, cum îl scrie lista — este singurul tabel a cărui sursă adaugă prefixe „km\", iar km_text este locul în care ele supraviețuiesc; km_from_text și km_to_text poartă aceleași poziții în forma canonică folosită de toate celelalte tabele.",
            "en": "The kilometre range verbatim, as the list writes it — this is the one table whose source adds \"km\" prefixes, and km_text is where they survive; km_from_text and km_to_text carry the same positions in the canonical form every other table uses."
          }
        },
        {
          "name": "km_from_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Start of the closed segment, in kilometre+metres notation.",
          "descriptions": {
            "ro": "Începutul sectorului închis, în notație kilometru+metri.",
            "en": "Start of the closed segment, in kilometre+metres notation."
          }
        },
        {
          "name": "km_from_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_from_text as a number of kilometres.",
          "descriptions": {
            "ro": "km_from_text ca număr de kilometri.",
            "en": "km_from_text as a number of kilometres."
          },
          "unit": "km",
          "min": 0,
          "max": 104
        },
        {
          "name": "km_to_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "End of the closed segment.",
          "descriptions": {
            "ro": "Sfârșitul sectorului închis.",
            "en": "End of the closed segment."
          }
        },
        {
          "name": "km_to_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_to_text as a number of kilometres.",
          "descriptions": {
            "ro": "km_to_text ca număr de kilometri.",
            "en": "km_to_text as a number of kilometres."
          },
          "unit": "km"
        },
        {
          "name": "between_localities",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The two ends of the closed segment in CNAIR's words, with their counties. Unlike the live tables, this list is written WITH diacritics (\"Bâlea Cascadă, jud. Sibiu\").",
          "descriptions": {
            "ro": "Cele două capete ale sectorului închis în cuvintele CNAIR, cu județele lor. Spre deosebire de tabelele curente, această listă este scrisă CU diacritice („Bâlea Cascadă, jud. Sibiu\").",
            "en": "The two ends of the closed segment in CNAIR's words, with their counties. Unlike the live tables, this list is written WITH diacritics (\"Bâlea Cascadă, jud. Sibiu\")."
          }
        },
        {
          "name": "between_localities_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "between_localities, lowercased and accent-folded — which matters more here than anywhere else in this dataset, because this is the one table whose text carries diacritics.",
          "descriptions": {
            "ro": "between_localities cu litere mici și fără diacritice — ceea ce contează aici mai mult ca oriunde în acest set de date, fiindcă este singurul tabel al cărui text poartă diacritice.",
            "en": "between_localities, lowercased and accent-folded — which matters more here than anywhere else in this dataset, because this is the one table whose text carries diacritics."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/winter_closed_roads.parquet",
          "sizeBytes": 7301,
          "rowCount": 1170,
          "etag": "\"f3b6520e4ca898df28195ded4b4a25de\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "road_code": {
              "min": "DN17D",
              "max": "DN7C"
            },
            "km_from_km": {
              "min": 0,
              "max": 104
            },
            "row_seq": {
              "min": 0,
              "max": 8
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 16,
          "row_seq": 7,
          "section_title": "Notă: Drumurile Naționale încadrate la nivelul IV de viabilitate, cu circulația întreruptă pe timp de iarnă.",
          "row_no": "8",
          "road_code": "DN17D",
          "road_code_text": "DN 17D",
          "km_text": "km 86+100 - km 103+632",
          "km_from_text": "86+100",
          "km_from_km": 86.1,
          "km_to_text": "103+632",
          "km_to_km": 103.632,
          "between_localities": "Valea Mare, jud. Bistrița-Năsăud - limită jud. Suceava",
          "between_localities_lc": "valea mare, jud. bistrita-nasaud - limita jud. suceava"
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 16,
          "row_seq": 8,
          "section_title": "Notă: Drumurile Naționale încadrate la nivelul IV de viabilitate, cu circulația întreruptă pe timp de iarnă.",
          "row_no": "9",
          "road_code": "DN1R",
          "road_code_text": "DN 1R",
          "km_text": "km 58+550 - km 62+000",
          "km_from_text": "58+550",
          "km_from_km": 58.55,
          "km_to_text": "62+000",
          "km_to_km": 62,
          "between_localities": "limită jud. Cluj - Mătișești, jud. Alba",
          "between_localities_lc": "limita jud. cluj - matisesti, jud. alba"
        }
      ]
    },
    {
      "name": "map_features",
      "description": "One row per feature on the CNAIR dispatch map, per hourly snapshot: what the event is, which counties and communes it touches, its kilometre range and period, and a reference to its geometry in map_geometries. Joins one-to-one to restrictions and roadworks on map_key.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare obiect de pe harta dispeceratului CNAIR, la fiecare instantaneu orar: ce este evenimentul, ce județe și ce UAT-uri atinge, intervalul lui kilometric și perioada, plus o referință către geometria din map_geometries. Se unește unu-la-unu cu restrictions și roadworks după map_key.",
        "en": "One row per feature on the CNAIR dispatch map, per hourly snapshot: what the event is, which counties and communes it touches, its kilometre range and period, and a reference to its geometry in map_geometries. Joins one-to-one to restrictions and roadworks on map_key."
      },
      "rowCount": 16897,
      "lastRunRows": 131,
      "totalBytes": 178300,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "road_code",
        "km_from_km",
        "feature_index"
      ],
      "searchColumns": [
        "communes",
        "localities",
        "cause",
        "remedy",
        "works_type",
        "detours"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "feature_index"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "feature_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this feature in the payload, counting the polyline array first and the point array after it. Part of the primary key. A position, not an identifier: use map_key to follow one event across snapshots.",
          "descriptions": {
            "ro": "Poziția (de la zero) a obiectului în payload, numărând întâi vectorul de polilinii și apoi cel de puncte. Face parte din cheia primară. O poziție, nu un identificator: pentru a urmări un eveniment de la un instantaneu la altul folosește map_key.",
            "en": "Zero-based position of this feature in the payload, counting the polyline array first and the point array after it. Part of the primary key. A position, not an identifier: use map_key to follow one event across snapshots."
          },
          "min": 0,
          "max": 149,
          "distinctApprox": 154
        },
        {
          "name": "source_array",
          "type": "VARCHAR",
          "nullable": false,
          "description": "Which JavaScript array declared this feature: \"data\" (the polylines) or \"data2\" (the single points). Published because the naming invites the opposite guess and a reader checking against the raw payload will want to know which is which.",
          "descriptions": {
            "ro": "Ce vector JavaScript a declarat acest obiect: „data\" (poliliniile) sau „data2\" (punctele individuale). Publicat fiindcă denumirea invită la presupunerea inversă, iar un cititor care verifică payload-ul brut vrea să știe care este care.",
            "en": "Which JavaScript array declared this feature: \"data\" (the polylines) or \"data2\" (the single points). Published because the naming invites the opposite guess and a reader checking against the raw payload will want to know which is which."
          }
        },
        {
          "name": "geometry_kind",
          "type": "VARCHAR",
          "nullable": false,
          "description": "The shape of this feature: \"path\" for a polyline along the affected stretch, \"point\" for a single marker. Follows directly from source_array.",
          "descriptions": {
            "ro": "Forma obiectului: „path\" pentru o polilinie de-a lungul sectorului afectat, „point\" pentru un singur marcaj. Decurge direct din source_array.",
            "en": "The shape of this feature: \"path\" for a polyline along the affected stretch, \"point\" for a single marker. Follows directly from source_array."
          }
        },
        {
          "name": "category_kind",
          "type": "VARCHAR",
          "nullable": true,
          "description": "What the feature is, in the same vocabulary as restrictions.restriction_kind — \"incident\", \"short_works\", \"interrupted\", \"hampered\" or \"roadworks\" — derived from the words of its own headline. NULL when the headline used wording no rule recognises, which the connector logs.",
          "descriptions": {
            "ro": "Ce este obiectul, în același vocabular ca restrictions.restriction_kind — „incident\", „short_works\", „interrupted\", „hampered\" sau „roadworks\" — dedus din cuvintele propriului lui titlu. NULL când titlul a folosit o formulare pe care nicio regulă nu o recunoaște, ceea ce conectorul consemnează în jurnal.",
            "en": "What the feature is, in the same vocabulary as restrictions.restriction_kind — \"incident\", \"short_works\", \"interrupted\", \"hampered\" or \"roadworks\" — derived from the words of its own headline. NULL when the headline used wording no rule recognises, which the connector logs."
          }
        },
        {
          "name": "category_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "CNAIR's own numeric category for this feature, verbatim — \"1.0\", \"1.1\", \"4.0\", \"5.0\", \"6.0\". On the 2026-09-02 capture these mirrored the HTML section numbers exactly, which is a useful thing to know and a dangerous thing to depend on: category_kind is derived from the headline words instead, precisely so a CNAIR renumbering cannot silently reclassify every closure on the map.",
          "descriptions": {
            "ro": "Categoria numerică proprie a CNAIR pentru acest obiect, cuvânt cu cuvânt — „1.0\", „1.1\", „4.0\", „5.0\", „6.0\". În capturarea din 2026-09-02 acestea oglindeau exact numerele secțiunilor HTML, ceea ce este util de știut și periculos de folosit: category_kind este dedus în schimb din cuvintele titlului, tocmai ca o renumerotare a CNAIR să nu poată reclasifica pe tăcute fiecare restricție de pe hartă.",
            "en": "CNAIR's own numeric category for this feature, verbatim — \"1.0\", \"1.1\", \"4.0\", \"5.0\", \"6.0\". On the 2026-09-02 capture these mirrored the HTML section numbers exactly, which is a useful thing to know and a dangerous thing to depend on: category_kind is derived from the headline words instead, precisely so a CNAIR renumbering cannot silently reclassify every closure on the map."
          }
        },
        {
          "name": "headline",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The bold first line of the feature's description — \"Circulatie intrerupta A7\". CNAIR writes it as the category followed by the road indicative, separated by a double space in the raw payload; runs of whitespace are collapsed to one here, as everywhere else in this dataset.",
          "descriptions": {
            "ro": "Primul rând îngroșat al descrierii obiectului — „Circulatie intrerupta A7\". CNAIR îl scrie ca fiind categoria urmată de indicativul drumului, despărțite prin spațiu dublu în payload-ul brut; aici, ca peste tot în acest set de date, spațiile succesive sunt comprimate într-unul singur.",
            "en": "The bold first line of the feature's description — \"Circulatie intrerupta A7\". CNAIR writes it as the category followed by the road indicative, separated by a double space in the raw payload; runs of whitespace are collapsed to one here, as everywhere else in this dataset."
          }
        },
        {
          "name": "road_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The road indicative, taken from the last token of the headline.",
          "descriptions": {
            "ro": "Indicativul drumului, luat din ultimul cuvânt al titlului.",
            "en": "The road indicative, taken from the last token of the headline."
          },
          "min": "22J",
          "max": "VO_CARANSEBES"
        },
        {
          "name": "map_key",
          "type": "VARCHAR",
          "nullable": true,
          "description": "road indicative, start kilometre and end kilometre in CNAIR's notation, pipe-separated. The join key to restrictions.map_key and roadworks.map_key: on the capture day the 123 map features and the 123 table rows matched on it exactly, as a multiset, with nothing unmatched on either side. Built here from the feature's own headline and Km field, and on the table side from the map-zoom target CNAIR puts in each row — two independent derivations that agree, which is why the join is trustworthy rather than hopeful.",
          "descriptions": {
            "ro": "Indicativul drumului, kilometrul de început și cel de sfârșit în notația CNAIR, separate prin bară verticală. Este cheia de unire cu restrictions.map_key și roadworks.map_key: în ziua capturării, cele 123 de obiecte de pe hartă și cele 123 de rânduri din tabele s-au potrivit exact după ea, fără rest de nicio parte. Construită aici din titlul și câmpul Km ale obiectului, iar de partea tabelelor din ținta de zoom pe care CNAIR o pune în fiecare rând — două derivări independente care coincid, motiv pentru care unirea este de încredere, nu doar plauzibilă.",
            "en": "road indicative, start kilometre and end kilometre in CNAIR's notation, pipe-separated. The join key to restrictions.map_key and roadworks.map_key: on the capture day the 123 map features and the 123 table rows matched on it exactly, as a multiset, with nothing unmatched on either side. Built here from the feature's own headline and Km field, and on the table side from the map-zoom target CNAIR puts in each row — two independent derivations that agree, which is why the join is trustworthy rather than hopeful."
          }
        },
        {
          "name": "counties",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The counties this feature crosses, as the payload's `Judet` field writes them: plate codes separated by \", \" — \"PH\", \"IF, DB, PH\". Occasionally blank for a bypass that CNAIR has not attributed to a county.",
          "descriptions": {
            "ro": "Județele traversate de obiect, cum le scrie câmpul `Judet` al payload-ului: coduri de înmatriculare separate prin „, \" — „PH\", „IF, DB, PH\". Ocazional goală pentru o variantă ocolitoare pe care CNAIR nu a atribuit-o unui județ.",
            "en": "The counties this feature crosses, as the payload's `Judet` field writes them: plate codes separated by \", \" — \"PH\", \"IF, DB, PH\". Occasionally blank for a bypass that CNAIR has not attributed to a county."
          }
        },
        {
          "name": "communes",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The administrative-territorial units (UAT — communes, towns and cities) the feature crosses, comma-separated and, unusually for this source, WITH diacritics: \"Mogoșoaia, Buftea, Crevedia\". This is the finest geography CNAIR publishes about an event and the HTML tables do not carry it at all.",
          "descriptions": {
            "ro": "Unitățile administrativ-teritoriale (UAT — comune, orașe și municipii) traversate de obiect, separate prin virgulă și, neobișnuit pentru această sursă, CU diacritice: „Mogoșoaia, Buftea, Crevedia\". Este cea mai fină geografie pe care CNAIR o publică despre un eveniment, iar tabelele HTML nu o conțin deloc.",
            "en": "The administrative-territorial units (UAT — communes, towns and cities) the feature crosses, comma-separated and, unusually for this source, WITH diacritics: \"Mogoșoaia, Buftea, Crevedia\". This is the finest geography CNAIR publishes about an event and the HTML tables do not carry it at all."
          }
        },
        {
          "name": "communes_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "communes, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "communes cu litere mici și fără diacritice, pentru căutare.",
            "en": "communes, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "localities",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The two ends of the stretch, as the payload's `Localitati` field writes them. The same value as between_localities on the table side.",
          "descriptions": {
            "ro": "Cele două capete ale sectorului, cum le scrie câmpul `Localitati` al payload-ului. Aceeași valoare ca between_localities de partea tabelelor.",
            "en": "The two ends of the stretch, as the payload's `Localitati` field writes them. The same value as between_localities on the table side."
          }
        },
        {
          "name": "localities_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "localities, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "localities cu litere mici și fără diacritice, pentru căutare.",
            "en": "localities, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "km_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The kilometre range verbatim from the payload's `Km` field — either a range (\"0+000 - 20+299\") or a single position (\"454+000\") for a point event.",
          "descriptions": {
            "ro": "Intervalul kilometric cuvânt cu cuvânt din câmpul `Km` — fie un interval („0+000 - 20+299\"), fie o singură poziție („454+000\") pentru un eveniment punctual.",
            "en": "The kilometre range verbatim from the payload's `Km` field — either a range (\"0+000 - 20+299\") or a single position (\"454+000\") for a point event."
          }
        },
        {
          "name": "km_from_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Start of the range, split out of km_text.",
          "descriptions": {
            "ro": "Începutul intervalului, extras din km_text.",
            "en": "Start of the range, split out of km_text."
          }
        },
        {
          "name": "km_from_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_from_text as a number of kilometres.",
          "descriptions": {
            "ro": "km_from_text ca număr de kilometri.",
            "en": "km_from_text as a number of kilometres."
          },
          "unit": "km",
          "min": 0,
          "max": 583
        },
        {
          "name": "km_to_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "End of the range. Equal to km_from_text when the payload gave a single position.",
          "descriptions": {
            "ro": "Sfârșitul intervalului. Egal cu km_from_text când payload-ul a dat o singură poziție.",
            "en": "End of the range. Equal to km_from_text when the payload gave a single position."
          }
        },
        {
          "name": "km_to_km",
          "type": "DECIMAL(9,3)",
          "nullable": true,
          "description": "km_to_text as a number of kilometres.",
          "descriptions": {
            "ro": "km_to_text ca număr de kilometri.",
            "en": "km_to_text as a number of kilometres."
          },
          "unit": "km"
        },
        {
          "name": "period_text",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The validity window verbatim from the payload's `Perioada` field, day-first and to the minute — \"17-08-2026 01:00 - 15-09-2026 23:59\". Note the format differs from the HTML tables', which are year-first and to the second.",
          "descriptions": {
            "ro": "Perioada de valabilitate cuvânt cu cuvânt din câmpul `Perioada`, cu ziua întâi și până la minut — „17-08-2026 01:00 - 15-09-2026 23:59\". De reținut că formatul diferă de cel al tabelelor HTML, care încep cu anul și merg până la secundă.",
            "en": "The validity window verbatim from the payload's `Perioada` field, day-first and to the minute — \"17-08-2026 01:00 - 15-09-2026 23:59\". Note the format differs from the HTML tables', which are year-first and to the second."
          }
        },
        {
          "name": "valid_from",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "Start of the window, as an instant, read as Europe/Bucharest local time and converted to UTC — CNAIR declares no timezone. period_text keeps the untouched string.",
          "descriptions": {
            "ro": "Începutul perioadei, citit ca oră locală a României și convertit în UTC — CNAIR nu declară fusul. period_text păstrează șirul neatins.",
            "en": "Start of the window, as an instant, read as Europe/Bucharest local time and converted to UTC — CNAIR declares no timezone. period_text keeps the untouched string."
          }
        },
        {
          "name": "valid_to",
          "type": "TIMESTAMPTZ",
          "nullable": true,
          "description": "End of the window, under the same Europe/Bucharest assumption as valid_from. A plan, not an observation — see the same column on restrictions.",
          "descriptions": {
            "ro": "Sfârșitul perioadei, sub aceeași ipoteză (oră locală România/Europe/Bucharest convertită în UTC). Un plan, nu o observație — vezi aceeași coloană din restrictions.",
            "en": "End of the window, under the same Europe/Bucharest assumption as valid_from. A plan, not an observation — see the same column on restrictions."
          }
        },
        {
          "name": "cause",
          "type": "TEXT",
          "nullable": true,
          "description": "The payload's `Cauza` field. **Frequently truncated by the source** — see cause_truncated — and the untruncated text for the same event is in restrictions.cause. Published anyway because the map and the tables can disagree between two refreshes, and a reader comparing them needs both.",
          "descriptions": {
            "ro": "Câmpul `Cauza` al payload-ului. **Frecvent trunchiat de sursă** — vezi cause_truncated — iar textul netrunchiat al aceluiași eveniment se află în restrictions.cause. Este publicat totuși fiindcă harta și tabelele pot să nu coincidă între două reîmprospătări, iar cine le compară are nevoie de amândouă.",
            "en": "The payload's `Cauza` field. **Frequently truncated by the source** — see cause_truncated — and the untruncated text for the same event is in restrictions.cause. Published anyway because the map and the tables can disagree between two refreshes, and a reader comparing them needs both."
          }
        },
        {
          "name": "cause_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "cause, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "cause cu litere mici și fără diacritice, pentru căutare.",
            "en": "cause, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "cause_truncated",
          "type": "BOOLEAN",
          "nullable": true,
          "description": "True when CNAIR cut this value short and marked it with its \"*Pentru descrierea completa consultati sectiunea drumuri.\" note. The note itself is stripped from the text.",
          "descriptions": {
            "ro": "Adevărat când CNAIR a scurtat valoarea și a marcat-o cu nota „*Pentru descrierea completa consultati sectiunea drumuri.\" Nota însăși este eliminată din text.",
            "en": "True when CNAIR cut this value short and marked it with its \"*Pentru descrierea completa consultati sectiunea drumuri.\" note. The note itself is stripped from the text."
          }
        },
        {
          "name": "remedy",
          "type": "TEXT",
          "nullable": true,
          "description": "The payload's `Masuri de remediere` field (or `Masuri de remediere si variante de ocolire`, which two features used on the capture day — both labels are accepted). May be truncated; see remedy_truncated.",
          "descriptions": {
            "ro": "Câmpul `Masuri de remediere` al payload-ului (sau `Masuri de remediere si variante de ocolire`, folosit de două obiecte în ziua capturării — ambele etichete sunt acceptate). Poate fi trunchiat; vezi remedy_truncated.",
            "en": "The payload's `Masuri de remediere` field (or `Masuri de remediere si variante de ocolire`, which two features used on the capture day — both labels are accepted). May be truncated; see remedy_truncated."
          }
        },
        {
          "name": "remedy_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "remedy, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "remedy cu litere mici și fără diacritice, pentru căutare.",
            "en": "remedy, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "remedy_truncated",
          "type": "BOOLEAN",
          "nullable": true,
          "description": "True when the source cut remedy short.",
          "descriptions": {
            "ro": "Adevărat când sursa a scurtat remedy.",
            "en": "True when the source cut remedy short."
          }
        },
        {
          "name": "works_type",
          "type": "TEXT",
          "nullable": true,
          "description": "The payload's `Tip Lucrari` field. May be truncated.",
          "descriptions": {
            "ro": "Câmpul `Tip Lucrari` al payload-ului. Poate fi trunchiat.",
            "en": "The payload's `Tip Lucrari` field. May be truncated."
          }
        },
        {
          "name": "works_type_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "works_type, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "works_type cu litere mici și fără diacritice, pentru căutare.",
            "en": "works_type, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "works_type_truncated",
          "type": "BOOLEAN",
          "nullable": true,
          "description": "True when the source cut works_type short.",
          "descriptions": {
            "ro": "Adevărat când sursa a scurtat works_type.",
            "en": "True when the source cut works_type short."
          }
        },
        {
          "name": "detours",
          "type": "TEXT",
          "nullable": true,
          "description": "The payload's `Variante de ocolire` field. May be truncated.",
          "descriptions": {
            "ro": "Câmpul `Variante de ocolire` al payload-ului. Poate fi trunchiat.",
            "en": "The payload's `Variante de ocolire` field. May be truncated."
          }
        },
        {
          "name": "detours_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "detours, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "detours cu litere mici și fără diacritice, pentru căutare.",
            "en": "detours, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "detours_truncated",
          "type": "BOOLEAN",
          "nullable": true,
          "description": "True when the source cut detours short.",
          "descriptions": {
            "ro": "Adevărat când sursa a scurtat detours.",
            "en": "True when the source cut detours short."
          }
        },
        {
          "name": "extra_fields",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Labels present in this feature's description that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value means CNAIR has started publishing a field this connector has not caught up with; the connector logs a warning naming it on every run, and the text itself remains on the source page.",
          "descriptions": {
            "ro": "Etichete prezente în descrierea acestui obiect pe care conectorul nu le mapează pe o coloană proprie, separate prin virgulă și cu litere mici — în mod normal NULL. O valoare nenulă înseamnă că CNAIR a început să publice un câmp cu care conectorul nu s-a pus la punct; conectorul scrie un avertisment cu numele lui la fiecare rulare, iar textul rămâne pe pagina sursă.",
            "en": "Labels present in this feature's description that the connector does not map to a column of its own, comma-separated and lowercased — normally NULL. A non-null value means CNAIR has started publishing a field this connector has not caught up with; the connector logs a warning naming it on every run, and the text itself remains on the source page."
          }
        },
        {
          "name": "latitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "Latitude of a point feature (WGS 84). NULL for a path (its extent is in the bounding-box columns), NULL when the source gave the [0, 0] placeholder — see coordinates_missing — and NULL when the pair fell outside Romania's bounding box, in which case the row is kept and coordinates_out_of_bounds is set. Coordinates are never a reason to drop a row.",
          "descriptions": {
            "ro": "Latitudinea unui obiect punctual (WGS 84). NULL pentru o polilinie (întinderea ei este în coloanele de casetă de încadrare), NULL când sursa a dat marcajul [0, 0] — vezi coordinates_missing — și NULL când perechea a căzut în afara casetei României, caz în care rândul este păstrat și coordinates_out_of_bounds este setat. Coordonatele nu sunt niciodată motiv de eliminare a unui rând.",
            "en": "Latitude of a point feature (WGS 84). NULL for a path (its extent is in the bounding-box columns), NULL when the source gave the [0, 0] placeholder — see coordinates_missing — and NULL when the pair fell outside Romania's bounding box, in which case the row is kept and coordinates_out_of_bounds is set. Coordinates are never a reason to drop a row."
          },
          "unit": "degrees"
        },
        {
          "name": "longitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "Longitude of a point feature (WGS 84). Note the payload stores coordinates as [longitude, latitude], GeoJSON order, not the [lat, lon] most map libraries take. Nulled together with latitude — a coordinate pair is accepted or rejected as a pair.",
          "descriptions": {
            "ro": "Longitudinea unui obiect punctual (WGS 84). De reținut că payload-ul stochează coordonatele ca [longitudine, latitudine], în ordinea GeoJSON, nu [lat, lon] cum primesc majoritatea bibliotecilor de hărți. Este anulată împreună cu latitudinea — o pereche de coordonate este acceptată sau respinsă ca pereche.",
            "en": "Longitude of a point feature (WGS 84). Note the payload stores coordinates as [longitude, latitude], GeoJSON order, not the [lat, lon] most map libraries take. Nulled together with latitude — a coordinate pair is accepted or rejected as a pair."
          },
          "unit": "degrees"
        },
        {
          "name": "coordinates_missing",
          "type": "BOOLEAN",
          "nullable": true,
          "description": "True when CNAIR published the literal placeholder [0, 0] for this feature instead of a position. It is not the Gulf of Guinea; it is the source saying \"no coordinate\", and it appeared on 1 of the 41 point features on the 2026-09-02 capture. The row keeps all its attributes and its latitude/longitude are NULL.",
          "descriptions": {
            "ro": "Adevărat când CNAIR a publicat pentru acest obiect marcajul literal [0, 0] în loc de o poziție. Nu este Golful Guineei; este felul sursei de a spune „fără coordonată\", și a apărut la 1 din cele 41 de obiecte punctuale din capturarea din 2026-09-02. Rândul își păstrează toate atributele, iar latitude și longitude sunt NULL.",
            "en": "True when CNAIR published the literal placeholder [0, 0] for this feature instead of a position. It is not the Gulf of Guinea; it is the source saying \"no coordinate\", and it appeared on 1 of the 41 point features on the 2026-09-02 capture. The row keeps all its attributes and its latitude/longitude are NULL."
          }
        },
        {
          "name": "coordinates_out_of_bounds",
          "type": "BOOLEAN",
          "nullable": true,
          "description": "True when the coordinates parsed as numbers but fell outside Romania (43.5-48.4°N, 20.2-29.8°E). latitude, longitude, the bounding box and geometry_hash are all NULL on such a row, and the connector logs it with the offending pair. A polyline is judged whole: one stray vertex rejects the whole shape, because publishing the in-bounds half would draw a line CNAIR never drew — worse than drawing none. The row itself, with all its attributes, is always kept. None occurred on the capture day.",
          "descriptions": {
            "ro": "Adevărat când coordonatele au fost numere valide, dar au căzut în afara României (43,5-48,4°N, 20,2-29,8°E). latitude, longitude, caseta de încadrare și geometry_hash sunt toate NULL pe un asemenea rând, iar conectorul consemnează perechea vinovată în jurnal. O polilinie este judecată în întregime: un singur vârf ieșit din casetă respinge toată forma, fiindcă publicarea jumătății rămase ar desena o linie pe care CNAIR nu a desenat-o niciodată — mai rău decât a nu desena nimic. Rândul în sine, cu toate atributele lui, este întotdeauna păstrat. În ziua capturării nu a existat niciunul.",
            "en": "True when the coordinates parsed as numbers but fell outside Romania (43.5-48.4°N, 20.2-29.8°E). latitude, longitude, the bounding box and geometry_hash are all NULL on such a row, and the connector logs it with the offending pair. A polyline is judged whole: one stray vertex rejects the whole shape, because publishing the in-bounds half would draw a line CNAIR never drew — worse than drawing none. The row itself, with all its attributes, is always kept. None occurred on the capture day."
          }
        },
        {
          "name": "geometry_hash",
          "type": "VARCHAR",
          "nullable": true,
          "description": "Fingerprint of this feature's geometry, and the foreign key into map_geometries where the coordinates themselves live. A 64-bit FNV-1a digest of the coordinate list, as 16 hex characters. NULL when the feature carried no usable coordinate at all.",
          "descriptions": {
            "ro": "Amprenta geometriei acestui obiect și cheia străină către map_geometries, unde stau coordonatele propriu-zise. Un rezumat FNV-1a pe 64 de biți al listei de coordonate, scris pe 16 caractere hexazecimale. NULL când obiectul nu a purtat nicio coordonată utilizabilă.",
            "en": "Fingerprint of this feature's geometry, and the foreign key into map_geometries where the coordinates themselves live. A 64-bit FNV-1a digest of the coordinate list, as 16 hex characters. NULL when the feature carried no usable coordinate at all."
          }
        },
        {
          "name": "geometry_point_count",
          "type": "INTEGER",
          "nullable": true,
          "description": "How many vertices the geometry has: 1 for a point, up to a few thousand for a polyline (the longest on the capture day had 5,189). Carried on the fact row as well as on map_geometries so that a geometry_hash collision, however unlikely, would be visible rather than silent.",
          "descriptions": {
            "ro": "Câte vârfuri are geometria: 1 pentru un punct, până la câteva mii pentru o polilinie (cea mai lungă din ziua capturării avea 5.189). Este purtată și pe rândul de fapt, nu doar în map_geometries, ca o eventuală coliziune de geometry_hash, oricât de improbabilă, să fie vizibilă, nu tăcută.",
            "en": "How many vertices the geometry has: 1 for a point, up to a few thousand for a polyline (the longest on the capture day had 5,189). Carried on the fact row as well as on map_geometries so that a geometry_hash collision, however unlikely, would be visible rather than silent."
          },
          "unit": "vertices"
        },
        {
          "name": "bbox_min_latitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "South edge of the geometry's bounding box (WGS 84). Equal to latitude for a point. Present on the fact row so \"everything within this map view during this period\" can be answered without joining to map_geometries.",
          "descriptions": {
            "ro": "Marginea de sud a casetei de încadrare a geometriei (WGS 84). Egală cu latitude pentru un punct. Prezentă pe rândul de fapt ca „tot ce este în această fereastră de hartă în această perioadă\" să poată fi întrebat fără unirea cu map_geometries.",
            "en": "South edge of the geometry's bounding box (WGS 84). Equal to latitude for a point. Present on the fact row so \"everything within this map view during this period\" can be answered without joining to map_geometries."
          },
          "unit": "degrees"
        },
        {
          "name": "bbox_max_latitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "North edge of the geometry's bounding box.",
          "descriptions": {
            "ro": "Marginea de nord a casetei de încadrare a geometriei.",
            "en": "North edge of the geometry's bounding box."
          },
          "unit": "degrees"
        },
        {
          "name": "bbox_min_longitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "West edge of the geometry's bounding box.",
          "descriptions": {
            "ro": "Marginea de vest a casetei de încadrare a geometriei.",
            "en": "West edge of the geometry's bounding box."
          },
          "unit": "degrees"
        },
        {
          "name": "bbox_max_longitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "East edge of the geometry's bounding box.",
          "descriptions": {
            "ro": "Marginea de est a casetei de încadrare a geometriei.",
            "en": "East edge of the geometry's bounding box."
          },
          "unit": "degrees"
        },
        {
          "name": "colour_code",
          "type": "INTEGER",
          "nullable": true,
          "description": "The payload's `culoare` field — which colour CNAIR draws this feature in. On the capture day it agreed perfectly with the category: 0 for hampered traffic, 1 for incidents and closures, 2 for works. A rendering hint, published because it is a second, independent signal of severity; category_kind is what to filter on.",
          "descriptions": {
            "ro": "Câmpul `culoare` al payload-ului — în ce culoare desenează CNAIR obiectul. În ziua capturării coincidea perfect cu categoria: 0 pentru circulație îngreunată, 1 pentru evenimente și întreruperi, 2 pentru lucrări. Un indiciu de randare, publicat fiindcă este un al doilea semnal independent de gravitate; category_kind rămâne coloana pe care se filtrează.",
            "en": "The payload's `culoare` field — which colour CNAIR draws this feature in. On the capture day it agreed perfectly with the category: 0 for hampered traffic, 1 for incidents and closures, 2 for works. A rendering hint, published because it is a second, independent signal of severity; category_kind is what to filter on."
          }
        },
        {
          "name": "marker_radius",
          "type": "INTEGER",
          "nullable": true,
          "description": "The payload's `raza` field — the radius CNAIR draws the marker at, 7 or 10 on the capture day, with 10 reserved for road incidents. A rendering hint, nothing more.",
          "descriptions": {
            "ro": "Câmpul `raza` al payload-ului — raza cu care CNAIR desenează marcajul, 7 sau 10 în ziua capturării, cu 10 rezervat evenimentelor rutiere. Un indiciu de randare, atât.",
            "en": "The payload's `raza` field — the radius CNAIR draws the marker at, 7 or 10 on the capture day, with 10 reserved for road incidents. A rendering hint, nothing more."
          },
          "unit": "pixels"
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/map_features.parquet",
          "sizeBytes": 178300,
          "rowCount": 16897,
          "etag": "\"09f37ba933a3df5dc39fc452c59185fc\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "road_code": {
              "min": "22J",
              "max": "VO_CARANSEBES"
            },
            "km_from_km": {
              "min": 0,
              "max": 583
            },
            "feature_index": {
              "min": 0,
              "max": 149
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "feature_index": 42,
          "source_array": "data",
          "geometry_kind": "path",
          "category_kind": "short_works",
          "category_code": "1.1",
          "headline": "Lucrari de scurta durata A1",
          "road_code": "A1",
          "map_key": "A1|270+300|271+600",
          "counties": "SB",
          "communes": "Săliște",
          "communes_lc": "saliste",
          "localities": "APOLDU DE SUS (SB) - SALISTE (SB)",
          "localities_lc": "apoldu de sus (sb) - saliste (sb)",
          "km_text": "270+300 - 271+600",
          "km_from_text": "270+300",
          "km_from_km": 270.3,
          "km_to_text": "271+600",
          "km_to_km": 271.6,
          "period_text": "02-09-2026 08:01 - 02-09-2026 20:00",
          "valid_from": "2026-09-02T05:01:00.000Z",
          "valid_to": "2026-09-02T17:00:00.000Z",
          "cause": "Se executa lucrari de reparatii asfaltice pe calea 2 (sens Sebes-Sibiu). Banda 1 si banda de urgenta restrictionate.",
          "cause_lc": "se executa lucrari de reparatii asfaltice pe calea 2 (sens sebes-sibiu). banda 1 si banda de urgenta restrictionate.",
          "cause_truncated": false,
          "remedy": "Se circula ingreunat pe Banda2 Sens(Sebes-Sibiu) .",
          "remedy_lc": "se circula ingreunat pe banda2 sens(sebes-sibiu) .",
          "remedy_truncated": false,
          "works_type": null,
          "works_type_lc": null,
          "works_type_truncated": false,
          "detours": null,
          "detours_lc": null,
          "detours_truncated": false,
          "extra_fields": null,
          "latitude": null,
          "longitude": null,
          "coordinates_missing": false,
          "coordinates_out_of_bounds": false,
          "geometry_hash": "9d475c57121d1a19",
          "geometry_point_count": 130,
          "bbox_min_latitude": 45.810332,
          "bbox_max_latitude": 45.81535438,
          "bbox_min_longitude": 23.88401533,
          "bbox_max_longitude": 23.89898125,
          "colour_code": 2,
          "marker_radius": 7
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "feature_index": 8,
          "source_array": "data",
          "geometry_kind": "path",
          "category_kind": "short_works",
          "category_code": "1.1",
          "headline": "Lucrari de scurta durata A1",
          "road_code": "A1",
          "map_key": "A1|368+000|389+000",
          "counties": "HD",
          "communes": "Șoimuș, Brănișca, Ilia",
          "communes_lc": "soimus, branisca, ilia",
          "localities": "ILIA (HD) - SOIMUS (HD)",
          "localities_lc": "ilia (hd) - soimus (hd)",
          "km_text": "368+000 - 389+000",
          "km_from_text": "368+000",
          "km_from_km": 368,
          "km_to_text": "389+000",
          "km_to_km": 389,
          "period_text": "02-09-2026 08:00 - 02-09-2026 20:00",
          "valid_from": "2026-09-02T05:00:00.000Z",
          "valid_to": "2026-09-02T17:00:00.000Z",
          "cause": "Pe Calea 2 se executa lucrari de refacere a marcajului rutier",
          "cause_lc": "pe calea 2 se executa lucrari de refacere a marcajului rutier",
          "cause_truncated": false,
          "remedy": "Pe Calea 2 se circula pe Banda 2. Banda 1 si Banda de Urgenta sunt restrictionate pana la finalizarea lucrarilor",
          "remedy_lc": "pe calea 2 se circula pe banda 2. banda 1 si banda de urgenta sunt restrictionate pana la finalizarea lucrarilor",
          "remedy_truncated": false,
          "works_type": null,
          "works_type_lc": null,
          "works_type_truncated": false,
          "detours": null,
          "detours_lc": null,
          "detours_truncated": false,
          "extra_fields": null,
          "latitude": null,
          "longitude": null,
          "coordinates_missing": false,
          "coordinates_out_of_bounds": false,
          "geometry_hash": "72cf1d45c70df1ab",
          "geometry_point_count": 2098,
          "bbox_min_latitude": 45.91026897,
          "bbox_max_latitude": 45.94732223,
          "bbox_min_longitude": 22.66215116,
          "bbox_max_longitude": 22.89008336,
          "colour_code": 2,
          "marker_radius": 7
        }
      ]
    },
    {
      "name": "map_geometries",
      "description": "One row per distinct geometry that has appeared on the CNAIR dispatch map, stored once rather than per snapshot: the polyline or point, as WKT, with its vertex count and bounding box. Join it from map_features.geometry_hash. first_seen_date and last_seen_date give the window over which this exact shape was being published.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare geometrie distinctă care a apărut pe harta dispeceratului CNAIR, stocată o singură dată, nu la fiecare instantaneu: polilinia sau punctul, în format WKT, cu numărul de vârfuri și caseta de încadrare. Se unește din map_features.geometry_hash. first_seen_date și last_seen_date dau intervalul în care exact această formă a fost publicată.",
        "en": "One row per distinct geometry that has appeared on the CNAIR dispatch map, stored once rather than per snapshot: the polyline or point, as WKT, with its vertex count and bounding box. Join it from map_features.geometry_hash. first_seen_date and last_seen_date give the window over which this exact shape was being published."
      },
      "rowCount": 268,
      "lastRunRows": 129,
      "totalBytes": 778820,
      "sortBy": [
        "geometry_hash"
      ],
      "searchColumns": [],
      "primaryKey": [
        "geometry_hash"
      ],
      "writeMode": "upsert",
      "storage": "lake",
      "columns": [
        {
          "name": "geometry_hash",
          "type": "VARCHAR",
          "nullable": false,
          "description": "The geometry's fingerprint and primary key: a 64-bit FNV-1a digest of its coordinate list, as 16 hex characters. Content-addressed, so the same shape reappearing next winter reuses this row instead of creating another. It is a fingerprint, not a cryptographic hash — a collision is possible at roughly 3 in 100 million over millions of shapes, and would show as one line drawn for another, never as a wrong number.",
          "descriptions": {
            "ro": "Amprenta geometriei și cheia ei primară: un rezumat FNV-1a pe 64 de biți al listei de coordonate, scris pe 16 caractere hexazecimale. Adresare după conținut, deci aceeași formă reapărută iarna viitoare refolosește acest rând în loc să creeze altul. Este o amprentă, nu un rezumat criptografic — o coliziune este posibilă cu o probabilitate de circa 3 la 100 de milioane la milioane de forme și s-ar vedea ca o linie desenată în locul alteia, niciodată ca un număr greșit.",
            "en": "The geometry's fingerprint and primary key: a 64-bit FNV-1a digest of its coordinate list, as 16 hex characters. Content-addressed, so the same shape reappearing next winter reuses this row instead of creating another. It is a fingerprint, not a cryptographic hash — a collision is possible at roughly 3 in 100 million over millions of shapes, and would show as one line drawn for another, never as a wrong number."
          },
          "min": "01ba52c0cbcabb2a",
          "max": "fd00b508439490a2",
          "distinctApprox": 257
        },
        {
          "name": "geometry_kind",
          "type": "VARCHAR",
          "nullable": true,
          "description": "\"point\" or \"path\".",
          "descriptions": {
            "ro": "„point\" sau „path\".",
            "en": "\"point\" or \"path\"."
          }
        },
        {
          "name": "geometry_wkt",
          "type": "TEXT",
          "nullable": true,
          "description": "The geometry as WKT in WGS 84 (EPSG:4326) — \"POINT (21.9096267 45.80571621)\" or \"LINESTRING (26.19876199 44.85679144, …)\". WKT rather than a coordinate array because DuckDB's spatial extension reads it directly: `INSTALL spatial; LOAD spatial;` then `ST_GeomFromText(geometry_wkt)` gives a real geometry to intersect, buffer and measure. Longitude first, as WKT requires.",
          "descriptions": {
            "ro": "Geometria în format WKT, în WGS 84 (EPSG:4326) — „POINT (21.9096267 45.80571621)\" sau „LINESTRING (26.19876199 44.85679144, …)\". WKT, și nu un vector de coordonate, fiindcă extensia spatial a DuckDB îl citește direct: `INSTALL spatial; LOAD spatial;` și apoi `ST_GeomFromText(geometry_wkt)` dă o geometrie reală, de intersectat, tamponat și măsurat. Longitudinea prima, cum cere WKT.",
            "en": "The geometry as WKT in WGS 84 (EPSG:4326) — \"POINT (21.9096267 45.80571621)\" or \"LINESTRING (26.19876199 44.85679144, …)\". WKT rather than a coordinate array because DuckDB's spatial extension reads it directly: `INSTALL spatial; LOAD spatial;` then `ST_GeomFromText(geometry_wkt)` gives a real geometry to intersect, buffer and measure. Longitude first, as WKT requires."
          }
        },
        {
          "name": "point_count",
          "type": "INTEGER",
          "nullable": true,
          "description": "Number of vertices — 1 for a point, up to a few thousand for a polyline.",
          "descriptions": {
            "ro": "Numărul de vârfuri — 1 pentru un punct, până la câteva mii pentru o polilinie.",
            "en": "Number of vertices — 1 for a point, up to a few thousand for a polyline."
          },
          "unit": "vertices"
        },
        {
          "name": "bbox_min_latitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "South edge of the bounding box (WGS 84).",
          "descriptions": {
            "ro": "Marginea de sud a casetei de încadrare (WGS 84).",
            "en": "South edge of the bounding box (WGS 84)."
          },
          "unit": "degrees"
        },
        {
          "name": "bbox_max_latitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "North edge of the bounding box.",
          "descriptions": {
            "ro": "Marginea de nord a casetei de încadrare.",
            "en": "North edge of the bounding box."
          },
          "unit": "degrees"
        },
        {
          "name": "bbox_min_longitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "West edge of the bounding box.",
          "descriptions": {
            "ro": "Marginea de vest a casetei de încadrare.",
            "en": "West edge of the bounding box."
          },
          "unit": "degrees"
        },
        {
          "name": "bbox_max_longitude",
          "type": "DOUBLE",
          "nullable": true,
          "description": "East edge of the bounding box.",
          "descriptions": {
            "ro": "Marginea de est a casetei de încadrare.",
            "en": "East edge of the bounding box."
          },
          "unit": "degrees"
        },
        {
          "name": "first_seen_date",
          "type": "DATE",
          "nullable": false,
          "description": "The first run day (UTC) this exact shape appeared on the map. Maintained by the upsert loader — never overwritten, only widened.",
          "descriptions": {
            "ro": "Prima zi de rulare (UTC) în care exact această formă a apărut pe hartă. Este întreținută de încărcătorul upsert — niciodată suprascrisă, doar lărgită.",
            "en": "The first run day (UTC) this exact shape appeared on the map. Maintained by the upsert loader — never overwritten, only widened."
          }
        },
        {
          "name": "last_seen_date",
          "type": "DATE",
          "nullable": false,
          "description": "The most recent run day (UTC) this shape was still on the map. A shape whose last_seen_date has stopped moving is a closure that has been lifted.",
          "descriptions": {
            "ro": "Cea mai recentă zi de rulare (UTC) în care forma era încă pe hartă. O formă al cărei last_seen_date a încetat să se miște este o restricție ridicată.",
            "en": "The most recent run day (UTC) this shape was still on the map. A shape whose last_seen_date has stopped moving is a closure that has been lifted."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/map_geometries.parquet",
          "sizeBytes": 778820,
          "rowCount": 268,
          "etag": "\"307af4d6296dbe8ceb5d1602827c711f\"",
          "stats": {
            "geometry_hash": {
              "min": "01ba52c0cbcabb2a",
              "max": "fd00b508439490a2"
            }
          }
        }
      ],
      "example": [
        {
          "geometry_hash": "01ba52c0cbcabb2a",
          "geometry_kind": "path",
          "geometry_wkt": "LINESTRING (24.25753411 45.64955415, 24.25750229 45.64964132, 24.25746886 45.64972821, 24.2574345 45.64981491, 24.2573986 45.6499013, 24.25736173 45.6499875, 24.25732336 45.65007337, 24.25728348 45.6501589, 24.25724263 45.65024421, 24.25720022 45.65032914, 24.25715691 45.65041385, 24.2571121 45.65049817, 24.25706606 45.65058217, 24.25701885 45.65066584, 24.25697008 45.65074908, 24.25692046 45.65083207, 24.25686933 45.65091461, 24.25681724 45.65099685, 24.25676379 45.65107865, 24.2567088 45.65115996, 24.25665299 45.65124099, 24.2565957 45.65132152, 24.25653756 45.65140174, 24.256478 45.65148144, 24.25641707 45.65156064, 24.25635505 45.65163942, 24.25629128 45.65171751, 24.25622684 45.65179532, 24.25616132 45.6518727, 24.25609473 45.65194962, 24.25602767 45.65202634, 24.25595951 45.65210259, 24.25589075 45.65217857, 24.25582109 45.65225414, 24.25575034 45.65232922, 24.25567916 45.6524041, 24.25560695 45.65247848, 24.25553392 45.65255247, 24.25546087 45.65262646, 24.25538781 45.65270044, 24.25531474 45.65277442, 24.25524167 45.65284839, 24.2551686 45.65292237, 24.25509552 45.65299634, 24.25502264 45.65307041, 24.25495024 45.65314471, 24.25487814 45.65321915, 24.25480603 45.65329359, 24.25473393 45.65336803, 24.25466183 45.65344247, 24.2545898 45.65351695, 24.25451824 45.65359165, 24.25444711 45.65366655, 24.25437598 45.65374145, 24.25430485 45.65381635, 24.25423372 45.65389125, 24.25416259 45.65396615, 24.25409189 45.65404125, 24.25402169 45.65411658, 24.25395154 45.65419194, 24.25388139 45.65426729, 24.25381124 45.65434264, 24.25374109 45.654418, 24.25367175 45.65449372, 24.25360373 45.65457003, 24.25353618 45.65464654, 24.25346862 45.65472305, 24.25340106 45.65479956, 24.25333402 45.65487629, 24.25326779 45.65495337, 24.25320184 45.65503057, 24.2531359 45.65510777, 24.25306995 45.65518497, 24.25300452 45.65526238, 24.25293992 45.65534014, 24.2528756 45.65541801, 24.25281128 45.65549588, 24.25274696 45.65557375, 24.25268317 45.65565183, 24.25262021 45.65573025, 24.25255753 45.65580877, 24.25249486 45.6558873, 24.25243218 45.65596583, 24.25236998 45.65604454, 24.25230855 45.65612355, 24.25224739 45.65620267, 24.25218624 45.65628178, 24.25212538 45.65636101, 24.25206523 45.6564405, 24.25200546 45.65652014, 24.2519457 45.65659977, 24.25188611 45.65667947, 24.25182721 45.65675943, 24.25176886 45.65683957, 24.2517105 45.65691972, 24.25165218 45.65699988, 24.25159455 45.65708029, 24.25153761 45.65716094, 24.25148066 45.65724158, 24.25142372 45.65732223, 24.25136737 45.65740308, 24.25131175 45.65748418, 24.25125623 45.65756531, 24.25120071 45.65764644, 24.2511457 45.65772775, 24.25109148 45.65780931, 24.25103754 45.65789097, 24.2509836 45.65797262, 24.25092966 45.65805428, 24.25087627 45.65813611, 24.25082374 45.65821822, 24.25077151 45.65830042, 24.25071928 45.65838262, 24.25066705 45.65846482, 24.25061536 45.65854719, 24.25056455 45.65862982, 24.25051404 45.65871255, 24.25046352 45.65879528, 24.25041301 45.65887801, 24.25036301 45.65896088, 24.25031379 45.65904399, 24.25026486 45.65912719, 24.25021593 45.65921038, 24.25016744 45.6592937, 24.25011965 45.65937722, 24.25007212 45.65946081, 24.25002458 45.6595444, 24.24997749 45.65962811, 24.24993111 45.65971202, 24.24988498 45.659796, 24.24983885 45.65987997, 24.24979316 45.65996407, 24.24974819 45.66004835, 24.24970347 45.6601327, 24.24965875 45.66021705, 24.24961451 45.66030153, 24.24957104 45.6603862, 24.24952783 45.66047094, 24.24948463 45.66055568, 24.24944155 45.66064044, 24.24939924 45.6607254, 24.24935763 45.66081053, 24.24931603 45.66089567, 24.24927442 45.6609808, 24.24923332 45.66106605, 24.24919303 45.66115149, 24.24915303 45.661237, 24.24911303 45.6613225, 24.24907314 45.66140804, 24.24903405 45.66149375, 24.24899566 45.66157962, 24.24895727 45.6616655, 24.24891888 45.66175137, 24.24888104 45.66183735, 24.24884406 45.66192353, 24.24880738 45.66200977, 24.24877071 45.66209601, 24.24873403 45.66218224, 24.24869793 45.6622686, 24.24866276 45.66235514, 24.2486279 45.66244175, 24.24859305 45.66252836, 24.24855819 45.66261497, 24.24852391 45.66270169, 24.24849055 45.66278859, 24.24845751 45.66287555, 24.24842448 45.66296251, 24.24839145 45.66304947, 24.24835902 45.66313654, 24.24832757 45.66322378, 24.24829645 45.66331109, 24.24826533 45.66339839, 24.24823421 45.6634857, 24.24820332 45.66357304, 24.24817312 45.66366051, 24.24814341 45.66374806, 24.24811371 45.6638356, 24.248084 45.66392315, 24.2480543 45.6640107, 24.24802527 45.66409836, 24.24799698 45.66418613, 24.24796869 45.66427391, 24.2479404 45.66436169, 24.24791211 45.66444947, 24.24788369 45.66453722, 24.24785506 45.66462495, 24.24782635 45.66471266, 24.24779765 45.66480037, 24.24776894 45.66488808, 24.24774024 45.66497579, 24.24771154 45.66506351, 24.24768283 45.66515122, 24.24765413 45.66523893, 24.24762542 45.66532664, 24.24759672 45.66541435, 24.24756801 45.66550206, 24.24753931 45.66558978, 24.2475106 45.66567749, 24.2474819 45.6657652, 24.24745319 45.66585291, 24.24742448 45.66594062, 24.24739578 45.66602833, 24.24736707 45.66611604, 24.24733836 45.66620375, 24.24730966 45.66629147, 24.24728095 45.66637918, 24.24725224 45.66646689, 24.24722354 45.6665546, 24.24719483 45.66664231, 24.24716612 45.66673002, 24.24713741 45.66681773, 24.24710871 45.66690545, 24.24708 45.66699316, 24.24705129 45.66708087, 24.24702258 45.66716858, 24.24699387 45.66725629, 24.24696517 45.667344, 24.24693646 45.66743171, 24.24690775 45.66751942, 24.2468791 45.66760714, 24.24685054 45.66769488, 24.24682203 45.66778262, 24.24679351 45.66787036, 24.24676499 45.6679581, 24.24673646 45.66804584, 24.24670793 45.66813358, 24.24667967 45.66822137, 24.246652 45.66830924, 24.24662469 45.66839717, 24.24659737 45.6684851, 24.24657005 45.66857303, 24.24654274 45.66866096, 24.24651542 45.66874889, 24.24648834 45.66883685, 24.24646238 45.66892498, 24.24643735 45.66901325, 24.24641231 45.66910151, 24.24638728 45.66918977, 24.24636243 45.66927806, 24.24633845 45.66936647, 24.24631518 45.66945497, 24.2462919 45.66954346, 24.24626862 45.66963196, 24.24624554 45.66972049, 24.24622332 45.66980912, 24.24620181 45.66989784, 24.24618029 45.66998655, 24.24615878 45.67007527, 24.24613747 45.67016401, 24.24611704 45.67025286, 24.24609733 45.67034178, 24.24607761 45.6704307, 24.2460579 45.67051963, 24.24603819 45.67060855, 24.24601933 45.67069756, 24.24600142 45.67078667, 24.24598356 45.67087579, 24.24596571 45.6709649, 24.24594785 45.67105402, 24.24593056 45.67114319, 24.24591417 45.67123244, 24.2458981 45.67132173, 24.24588202 45.67141101, 24.24586594 45.67150029, 24.2458506 45.67158964, 24.24583613 45.67167905, 24.24582173 45.67176848, 24.24580734 45.6718579, 24.24579307 45.67194733, 24.24577963 45.67203683, 24.24576692 45.67212638, 24.24575421 45.67221593, 24.2457415 45.67230547, 24.24572913 45.67239505, 24.24571759 45.67248467, 24.24570656 45.67257433, 24.24569555 45.67266399, 24.24568453 45.67275365, 24.24567402 45.67284334, 24.24566435 45.67293307, 24.24565497 45.67302282, 24.24564559 45.67311257, 24.24563633 45.67320233, 24.24562786 45.67329212, 24.24562009 45.67338195, 24.24561231 45.67347177, 24.24560453 45.6735616, 24.24559726 45.67365144, 24.2455908 45.67374132, 24.24558463 45.67383121, 24.24557845 45.67392109, 24.24557239 45.67401098, 24.24556712 45.6741009, 24.24556255 45.67419083, 24.24555798 45.67428077, 24.2455534 45.6743707, 24.24554934 45.67446065, 24.24554608 45.67455061, 24.2455431 45.67464057, 24.24554012 45.67473054, 24.2455373 45.67482051, 24.24553526 45.67491049, 24.24553387 45.67500047, 24.24553249 45.67509046, 24.2455311 45.67518044, 24.24553029 45.67527043, 24.24553029 45.67536042, 24.2455305 45.67545041, 24.2455307 45.67554041, 24.24553115 45.6756304, 24.24553244 45.67572038, 24.24553435 45.67581036, 24.24553627 45.67590034, 24.24553819 45.67599032, 24.24554022 45.6760803, 24.24554315 45.67617027, 24.2455469 45.67626022, 24.24555064 45.67635017, 24.24555439 45.67644013, 24.24555814 45.67653008, 24.24556276 45.67662001, 24.24556831 45.67670992, 24.2455739 45.67679982, 24.24557948 45.67688973, 24.24558506 45.67697963, 24.24559137 45.67706951, 24.24559861 45.67715936, 24.24560602 45.6772492, 24.24561343 45.67733904, 24.24562085 45.67742888, 24.24562851 45.67751871, 24.24563659 45.67760853, 24.2456448 45.67769833, 24.24565302 45.67778814, 24.24566123 45.67787795, 24.24566944 45.67796775, 24.24567766 45.67805756, 24.24568558 45.67814738, 24.24569304 45.67823722, 24.24570035 45.67832706, 24.24570765 45.67841691, 24.24571496 45.67850675, 24.24572226 45.6785966, 24.24572957 45.67868644, 24.24573659 45.6787763, 24.24574314 45.67886617, 24.24574954 45.67895605, 24.24575594 45.67904593, 24.24576233 45.67913581, 24.24576873 45.67922569, 24.24577513 45.67931557, 24.24578072 45.67940547, 24.24578505 45.67949541, 24.24578895 45.67958536, 24.24579284 45.67967531, 24.24579652 45.67976526, 24.24579943 45.67985523, 24.24580176 45.67994521, 24.24580408 45.68003518, 24.24580641 45.68012516, 24.24580806 45.68021514, 24.24580891 45.68030513, 24.24580966 45.68039512, 24.24581042 45.68048511, 24.2458108 45.6805751, 24.24581039 45.68066509, 24.24580959 45.68075508, 24.24580878 45.68084507, 24.24580787 45.68093505, 24.24580617 45.68102504, 24.24580373 45.68111501, 24.24580128 45.68120498, 24.24579884 45.68129496, 24.24579618 45.68138493, 24.24579267 45.68147489, 24.24578849 45.68156483, 24.24578431 45.68165477, 24.24578013 45.68174472, 24.24577562 45.68183465, 24.24577025 45.68192456, 24.24576433 45.68201446, 24.24575841 45.68210435, 24.24575249 45.68219425, 24.24574613 45.68228413, 24.2457389 45.68237398, 24.24573125 45.68246381, 24.2457236 45.68255364, 24.24571594 45.68264347, 24.24570775 45.68273327, 24.24569869 45.68282304, 24.24568934 45.68291279, 24.24567999 45.68300254, 24.24567064 45.6830923, 24.2456605 45.683182, 24.2456495 45.68327166, 24.24563848 45.68336132, 24.24562747 45.68345098, 24.24561621 45.68354063, 24.24560413 45.68363022, 24.24559145 45.68371977, 24.24557877 45.68380932, 24.24556609 45.68389887, 24.24555292 45.68398838, 24.24553891 45.68407784, 24.24552457 45.68416726, 24.24551023 45.68425669, 24.24549589 45.68434612, 24.24548065 45.68443547, 24.2454644 45.68452474, 24.24544808 45.684614, 24.24543176 45.68470326, 24.24541544 45.68479252, 24.24539912 45.68488178, 24.2453824 45.68497101, 24.24536469 45.68506014, 24.24534638 45.68514921, 24.24532806 45.68523828, 24.24530975 45.68532735, 24.24529081 45.68541635, 24.24527087 45.68550525, 24.24525058 45.68559411, 24.2452303 45.68568297, 24.24521001 45.68577183, 24.24518972 45.68586069, 24.24516917 45.68594952, 24.24514749 45.68603822, 24.24512493 45.68612681, 24.24510236 45.6862154, 24.2450798 45.68630399, 24.24505723 45.68639258, 24.24503467 45.68648117, 24.24501145 45.68656968, 24.2449872 45.68665805, 24.2449626 45.68674637, 24.244938 45.6868347, 24.2449134 45.68692302, 24.24488817 45.68701126, 24.24486194 45.68709935, 24.24483537 45.68718739, 24.24480881 45.68727543, 24.24478224 45.68736348, 24.24475567 45.68745152, 24.2447286 45.68753949, 24.24470035 45.68762727, 24.24467141 45.68771495, 24.24464247 45.68780262, 24.24461354 45.6878903, 24.2445846 45.68797797, 24.24455566 45.68806565, 24.24452672 45.68815333, 24.24449732 45.68824092, 24.24446738 45.68832844, 24.24443739 45.68841594, 24.24440739 45.68850344, 24.24437739 45.68859094, 24.24434739 45.68867844, 24.24431739 45.68876594, 24.2442874 45.68885344, 24.2442574 45.68894094, 24.2442274 45.68902844, 24.2441974 45.68911594, 24.2441674 45.68920344, 24.2441374 45.68929094, 24.2441074 45.68937844, 24.24407741 45.68946594, 24.24404741 45.68955344, 24.24401741 45.68964094, 24.24398742 45.68972844, 24.24395742 45.68981594, 24.24392742 45.68990344, 24.24389743 45.68999094, 24.24386744 45.69007845, 24.24383744 45.69016595, 24.24380744 45.69025345, 24.24377745 45.69034095, 24.24374745 45.69042845, 24.24371745 45.69051595, 24.24368745 45.69060345, 24.24365745 45.69069095, 24.24362744 45.69077845, 24.24359744 45.69086595, 24.24356744 45.69095345, 24.24353744 45.69104095, 24.24350744 45.69112845, 24.24347744 45.69121595, 24.24344744 45.69130345, 24.24341743 45.69139095, 24.24338743 45.69147845, 24.24335743 45.69156595, 24.24332743 45.69165345, 24.24329743 45.69174095, 24.24326743 45.69182845, 24.24323743 45.69191595, 24.24320743 45.69200345, 24.24317743 45.69209095, 24.24314743 45.69217845, 24.24311744 45.69226595, 24.24308745 45.69235345, 24.24305745 45.69244095, 24.24302745 45.69252845, 24.24299745 45.69261596, 24.24296744 45.69270345, 24.24293744 45.69279095, 24.24290744 45.69287845, 24.24287744 45.69296595, 24.24284744 45.69305346, 24.24281744 45.69314096, 24.24278744 45.69322846, 24.24275743 45.69331596, 24.24272743 45.69340346, 24.24269743 45.69349096, 24.24266743 45.69357846, 24.24263743 45.69366596, 24.24260743 45.69375346, 24.24257737 45.69384095, 24.24254721 45.69392842, 24.24251703 45.69401589, 24.24248685 45.69410336, 24.24245666 45.69419083, 24.24242648 45.6942783, 24.2423963 45.69436577, 24.24236611 45.69445324, 24.24233593 45.69454071, 24.24230575 45.69462818, 24.24227556 45.69471565, 24.24224538 45.69480312, 24.2422149 45.69489054, 24.24218407 45.69497789, 24.24215321 45.69506525, 24.24212171 45.69515249, 24.24208889 45.69523949, 24.24205536 45.69532636, 24.24202174 45.69541321, 24.24198683 45.69549981, 24.24195066 45.69558615, 24.24191448 45.6956725, 24.24187738 45.69575865, 24.24183884 45.69584449, 24.24179942 45.69593014, 24.24175884 45.69601551, 24.24171745 45.6961007, 24.24167495 45.69618562, 24.24163126 45.69627024, 24.24158672 45.69635464, 24.24154087 45.6964387, 24.24149456 45.69652264, 24.24144708 45.69660625, 24.24139815 45.69668945, 24.24134896 45.69677258, 24.24129855 45.69685534, 24.24124688 45.69693772, 24.24119447 45.69701988, 24.24114089 45.69710166, 24.2410866 45.69718321, 24.24103116 45.69726439, 24.24097488 45.69734527, 24.24091754 45.69742579, 24.24085898 45.69750588, 24.24079997 45.69758581, 24.24073974 45.69766528, 24.24067861 45.69774443, 24.24061669 45.69782326, 24.2405535 45.6979016, 24.24048979 45.69797974, 24.24042492 45.6980574, 24.24035894 45.69813461, 24.24029239 45.69821157, 24.24022467 45.69828803, 24.24015637 45.69836424, 24.24008703 45.69843998, 24.24001655 45.69851521, 24.23994545 45.69859015, 24.23987327 45.69866458, 24.23980046 45.6987387, 24.2397266 45.69881232, 24.23965176 45.69888545, 24.23957622 45.69895823, 24.23949963 45.69903046, 24.23942243 45.69910238, 24.2393442 45.69917374, 24.23926521 45.6992447, 24.23918557 45.6993153, 24.23910494 45.69938534, 24.23902392 45.69945516, 24.23894196 45.69952444, 24.23885906 45.69959317, 24.23877591 45.69966175, 24.23869216 45.69972997, 24.23860808 45.69979799, 24.23852392 45.69986597, 24.23843929 45.69993366, 24.23835426 45.7000011, 24.23826922 45.70006853, 24.23818406 45.7001359, 24.23809875 45.70020316, 24.23801342 45.70027042, 24.23792809 45.70033767, 24.23784276 45.70040493, 24.23775756 45.70047227, 24.23767258 45.70053974, 24.23758766 45.70060725, 24.23750276 45.70067477, 24.2374183 45.70074256, 24.23733426 45.70081061, 24.23725021 45.70087866, 24.23716647 45.70094688, 24.2370834 45.70101552, 24.23700073 45.70108438, 24.23691864 45.70115359, 24.23683743 45.7012233, 24.23675649 45.70129317, 24.23667636 45.70136349, 24.23659713 45.70143432, 24.23651813 45.70150527, 24.23644004 45.70157671, 24.23636271 45.70164856, 24.23628601 45.70172074, 24.23621021 45.70179339, 24.23613488 45.70186627, 24.23606042 45.70193959, 24.23598662 45.70201324, 24.23591354 45.70208724, 24.23584136 45.70216168, 24.23576969 45.70223635, 24.23569895 45.70231146, 24.23562883 45.70238685, 24.23555939 45.70246255, 24.23549095 45.7025387, 24.23542284 45.702615, 24.23535565 45.70269169, 24.23528938 45.70276877, 24.23522371 45.70284611, 24.23515896 45.70292383, 24.23509482 45.70300179, 24.23503158 45.70308012, 24.23496897 45.70315869, 24.23490725 45.7032376, 24.23484647 45.70331688, 24.2347862 45.70339635, 24.23472688 45.70347616, 24.2346681 45.70355617, 24.23461025 45.70363652, 24.23455328 45.70371717, 24.234497 45.70379806, 24.23444181 45.70387932, 24.23438697 45.70396069, 24.23433312 45.70404239, 24.23428037 45.70412444, 24.2342279 45.70420658, 24.23417651 45.70428905, 24.23412606 45.7043718, 24.23407612 45.70445471, 24.2340274 45.70453798, 24.23397941 45.70462145, 24.23393168 45.70470499, 24.23388525 45.7047889, 24.23383993 45.7048731, 24.23379461 45.7049573, 24.23375042 45.70504179, 24.23370745 45.7051266, 24.2336649 45.70521151, 24.23362346 45.70529668, 24.23358275 45.70538203, 24.23354286 45.70546757, 24.2335041 45.70555336, 24.23346577 45.70563925, 24.23342844 45.70572536, 24.233392 45.70581165, 24.23335635 45.7058981, 24.23332172 45.70598476, 24.23328775 45.70607155, 24.23325478 45.70615852, 24.2332225 45.70624562, 24.23319131 45.70633292, 24.23316108 45.70642038, 24.23313118 45.7065079, 24.23310252 45.70659562, 24.23307482 45.70668349, 24.2330476 45.70677143, 24.23302164 45.70685957, 24.23299648 45.70694781, 24.23297179 45.70703613, 24.2329484 45.70712461, 24.23292585 45.7072132, 24.2329037 45.70730184, 24.23288267 45.70739062, 24.23286254 45.7074795, 24.23284336 45.70756848, 24.23282503 45.70765755, 24.23280761 45.7077467, 24.23279121 45.70783596, 24.23277486 45.70792521, 24.23275927 45.70801454, 24.23274455 45.70810394, 24.23272988 45.70819334, 24.23271596 45.7082828, 24.2327029 45.70837232, 24.23268993 45.70846185, 24.23267721 45.7085514, 24.23266477 45.70864097, 24.23265237 45.70873054, 24.23263997 45.70882011, 24.23262757 45.70890968, 24.23261517 45.70899925, 24.23260277 45.70908882, 24.23259037 45.70917839, 24.23257801 45.70926796, 24.23256568 45.70935753, 24.23255334 45.70944711, 24.23254101 45.70953668, 24.23252868 45.70962626, 24.23251635 45.70971583, 24.23250402 45.70980541, 24.23249168 45.70989498, 24.23247934 45.70998456, 24.232467 45.71007413, 24.23245465 45.71016371, 24.23244231 45.71025328, 24.23242987 45.71034285, 24.23241721 45.7104324, 24.23240441 45.71052194, 24.23239112 45.71061145, 24.2323772 45.71070091, 24.23236297 45.71079034, 24.23234784 45.71087971, 24.23233189 45.710969, 24.2323147 45.71105818, 24.23229632 45.71114724, 24.2322768 45.71123618, 24.23225598 45.71132499, 24.2322338 45.71141362, 24.23220993 45.71150204, 24.2321847 45.71159028, 24.23215788 45.71167828, 24.2321297 45.71176608, 24.23209997 45.71185362, 24.23206883 45.71194093, 24.23203601 45.71202793, 24.2320021 45.71211473, 24.23196653 45.71220119, 24.23192933 45.71228733, 24.23189098 45.71237321, 24.23185093 45.71245871, 24.23180987 45.71254398, 24.23176734 45.71262889, 24.23172313 45.71271338, 24.23167764 45.71279754, 24.2316306 45.71288128, 24.23158229 45.71296466, 24.2315323 45.71304755, 24.23148082 45.71313, 24.23142849 45.71321218, 24.23137439 45.7132938, 24.23131925 45.71337508, 24.23126259 45.71345583, 24.23120421 45.71353599, 24.23114506 45.71361587, 24.23108424 45.71369513, 24.23102239 45.71377401, 24.23095929 45.71385239, 24.23089471 45.71393018, 24.23082876 45.7140074, 24.23076146 45.71408405, 24.23069292 45.71416016, 24.23062302 45.71423566, 24.23055195 45.71431061, 24.23047963 45.71438499, 24.2304061 45.71445877, 24.23033129 45.71453193, 24.23025529 45.71460447, 24.23017804 45.71467638, 24.23009967 45.71474768, 24.23002001 45.71481827, 24.22993924 45.71488825, 24.22985722 45.71495751, 24.22977411 45.71502613, 24.22968972 45.71509397, 24.22960416 45.7151611, 24.22951762 45.7152276, 24.22942989 45.71529333, 24.22934116 45.71535841, 24.22925128 45.7154227, 24.22916043 45.71548632, 24.22906856 45.71554922, 24.22897551 45.71561126, 24.2288815 45.71567259, 24.2287864 45.71573309, 24.22869037 45.71579286, 24.2285932 45.71585171, 24.22849497 45.71590971, 24.228396 45.71596708, 24.22829595 45.71602352, 24.22819511 45.71607928, 24.22809324 45.71613409, 24.22799036 45.71618798, 24.2278867 45.71624113, 24.227782 45.71629327, 24.22767655 45.71634467, 24.22757024 45.71639518, 24.2274632 45.71644494, 24.22735528 45.71649375, 24.2272465 45.71654162, 24.22713693 45.7165886, 24.22702651 45.71663459, 24.22691522 45.71667954, 24.22680348 45.71672394, 24.22669091 45.71676728, 24.22657738 45.7168094, 24.22646351 45.71685105, 24.22634883 45.7168916, 24.22623346 45.71693119, 24.22611742 45.71696979, 24.2260008 45.71700753, 24.22588354 45.71704427, 24.22576564 45.71708002, 24.22564713 45.71711473, 24.22552789 45.71714823, 24.22540823 45.71718096, 24.22528805 45.71721276, 24.22516747 45.7172438, 24.22504641 45.71727391, 24.22492497 45.71730326, 24.22480308 45.71733169, 24.22468091 45.71735952, 24.22455874 45.71738735, 24.22443657 45.71741518, 24.22431413 45.7174424, 24.2241914 45.717469, 24.22406867 45.7174956, 24.22394594 45.7175222, 24.22382321 45.71754878, 24.22370046 45.71757532, 24.2235777 45.71760185, 24.22345494 45.71762837, 24.22333218 45.7176549, 24.22320942 45.71768144, 24.2230868 45.71770829, 24.22296432 45.71773544, 24.22284193 45.71776279, 24.22271992 45.71779094, 24.22259819 45.71781972, 24.22247665 45.71784885, 24.2223555 45.7178788, 24.22223458 45.71790918, 24.22211408 45.71794037, 24.22199423 45.71797278, 24.22187497 45.71800624, 24.22175635 45.71804078, 24.22163832 45.71807631, 24.22152096 45.71811292, 24.22140424 45.7181505, 24.22128822 45.71818915, 24.22117288 45.71822877, 24.22105829 45.71826945, 24.22094431 45.71831096, 24.22083116 45.71835357, 24.22071878 45.71839718, 24.22060718 45.71844174, 24.22049648 45.71848741, 24.22038652 45.71853393, 24.22027754 45.71858158, 24.22016913 45.71862987, 24.22006179 45.7186793, 24.21995528 45.71872962, 24.21984965 45.71878083, 24.21974516 45.71883318, 24.21964132 45.71888617, 24.21953864 45.71894025, 24.2194367 45.71899501, 24.21933588 45.71905078, 24.21923629 45.71910763, 24.21913744 45.7191651, 24.21903979 45.71922357, 24.2189429 45.71928267, 24.21884725 45.71934273, 24.21875259 45.71940357, 24.21865899 45.7194652, 24.21856668 45.7195278, 24.21847474 45.71959065, 24.21838313 45.71965374, 24.21829221 45.71971732, 24.21820344 45.71978236, 24.21811694 45.71984889, 24.21803163 45.71991617, 24.21794772 45.71998431, 24.2178653 45.72005334, 24.21778359 45.72012279, 24.21770314 45.72019293, 24.21762424 45.72026396, 24.21754618 45.72033543, 24.2174697 45.72040773, 24.21739424 45.72048056, 24.21732022 45.72055411, 24.21724784 45.72062846, 24.21717633 45.72070321, 24.21710647 45.72077873, 24.21703756 45.72085468, 24.21697026 45.72093133, 24.21690467 45.72100871, 24.21683999 45.72108646, 24.21677702 45.7211649, 24.21671498 45.7212437, 24.21665467 45.72132315, 24.21659607 45.72140323, 24.21653846 45.72148366, 24.21648263 45.72156471, 24.21642769 45.72164606, 24.21637406 45.72172783, 24.21632241 45.72181022, 24.21627224 45.72189307, 24.21622355 45.72197634, 24.21617635 45.72206004, 24.21613065 45.72214414, 24.21608645 45.72222863, 24.21604377 45.72231351, 24.2160026 45.72239876, 24.21596296 45.72248435, 24.21592484 45.72257029, 24.21588826 45.72265655, 24.21585323 45.72274313, 24.21581974 45.72283001, 24.21578781 45.72291717, 24.21575742 45.72300461, 24.21572861 45.72309231, 24.21570137 45.72318025, 24.2156757 45.72326842, 24.2156516 45.72335681, 24.21562908 45.72344541, 24.21560815 45.7235342, 24.2155888 45.72362316, 24.215571 45.72371228, 24.21555465 45.72380154, 24.21553963 45.72389091, 24.2155258 45.72398037, 24.21551254 45.72406988, 24.21549929 45.72415939, 24.21548603 45.7242489, 24.21547329 45.72433845, 24.21546142 45.72442805, 24.21544991 45.72451768, 24.2154384 45.72460731, 24.21542688 45.72469694, 24.21541529 45.72478656, 24.21540365 45.72487618, 24.215392 45.7249658, 24.21538036 45.72505542, 24.21536807 45.725145, 24.21535504 45.72523453, 24.21534108 45.72532398, 24.21532579 45.72541333, 24.21530949 45.72550259, 24.21529186 45.72559173, 24.21527323 45.72568077, 24.21525329 45.72576967, 24.21523223 45.72585844, 24.21520962 45.72594702, 24.2151853 45.72603538, 24.21515947 45.72612353, 24.21513217 45.72621146, 24.2151034 45.72629916, 24.21507312 45.72638662, 24.21504142 45.72647382, 24.21500822 45.72656075, 24.21497358 45.72664741, 24.21493745 45.72673377, 24.21489992 45.72681983, 24.21486091 45.72690557, 24.21482049 45.72699099, 24.21477862 45.72707606, 24.21473535 45.72716079, 24.21469062 45.72724515, 24.21464436 45.7273291, 24.21459673 45.72741268, 24.21454789 45.72749591, 24.21449737 45.72757865, 24.21444584 45.72766109, 24.21439267 45.72774301, 24.21433842 45.72782459, 24.21428272 45.72790567, 24.21422548 45.72798624, 24.21416697 45.72806635, 24.21410705 45.72814596, 24.21404588 45.72822509, 24.21398333 45.7283037, 24.21391954 45.72838181, 24.21385438 45.72845937, 24.2137879 45.72853638, 24.21371995 45.72861276, 24.21365108 45.72868873, 24.21358071 45.72876402, 24.21350924 45.7288388, 24.21343646 45.72891295, 24.21336217 45.72898638, 24.213287 45.72905936, 24.2132104 45.72913161, 24.21313281 45.72920334, 24.21305385 45.72927433, 24.21297382 45.72934473, 24.21289256 45.72941444, 24.21280996 45.72948337, 24.21272644 45.72955175, 24.2126416 45.72961934, 24.21255589 45.72968638, 24.21246899 45.72975267, 24.2123809 45.72981818, 24.21229172 45.72988297, 24.21220145 45.72994701, 24.21211012 45.73001031, 24.21201772 45.73007284, 24.21192428 45.73013461, 24.21182976 45.73019557, 24.21173413 45.73025568, 24.21163783 45.73031526, 24.21154037 45.73037389, 24.2114417 45.73043154, 24.21134234 45.7304886, 24.21124184 45.73054467, 24.21114065 45.73060014, 24.21103841 45.73065464, 24.21093532 45.73070835, 24.21083132 45.7307612, 24.21072627 45.73081302, 24.21062056 45.73086418, 24.21051384 45.73091431, 24.21040647 45.73096374, 24.21029814 45.73101214, 24.21018904 45.73105967, 24.21007915 45.73110631, 24.20996833 45.73115186, 24.20985698 45.73119677, 24.20974474 45.73124059, 24.20963198 45.73128374, 24.20951839 45.73132579, 24.20940399 45.73136678, 24.20928899 45.73140691, 24.20917305 45.73144571, 24.20905679 45.73148404, 24.20893997 45.73152152, 24.20882246 45.73155794, 24.20870484 45.73159417, 24.20858658 45.73162936, 24.20846767 45.73166347, 24.20834869 45.73169746, 24.20822928 45.73173069, 24.2081095 45.73176329, 24.20798973 45.73179589, 24.20786996 45.73182849, 24.20775019 45.73186109, 24.20763042 45.73189369, 24.20751064 45.73192629, 24.20739087 45.73195889, 24.2072711 45.73199149, 24.20715132 45.73202409, 24.20703156 45.73205671, 24.2069119 45.73208951, 24.20679233 45.73212247, 24.20667277 45.73215544, 24.20655359 45.73218909, 24.20643483 45.73222347, 24.2063161 45.73225789, 24.20619772 45.73229287, 24.20607977 45.73232859, 24.20596191 45.73236445, 24.20584447 45.73240097, 24.20572769 45.73243852, 24.20561115 45.73247643, 24.2054952 45.73251521, 24.20537997 45.73255504, 24.20526489 45.73259508, 24.20515054 45.73263613, 24.20503688 45.73267811, 24.20492345 45.7327204, 24.20481079 45.73276368, 24.20469869 45.73280766, 24.20458699 45.73285215, 24.2044761 45.73289762, 24.20436562 45.73294358, 24.20425575 45.73299024, 24.20414672 45.73303788, 24.20403794 45.73308578, 24.20392997 45.73313457, 24.2038229 45.73318433, 24.20371602 45.73323429, 24.20361005 45.73328518, 24.20350486 45.73333687, 24.2034 45.73338889, 24.2032961 45.73344184, 24.20319283 45.7334954, 24.20309009 45.73354944, 24.20298835 45.73360441, 24.20288707 45.73365981, 24.20278653 45.73371584, 24.20268702 45.73377278, 24.20258781 45.73382997, 24.20248954 45.73388795, 24.20239234 45.73394682, 24.20229535 45.73400585, 24.20219944 45.73406574, 24.20210453 45.73412641, 24.20200994 45.73418732, 24.20191646 45.73424906, 24.2018238 45.73431141, 24.20173167 45.73437415, 24.20164069 45.7344377, 24.20155034 45.73450169, 24.2014607 45.73456617, 24.20137218 45.7346314, 24.20128427 45.73469704, 24.2011974 45.73476335, 24.20111134 45.73483019, 24.20102612 45.73489753, 24.20094197 45.73496554, 24.20085842 45.73503392, 24.20077595 45.73510293, 24.20069419 45.73517236, 24.20061344 45.73524236, 24.2005338 45.73531298, 24.20044757 45.7353794, 24.20036962 45.73545071, 24.20029423 45.73552359, 24.20021946 45.73559678, 24.20014618 45.7356707, 24.20007314 45.73574474, 24.20000076 45.7358191, 24.19992986 45.73589415, 24.19985919 45.73596931, 24.19978925 45.73604481, 24.19972076 45.73612095, 24.1996525 45.7361972, 24.19958502 45.73627378, 24.19951898 45.73635098, 24.19945317 45.73642828, 24.1993882 45.73650592, 24.19932464 45.73658413, 24.19926131 45.73666243, 24.19919926 45.73674124, 24.19913925 45.73682081, 24.19907956 45.73690051, 24.19902152 45.73698079, 24.19896453 45.73706145, 24.19890768 45.73714216, 24.19885318 45.73722365, 24.19879919 45.73730531, 24.19874575 45.73738715, 24.19869437 45.73746964, 24.19864332 45.73755222, 24.19859348 45.73763517, 24.19854516 45.73771855, 24.19849705 45.737802, 24.19845086 45.73788597, 24.19840562 45.7379702, 24.19836055 45.73805448, 24.19831799 45.73813939, 24.19827586 45.7382244, 24.1982345 45.73830961, 24.19819516 45.73839527, 24.19815612 45.73848101, 24.19811826 45.73856701, 24.19808216 45.73865337, 24.19804632 45.73873979, 24.19801206 45.73882652, 24.19797924 45.73891353, 24.19794661 45.73900057, 24.19791598 45.73908797, 24.19788646 45.73917555, 24.19785707 45.73926315, 24.19783009 45.73935114, 24.19780389 45.73943924, 24.19777778 45.73952735, 24.19775446 45.73961584, 24.19773161 45.7397044, 24.19770917 45.739793, 24.19768921 45.7398819, 24.19766965 45.73997084, 24.19765091 45.74005987, 24.19763431 45.7401491, 24.19761805 45.74023837, 24.19760304 45.74032774, 24.19758983 45.74041726, 24.19757688 45.74050679, 24.19756562 45.74059643, 24.19755579 45.74068616, 24.19754616 45.74077589, 24.19753865 45.74086573, 24.19753222 45.7409556, 24.19752591 45.74104548, 24.19752218 45.74113543, 24.19751916 45.7412254, 24.19751636 45.74131537, 24.19751669 45.74140535, 24.19751754 45.74149534, 24.19751922 45.74158532, 24.1975228 45.74167528, 24.19752668 45.74176522, 24.19753207 45.74185513, 24.19753879 45.741945, 24.1975457 45.74203486, 24.1975548 45.74212462, 24.19756465 45.74221435, 24.19757486 45.74230405, 24.19758742 45.74239361, 24.19760036 45.74248314, 24.19761427 45.7425726, 24.19762995 45.74266192, 24.19764589 45.74275121, 24.19766254 45.74284045, 24.19768052 45.74292955, 24.19769969 45.74301853, 24.19772 45.74310739, 24.19774222 45.74319602, 24.19776484 45.74328461, 24.19778876 45.74337303, 24.19781426 45.74346123, 24.19784014 45.74354937, 24.19786854 45.74363714, 24.19789735 45.74372484, 24.19792779 45.74381227, 24.1979595 45.74389947, 24.19799185 45.74398656, 24.19802642 45.74407324, 24.19806135 45.74415984, 24.19809821 45.74424605, 24.19813606 45.74433205, 24.19817481 45.74441785, 24.19821547 45.74450322, 24.19825643 45.74458851, 24.198299 45.74467342, 24.19834208 45.74475821, 24.19838519 45.74484298, 24.19843064 45.74492716, 24.1984768 45.74501114, 24.19852302 45.74509511, 24.19857156 45.74517844, 24.1986208 45.74526156, 24.1986701 45.74534467, 24.19872168 45.74542709, 24.19877398 45.74550929, 24.19882632 45.74559148, 24.19888093 45.74567294, 24.19893623 45.74575418, 24.19899158 45.7458354, 24.19904918 45.74591584, 24.19910745 45.74599605, 24.19916578 45.74607624, 24.1992243 45.74615636, 24.19928323 45.74623634, 24.19934248 45.7463162, 24.199402 45.74639596, 24.1994617 45.74647565, 24.19952151 45.7465553, 24.19958137 45.74663494, 24.19964122 45.74671458, 24.1997011 45.74679421, 24.19976098 45.74687384, 24.19982085 45.74695347, 24.1998807 45.7470331, 24.19994059 45.74711273, 24.20000046 45.74719236, 24.20006032 45.747272, 24.2001202 45.74735163, 24.20018007 45.74743126, 24.20023992 45.74751089, 24.20029981 45.74759052, 24.20035968 45.74767015, 24.20041953 45.74774979, 24.20047942 45.74782942, 24.20053929 45.74790905, 24.20059915 45.74798868, 24.20065903 45.74806831, 24.20071796 45.74814829, 24.20077632 45.74822847, 24.20083461 45.74830867, 24.20089475 45.74838816, 24.200951 45.74846908, 24.20100863 45.74854952, 24.20106708 45.74862966, 24.20112615 45.74870959, 24.20118609 45.74878919, 24.20124604 45.7488688, 24.20130598 45.7489484, 24.20136593 45.74902801, 24.20142587 45.74910761, 24.20148582 45.74918722, 24.20154577 45.74926682, 24.20160571 45.74934643, 24.20163103 45.74938053, 24.20157032 45.74930121, 24.20150984 45.74922193, 24.20157123 45.74930099, 24.20163262 45.74938005, 24.20169401 45.74945911, 24.20175541 45.74953817, 24.20181681 45.74961724, 24.20187821 45.7496963, 24.20193959 45.74977536, 24.20200099 45.74985442, 24.20206238 45.74993348, 24.20212378 45.75001254, 24.20218367 45.75009217)",
          "point_count": 1299,
          "bbox_min_latitude": 45.64955415,
          "bbox_max_latitude": 45.75009217,
          "bbox_min_longitude": 24.19751636,
          "bbox_max_longitude": 24.25753411,
          "first_seen_date": "2026-10-16T00:00:00.000Z",
          "last_seen_date": "2026-10-22T00:00:00.000Z"
        },
        {
          "geometry_hash": "01c3759a0ec52c78",
          "geometry_kind": "path",
          "geometry_wkt": "LINESTRING (22.59093572 44.6339051, 22.59082392 44.63394661, 22.59071337 44.63398978, 22.59060381 44.63403422, 22.59049571 44.63408046, 22.59038762 44.63412671, 22.59027956 44.634173, 22.59017297 44.63422099, 22.59006637 44.63426898, 22.58995978 44.63431697, 22.58985461 44.63436654, 22.58974957 44.63441624, 22.58964453 44.63446595, 22.5895405 44.63451672, 22.58943668 44.63456772, 22.58933299 44.63461885, 22.58923043 44.63467112, 22.58912786 44.63472339, 22.58902529 44.63477567, 22.58892273 44.63482794, 22.58891847 44.63483011, 22.58881816 44.63488452, 22.58871938 44.63494039, 22.5886206 44.63499627, 22.58852183 44.63505214, 22.58842305 44.63510801, 22.58832427 44.63516388, 22.58822549 44.63521975, 22.58812672 44.63527562, 22.58802794 44.63533149, 22.58792891 44.63538713, 22.58782852 44.63544152, 22.58772639 44.63549419, 22.58762282 44.63554546, 22.587518 44.63559537, 22.58741172 44.63564371, 22.58730322 44.63568946, 22.58719374 44.63573399, 22.58708249 44.63577626, 22.58696977 44.63581645, 22.58685612 44.6358553, 22.58673983 44.63588997, 22.58662272 44.63592316, 22.58650479 44.63595487, 22.58638546 44.63598378, 22.58626554 44.63601137, 22.58614476 44.63603705, 22.58602302 44.63606026, 22.58590084 44.63608228, 22.58577802 44.63610242, 22.5856552 44.63612255, 22.58553277 44.63614386, 22.58541048 44.63616559, 22.58528833 44.63618768, 22.58516661 44.63621099, 22.5850449 44.63623431, 22.58492352 44.63625848, 22.5848024 44.63628332, 22.58468134 44.63630832, 22.58456018 44.63633306, 22.58444042 44.63636105, 22.58432148 44.63639073, 22.5842034 44.63642217, 22.5840871 44.6364568, 22.58397179 44.63649306, 22.58385753 44.636531, 22.5837454 44.63657206, 22.58363284 44.63661252, 22.58351981 44.63665231, 22.58340772 44.63669339, 22.58329665 44.63673591, 22.5831873 44.63678055, 22.58307996 44.63682768, 22.58297654 44.63687906, 22.58287503 44.63693235, 22.58277515 44.63698721, 22.58267801 44.63704453, 22.58258317 44.63710375, 22.58248967 44.63716408, 22.58239823 44.63722597, 22.58230791 44.63728872, 22.58221978 44.63735301, 22.58213276 44.6374181, 22.58204806 44.6374847, 22.58196446 44.63755203, 22.5818833 44.63762085, 22.58180324 44.63769033, 22.58172482 44.63776076, 22.58164802 44.63783208, 22.58157377 44.63790478, 22.581503 44.63797924, 22.58143522 44.63805508, 22.5813679 44.63813115, 22.58130058 44.63820721, 22.58123326 44.63828328, 22.58116594 44.63835934, 22.58109862 44.6384354, 22.5810313 44.63851147, 22.58096398 44.63858753, 22.58089666 44.63866359, 22.58082934 44.63873966, 22.58076202 44.63881572, 22.5806947 44.63889178, 22.58062738 44.63896785, 22.58056006 44.63904391, 22.58049289 44.63912004, 22.58042611 44.63919635, 22.58035978 44.63927286, 22.58029008 44.6393478, 22.58021828 44.63942173, 22.58014318 44.63949399, 22.58006508 44.63956458, 22.57998457 44.63963376, 22.57989915 44.63969992, 22.5798098 44.63976337, 22.57971751 44.63982461, 22.57962237 44.63988357, 22.57952446 44.63994021, 22.57942323 44.63999381, 22.57932039 44.64004581, 22.57921718 44.64009744, 22.57911396 44.64014907, 22.57901084 44.64020079, 22.57890828 44.64025308, 22.57880572 44.64030537, 22.57870316 44.64035766, 22.57859985 44.64040919, 22.57849572 44.64045987, 22.57839273 44.64051172, 22.57829015 44.640564, 22.57818914 44.6406178, 22.57808826 44.64067173, 22.57798792 44.64072616, 22.57789144 44.64078405, 22.57779847 44.64084477, 22.57770894 44.64090806, 22.57762298 44.64097382, 22.57754071 44.64104197, 22.57746288 44.64111273, 22.57738964 44.64118594, 22.57731843 44.64126018, 22.577248 44.64133479, 22.57717756 44.6414094, 22.57710712 44.64148401, 22.57703668 44.64155863, 22.57696545 44.64163285, 22.57689422 44.64170708, 22.57682298 44.6417813, 22.57675175 44.64185553, 22.57668051 44.64192976, 22.57660937 44.64200403, 22.57653837 44.64207837, 22.57646737 44.64215271, 22.57639638 44.64222705, 22.57632457 44.64230099, 22.57625156 44.64237433, 22.57617856 44.64244768, 22.57610556 44.64252103, 22.57603219 44.64259418, 22.57595833 44.64266709, 22.57588447 44.64274, 22.57581061 44.6428129, 22.57573674 44.64288581, 22.57566288 44.64295871, 22.57558306 44.64302835, 22.57550321 44.64309796, 22.57542328 44.64316753, 22.57534324 44.64323703, 22.57526319 44.64330653, 22.57518314 44.64337603, 22.5751031 44.64344552, 22.57502305 44.64351502, 22.574943 44.64358452, 22.57486295 44.64365402, 22.5747829 44.64372352, 22.57470286 44.64379302, 22.57462281 44.64386252, 22.57454276 44.64393202, 22.57446271 44.64400152, 22.57438266 44.64407101, 22.57430261 44.64414051, 22.57422256 44.64421001, 22.57414251 44.64427951, 22.57406246 44.64434901, 22.57398241 44.64441851, 22.57390236 44.644488, 22.57382231 44.6445575, 22.57374226 44.644627, 22.57366221 44.6446965, 22.57358215 44.64476599, 22.57350238 44.64483565, 22.57342322 44.64490567, 22.57334405 44.64497568, 22.57326489 44.6450457, 22.57318573 44.64511571, 22.57310657 44.64518572, 22.5730274 44.64525574, 22.57294824 44.64532575, 22.57286908 44.64539577, 22.57278991 44.64546578, 22.57271075 44.6455358, 22.57263159 44.64560581, 22.57255246 44.64567585, 22.5724735 44.64574598, 22.57239456 44.64581612, 22.57231565 44.64588629, 22.57223675 44.64595645, 22.57215784 44.64602661, 22.57207894 44.64609678, 22.57199993 44.64616688, 22.57192013 44.64623653, 22.57184033 44.64630617, 22.57176052 44.64637582, 22.57168072 44.64644546, 22.57160092 44.64651511, 22.57152111 44.64658475, 22.57144107 44.64665425, 22.57136066 44.64672354, 22.57128026 44.64679283, 22.57119985 44.64686212, 22.57111945 44.64693141, 22.57103904 44.64700071, 22.57095863 44.64707, 22.57087823 44.64713929, 22.57079782 44.64720858, 22.57071742 44.64727787, 22.57063701 44.64734716, 22.57055664 44.64741647, 22.57047655 44.64748595, 22.57039645 44.64755542, 22.57031636 44.6476249, 22.57023627 44.64769437, 22.57015617 44.64776385, 22.57007582 44.64783317, 22.56999519 44.64790233, 22.56991488 44.64797168, 22.5698358 44.64804174, 22.56975671 44.6481118, 22.56967907 44.64818268, 22.56960154 44.64825362, 22.56952628 44.64832578, 22.56945274 44.64839885, 22.56938247 44.64847355, 22.56931455 44.64854932, 22.56924848 44.64862594, 22.569186 44.64870409, 22.5691258 44.64878313, 22.56906749 44.64886289, 22.56901206 44.6489437, 22.56895662 44.64902451, 22.56890119 44.64910532, 22.56884669 44.64918645, 22.56879241 44.64926766, 22.56873813 44.64934886, 22.56868384 44.64943007, 22.56862956 44.64951127, 22.56857527 44.64959248, 22.56852099 44.64967368, 22.5684667 44.64975489, 22.56841242 44.64983609, 22.56835813 44.6499173, 22.56830385 44.6499985, 22.56824956 44.65007971, 22.56819528 44.65016091, 22.56814099 44.65024212, 22.56808671 44.65032332, 22.56803242 44.65040453, 22.56797813 44.65048573, 22.56792417 44.65056705, 22.56787044 44.65064844, 22.56781671 44.65072984, 22.56776298 44.65081123, 22.56770925 44.65089262, 22.56765552 44.65097402, 22.56760179 44.65105541, 22.56754806 44.6511368, 22.56749433 44.6512182, 22.5674406 44.65129959, 22.56738687 44.65138098, 22.56733314 44.65146238, 22.56727941 44.65154377, 22.56722568 44.65162516, 22.56717194 44.65170656, 22.56711819 44.65178794, 22.56706434 44.6518693, 22.5670105 44.65195065, 22.56695666 44.65203201, 22.56690281 44.65211336, 22.56684897 44.65219472, 22.56679512 44.65227607, 22.56674128 44.65235743, 22.56668739 44.65243877, 22.56663295 44.65251992, 22.5665785 44.65260107, 22.56652405 44.65268222, 22.56646961 44.65276337, 22.56641516 44.65284452, 22.56636071 44.65292567, 22.56630627 44.65300683, 22.56625182 44.65308798, 22.56619519 44.65316836, 22.56613773 44.65324844, 22.56607877 44.65332796, 22.56601808 44.65340682, 22.56595653 44.65348534, 22.56589266 44.65356291, 22.56582836 44.65364029, 22.56575889 44.65371537, 22.56568799 44.65378975, 22.56561534 44.65386329, 22.56554013 44.65393549, 22.56546377 44.65400707, 22.56538499 44.6540773, 22.5653067 44.65414783, 22.56522879 44.65421856, 22.56515088 44.6542893, 22.56507297 44.65436003, 22.56499506 44.65443076, 22.56491715 44.6545015, 22.56483924 44.65457223, 22.56476133 44.65464297, 22.56468342 44.6547137, 22.56460551 44.65478443, 22.56452759 44.65485517, 22.56444967 44.6549259, 22.56437172 44.6549966, 22.56429376 44.65506731, 22.5642158 44.65513802, 22.56413785 44.65520873, 22.56405989 44.65527944, 22.56398193 44.65535014, 22.56390395 44.65542084, 22.56382597 44.65549153, 22.56374798 44.65556223, 22.56367 44.65563292, 22.56359202 44.65570362, 22.56351404 44.65577431, 22.56343606 44.65584501, 22.56335808 44.65591571, 22.56328009 44.6559864, 22.56320211 44.65605709, 22.56312413 44.65612779, 22.56304735 44.65619914, 22.56297163 44.65627108, 22.56289592 44.65634302, 22.5628202 44.65641496, 22.5627449 44.65648712, 22.56267017 44.65655959, 22.56259544 44.65663205, 22.56252071 44.65670451, 22.5624475 44.65677776, 22.56237451 44.65685112, 22.56230152 44.65692448, 22.56222911 44.65699813, 22.56215787 44.65707236, 22.56208664 44.6571466, 22.5620154 44.65722083, 22.56194557 44.65729574, 22.56187611 44.65737083, 22.56180666 44.65744592, 22.56173764 44.65752121, 22.56166998 44.65759713, 22.56160232 44.65767305, 22.56153467 44.65774897, 22.5614673 44.65782502, 22.56140005 44.65790113, 22.56133281 44.65797724, 22.56126556 44.65805334, 22.56119956 44.65813, 22.56113427 44.65820697, 22.56106899 44.65828394, 22.56100371 44.65836092, 22.56093842 44.65843789, 22.56087338 44.65851496, 22.56081016 44.65859281, 22.56074694 44.65867065, 22.56068371 44.6587485, 22.56062049 44.65882634, 22.56055726 44.65890418, 22.56049336 44.65898174, 22.56042932 44.65905925, 22.56036527 44.65913675, 22.56030123 44.65921425, 22.56023658 44.65929149, 22.56017064 44.65936818, 22.56010469 44.65944486, 22.56003874 44.65952155, 22.5599728 44.65959823, 22.55990333 44.6596733, 22.55983299 44.65974797, 22.55976186 44.65982225, 22.55968923 44.6598958, 22.5596166 44.65996934, 22.55954196 44.66004185, 22.55946707 44.66011423, 22.55939121 44.66018609, 22.55931411 44.66025728, 22.559237 44.66032846, 22.55915907 44.66039919, 22.55908114 44.66046992, 22.5590032 44.66054064, 22.55892541 44.66061144, 22.55884905 44.66068304, 22.55877269 44.66075464, 22.5586965 44.66082632, 22.55862093 44.66089834, 22.55854535 44.66097036, 22.55847038 44.66104269, 22.55839846 44.66111657, 22.55832919 44.66119175, 22.55825997 44.66126695, 22.55819103 44.66134228, 22.5581221 44.66141762, 22.55805316 44.66149295, 22.55798423 44.66156829, 22.55791529 44.66164362, 22.55784636 44.66171896, 22.55777742 44.66179429, 22.55770848 44.66186963, 22.55763955 44.66194496, 22.55757061 44.6620203, 22.55750168 44.66209563, 22.55743274 44.66217097, 22.5573638 44.6622463, 22.55729487 44.66232164, 22.55722593 44.66239697, 22.55715614 44.6624719, 22.55708537 44.66254637, 22.55701461 44.66262084, 22.55694247 44.66269462, 22.55686929 44.66276788, 22.5567961 44.66284115, 22.55672132 44.66291358, 22.55664575 44.6629856, 22.55657017 44.66305762, 22.5564928 44.66312866, 22.55641488 44.6631994, 22.55633697 44.66327013, 22.55625755 44.66334001, 22.5561779 44.66340976, 22.55609825 44.66347951, 22.5560186 44.66354926, 22.55593715 44.66361793, 22.55585558 44.66368654, 22.55577402 44.66375515, 22.55569242 44.66382375, 22.55560897 44.66389119, 22.55552551 44.66395863, 22.55544206 44.66402608, 22.55535844 44.66409342, 22.55527313 44.66415967, 22.55518783 44.66422592, 22.55510252 44.66429217, 22.55501691 44.66435823, 22.55492978 44.66442326, 22.55484265 44.6644883, 22.55475552 44.66455333, 22.55466851 44.66461844, 22.55458203 44.66468392, 22.55449586 44.6647496, 22.55440969 44.66481528, 22.55432196 44.6648799, 22.55423403 44.66494438, 22.55414532 44.66500832, 22.55405567 44.66507158, 22.55396599 44.66513483, 22.55387437 44.66519664, 22.55378275 44.66525845, 22.55369113 44.66532026, 22.55359755 44.66538055, 22.55350374 44.66544067, 22.55340993 44.66550079, 22.55331446 44.66555955, 22.55321853 44.66561794, 22.55312259 44.66567632, 22.55302528 44.66573352, 22.55292729 44.66579014, 22.55282929 44.66584675, 22.55273093 44.66590304, 22.55263228 44.66595908, 22.5525329 44.66601444, 22.55243297 44.6660693, 22.55233303 44.66612417, 22.5522331 44.66617903, 22.55213316 44.66623389, 22.55203323 44.66628875, 22.55193286 44.6663432, 22.55183224 44.66639742, 22.55173162 44.66645164, 22.551631 44.66650587, 22.55153038 44.66656009, 22.55142977 44.66661431, 22.55132866 44.66666807, 22.55122737 44.66672165, 22.55112607 44.66677522, 22.55102478 44.6668288, 22.55092349 44.66688238, 22.55082219 44.66693596, 22.55072123 44.66698985, 22.55062035 44.66704383, 22.55051947 44.6670978, 22.55041859 44.66715178, 22.55031771 44.66720575, 22.55021686 44.66725976, 22.55011613 44.66731387, 22.55001539 44.66736798, 22.54991466 44.66742209, 22.54981392 44.66747621, 22.54971319 44.66753032, 22.54961245 44.66758443, 22.54951172 44.66763854, 22.54941098 44.66769266, 22.54931024 44.66774677, 22.54920951 44.66780088, 22.54910877 44.66785499, 22.54900803 44.6679091, 22.54890729 44.66796321, 22.54880656 44.66801732, 22.54870582 44.66807144, 22.54860521 44.66812567, 22.5485046 44.6681799, 22.54840399 44.66823414, 22.54830338 44.66828837, 22.54820277 44.6683426, 22.54810216 44.66839683, 22.54800155 44.66845106, 22.54790094 44.6685053, 22.54780033 44.66855953, 22.54769972 44.66861376, 22.54759911 44.66866799, 22.5474985 44.66872222, 22.54739788 44.66877646, 22.54729727 44.66883069, 22.54719666 44.66888492, 22.54709605 44.66893915, 22.54699544 44.66899338, 22.54689482 44.66904761, 22.54679421 44.66910184, 22.5466936 44.66915607, 22.54659298 44.6692103, 22.54649237 44.66926453, 22.54639192 44.66931892, 22.54629148 44.66937332, 22.54619105 44.66942771, 22.54609061 44.66948211, 22.54599017 44.66953651, 22.54588973 44.6695909, 22.54578929 44.6696453, 22.54568885 44.66969969, 22.54558842 44.66975409, 22.54548798 44.66980849, 22.54538754 44.66986288, 22.5452871 44.66991728, 22.54518666 44.66997167, 22.54508622 44.67002607, 22.54498578 44.67008046, 22.54488534 44.67013486, 22.5447849 44.67018925, 22.54468446 44.67024365, 22.54458402 44.67029804, 22.54448357 44.67035244, 22.54438313 44.67040683, 22.54428269 44.67046123, 22.54418245 44.67051581, 22.54408278 44.67057092, 22.54398311 44.67062603, 22.54388344 44.67068114, 22.54378377 44.67073626, 22.5436841 44.67079137, 22.54358442 44.67084648, 22.54348475 44.67090159, 22.54338508 44.6709567, 22.54328541 44.67101182, 22.54318572 44.67106691, 22.54308589 44.67112188, 22.54298607 44.67117685, 22.54288624 44.67123182, 22.54278641 44.67128678, 22.54268658 44.67134175, 22.54258675 44.67139672, 22.54248692 44.67145169, 22.54238709 44.67150665, 22.54228726 44.67156162, 22.54218743 44.67161659, 22.5420876 44.67167155, 22.54198777 44.67172652, 22.54188794 44.67178149, 22.54178811 44.67183645, 22.54168828 44.67189142, 22.54158845 44.67194639, 22.54148862 44.67200135, 22.54138879 44.67205632, 22.54128862 44.67211097, 22.54118843 44.6721656, 22.54108824 44.67222024, 22.54098806 44.67227488, 22.54088787 44.67232952, 22.54078769 44.67238415, 22.5406875 44.67243879, 22.54058732 44.67249343, 22.54048713 44.67254806, 22.54038694 44.6726027, 22.54028676 44.67265734, 22.54018657 44.67271197, 22.54008638 44.67276661, 22.53998619 44.67282125, 22.53988601 44.67287588, 22.53978582 44.67293052, 22.53968563 44.67298516, 22.53958544 44.67303979, 22.53948525 44.67309443, 22.53938506 44.67314906, 22.53928488 44.6732037, 22.53918469 44.67325834, 22.53908459 44.67331306, 22.53898451 44.67336779, 22.53888442 44.67342253, 22.53878434 44.67347726, 22.53868307 44.67353087, 22.53858158 44.67358427, 22.5384801 44.67363767, 22.53837861 44.67369108, 22.53827598 44.67374336, 22.53817313 44.67379541, 22.53807027 44.67384746, 22.53796742 44.67389952, 22.53786347 44.67395045, 22.53775928 44.67400113, 22.53765509 44.67405182, 22.53755091 44.6741025, 22.53744357 44.67414968, 22.53733547 44.67419601, 22.53722737 44.67424234, 22.5371186 44.67428785, 22.53700945 44.67433291, 22.5369003 44.67437797, 22.53679067 44.67442243, 22.5366805 44.6744662, 22.53657033 44.67450998, 22.53645986 44.67455337, 22.53634871 44.67459585, 22.53623755 44.67463834, 22.53612615 44.67468049, 22.53601321 44.67472051, 22.53590026 44.67476052, 22.53578732 44.67480054, 22.53567437 44.67484055, 22.53556143 44.67488057, 22.53544849 44.67492059, 22.53533554 44.6749606, 22.5352226 44.67500062, 22.53510965 44.67504063, 22.53499671 44.67508065, 22.53488376 44.67512066, 22.53477082 44.67516068, 22.53465787 44.67520069, 22.53454492 44.67524071, 22.53443198 44.67528072, 22.53431903 44.67532073, 22.53420609 44.67536075, 22.53409314 44.67540076, 22.53398036 44.67544101, 22.53386782 44.6754816, 22.53375528 44.67552219, 22.53364273 44.67556278, 22.53353019 44.67560337, 22.53341765 44.67564396, 22.53330511 44.67568455, 22.53324485 44.67570629, 22.53313231 44.67574688, 22.53301977 44.67578746, 22.53290722 44.67582805, 22.53279468 44.67586864, 22.53268214 44.67590923, 22.53256959 44.67594982, 22.53245705 44.67599041, 22.53234442 44.67603088, 22.53223166 44.67607117, 22.53211891 44.67611145, 22.53200615 44.67615174, 22.53189339 44.67619202, 22.53178063 44.67623231, 22.53166787 44.6762726, 22.53155511 44.67631288, 22.53144236 44.67635317, 22.5313296 44.67639345, 22.53122006 44.67643782, 22.53111339 44.67648581, 22.53100848 44.67653572, 22.53090413 44.67658624, 22.53080215 44.67663916, 22.53070081 44.6766927, 22.53060134 44.676748, 22.53050318 44.67680447, 22.53040633 44.67686209, 22.53031151 44.6769214, 22.53021739 44.67698128, 22.53012798 44.67704473, 22.53004001 44.67710918, 22.52995417 44.67717509, 22.5298712 44.67724283, 22.52978972 44.67731149, 22.52971122 44.67738191, 22.52963506 44.6774536, 22.5295604 44.67752612, 22.52948482 44.67759815, 22.52940805 44.67766951, 22.52932868 44.67773943, 22.52924703 44.67780798, 22.52916399 44.6778757, 22.52907766 44.67794128, 22.52898876 44.67800494, 22.52889099 44.67806175, 22.5287904 44.678116, 22.52868842 44.67816892, 22.52858407 44.67821944, 22.52847971 44.67826996, 22.52837536 44.67832048, 22.52827101 44.678371, 22.52816665 44.67842152, 22.5280623 44.67847204, 22.52795794 44.67852256, 22.52785359 44.67857307, 22.52774834 44.67862262, 22.52764717 44.67867633, 22.52754769 44.67873159, 22.52745033 44.67878877, 22.52735648 44.67884886, 22.52726442 44.67891032, 22.52717537 44.67897403, 22.52708955 44.67903993, 22.52700567 44.6791071, 22.52692578 44.67917672, 22.52684353 44.6792449, 22.52675951 44.679312, 22.52667381 44.67937799, 22.52658642 44.67944286, 22.52649767 44.67950676, 22.52640702 44.67956932, 22.52631457 44.67963046, 22.52621652 44.67968695, 22.52611287 44.67973811, 22.52600419 44.67978365, 22.52589071 44.6798227, 22.52577494 44.67985839, 22.52565746 44.6798911, 22.52553929 44.67992247, 22.52542 44.67995167, 22.52529961 44.67997841, 22.52517887 44.68000439, 22.52505836 44.68003092, 22.52493803 44.68005783, 22.52481896 44.68008747, 22.52470229 44.68012161, 22.52458801 44.68015961, 22.52447637 44.68020138, 22.52436917 44.68024852, 22.52426633 44.68030059, 22.52416699 44.68035602, 22.52406977 44.68041329, 22.52397468 44.68047239, 22.52388344 44.6805345, 22.52379482 44.68059848, 22.52370815 44.68066384, 22.52362295 44.68073018, 22.52353446 44.68079427, 22.52344337 44.68085647, 22.52334975 44.68091674, 22.52325307 44.68097451, 22.52315351 44.68102972, 22.5230526 44.68108368, 22.52295092 44.68113691, 22.52284349 44.68118389, 22.52273462 44.6812293, 22.52262574 44.68127471, 22.52251765 44.68132106, 22.52240983 44.68136774, 22.52230202 44.68141442, 22.52219303 44.68145967, 22.52208388 44.68150472, 22.5219773 44.68155283, 22.52187264 44.68160299, 22.52176946 44.68165472, 22.52166951 44.68170959, 22.52157143 44.68176612, 22.52147512 44.6818242, 22.52138254 44.6818853, 22.52129181 44.68194777, 22.52120336 44.68201191, 22.52111868 44.68207857, 22.52103601 44.68214649, 22.52095616 44.68221614, 22.52087443 44.68228466, 22.52079226 44.68235292, 22.5207101 44.68242118, 22.52062793 44.68248944, 22.52054577 44.6825577, 22.5204636 44.68262596, 22.52038144 44.68269422, 22.52029927 44.68276248, 22.5202171 44.68283074, 22.52013331 44.68289799, 22.52004944 44.68296518, 22.51996229 44.68303022, 22.51987499 44.68309516, 22.51978461 44.68315791, 22.51969397 44.68322046, 22.51959995 44.68328044, 22.51950437 44.68333912, 22.5194074 44.68339664, 22.51930856 44.68345253, 22.51920737 44.68350622, 22.51910553 44.68355929, 22.51900369 44.68361237, 22.51890252 44.68366609, 22.51880169 44.68372014, 22.51870086 44.68377419, 22.51859981 44.68382803, 22.51849856 44.68388167, 22.5183976 44.6839356, 22.5182975 44.68399034, 22.51819836 44.68404594, 22.5181003 44.68410253, 22.51800368 44.68416034, 22.51790772 44.68421873, 22.5178137 44.6842787, 22.51772035 44.68433919, 22.51763059 44.68440239, 22.51754126 44.68446591, 22.51745333 44.68453041, 22.51736631 44.68459553, 22.51728089 44.68466173, 22.51719754 44.68472924, 22.51711282 44.6847959, 22.5170281 44.68486255, 22.51694386 44.68492951, 22.51686035 44.68499694, 22.51677684 44.68506437, 22.51669314 44.68513167, 22.51660934 44.68519892, 22.51652554 44.68526616, 22.51644174 44.68533341, 22.51635794 44.68540065, 22.51627634 44.68546924, 22.51619588 44.68553853, 22.51611542 44.68560782, 22.51603496 44.68567711, 22.5159545 44.6857464, 22.51587345 44.68581534, 22.51579222 44.68588417, 22.51571098 44.68595299, 22.51563173 44.68602299, 22.5155531 44.68609334, 22.51547731 44.68616525, 22.51540267 44.68623777, 22.51533001 44.68631131, 22.51525953 44.68638592, 22.51518996 44.68646097, 22.51512038 44.68653602, 22.51505173 44.68661149, 22.5149843 44.68668753, 22.51491687 44.68676357, 22.51484957 44.68683967, 22.51478304 44.68691611, 22.51471651 44.68699255, 22.51465246 44.68707006, 22.51458849 44.68714761, 22.51452487 44.6872253, 22.51446134 44.68730303, 22.51439781 44.68738076, 22.51433766 44.68745981, 22.5142808 44.68754012, 22.51422562 44.68762103, 22.5141711 44.68770217, 22.51411659 44.6877833, 22.51406207 44.68786444, 22.51400755 44.68794558, 22.51395478 44.6880273, 22.513902 44.68810902, 22.51384923 44.68819074, 22.51379645 44.68827246, 22.51374421 44.68835436, 22.51369206 44.68843628, 22.51363859 44.68851778, 22.51358512 44.68859927, 22.51353165 44.68868076, 22.51347584 44.68876144, 22.51341912 44.6888418, 22.5133624 44.68892217, 22.51330269 44.68900139, 22.51324018 44.68907954, 22.51317571 44.68915688, 22.51311152 44.68923433, 22.51304763 44.68931191, 22.51298375 44.68938949, 22.51291957 44.68946695, 22.51285495 44.68954422, 22.51279033 44.68962149, 22.5127258 44.6896988, 22.51266149 44.68977621, 22.51259929 44.68985448, 22.51253889 44.68993345, 22.5124819 44.69001372, 22.51242644 44.69009452, 22.51237287 44.69017598, 22.51232148 44.69025814, 22.51227138 44.69034071, 22.51222413 44.69042413, 22.51217755 44.69050774, 22.51213449 44.69059232, 22.51209174 44.69067696, 22.51205026 44.69076194, 22.51200878 44.69084691, 22.51196731 44.69093188, 22.51192449 44.69101651, 22.51188093 44.69110096, 22.51183737 44.6911854, 22.51179357 44.69126977, 22.51174794 44.69135365, 22.5117023 44.69143754, 22.51165667 44.69152142, 22.51160613 44.69160379, 22.51155202 44.69168507, 22.51149792 44.69176635, 22.51144442 44.69184783, 22.51139146 44.69192949, 22.51133653 44.69201048, 22.51128009 44.69209095, 22.5112216 44.69217065, 22.51116174 44.69224985, 22.51109973 44.6923282, 22.51103651 44.69240605, 22.51097105 44.69248296, 22.51090452 44.6925594, 22.51083567 44.69263478, 22.51076586 44.69270972, 22.51069434 44.69278383, 22.51062213 44.69285761, 22.51054823 44.69293052, 22.51047365 44.69300308, 22.51039839 44.69307529, 22.51032285 44.69314735, 22.51024732 44.69321941, 22.51017096 44.69329102, 22.51009356 44.69336207, 22.51001616 44.69343312, 22.50993884 44.69350421, 22.50986197 44.69357555, 22.5097851 44.69364689, 22.50970823 44.69371823, 22.50963136 44.69378957, 22.50955449 44.69386091, 22.50947762 44.69393225, 22.50940075 44.69400359, 22.50932388 44.69407492, 22.50924996 44.69414781, 22.5091774 44.69422141, 22.50910581 44.69429548, 22.5090365 44.69437066, 22.50896719 44.69444584, 22.5089009 44.69452238, 22.50883491 44.69459907, 22.50877068 44.69467649, 22.50870806 44.6947546, 22.50864591 44.69483289, 22.50858674 44.69491235, 22.50852756 44.69499182, 22.50846922 44.69507159, 22.50841116 44.69515147, 22.5083531 44.69523135, 22.50829504 44.69531123, 22.50823698 44.69539111, 22.50817892 44.69547099, 22.50812061 44.69555078, 22.50806134 44.6956302, 22.50800207 44.69570963, 22.50794267 44.695789, 22.50788185 44.69586783, 22.50782102 44.69594665, 22.50776019 44.69602548, 22.50769579 44.69610284, 22.50763126 44.69618016, 22.50756459 44.69625654, 22.50749784 44.69633289, 22.50742651 44.6964071, 22.50735506 44.69648125, 22.50728374 44.69655546, 22.50721242 44.69662968, 22.50713939 44.69670304, 22.50706527 44.69677584, 22.50699115 44.69684865, 22.50691457 44.69692014, 22.5068377 44.69699149, 22.50676034 44.69706256, 22.50668079 44.69713238, 22.50660123 44.69720221, 22.50652033 44.69727123, 22.50643788 44.69733934, 22.50635544 44.69740744, 22.50627058 44.69747401, 22.5061856 44.69754051, 22.50609952 44.69760627, 22.50601206 44.69767112, 22.5059246 44.69773596, 22.5058349 44.69779922, 22.50574502 44.69786236, 22.50565366 44.69792437, 22.5055602 44.6979848, 22.50546674 44.69804524, 22.50537328 44.69810567, 22.50527982 44.69816611, 22.50518636 44.69822654, 22.5050928 44.6982869, 22.50499873 44.69834685, 22.50490466 44.6984068, 22.50481059 44.69846675, 22.50471652 44.6985267, 22.50462245 44.69858665, 22.50452838 44.69864661, 22.5044356 44.69870757, 22.50434291 44.6987686, 22.50424977 44.69882928, 22.50415575 44.69888928, 22.50406173 44.69894927, 22.50396674 44.69900848, 22.50387143 44.69906742, 22.50377556 44.69912589, 22.50367675 44.69918182, 22.50357952 44.69923915, 22.50348291 44.69929701, 22.50338656 44.6993551, 22.50328897 44.6994121, 22.50319061 44.69946844, 22.50309102 44.69952366, 22.50299071 44.69957823, 22.50289 44.69963241, 22.50278907 44.69968639, 22.50268814 44.69974037, 22.5025872 44.69979435, 22.50248591 44.69984796, 22.50238191 44.6998989, 22.50227817 44.69995009, 22.50217443 44.70000129, 22.50207069 44.70005249, 22.50196604 44.70010274, 22.50186117 44.70015275, 22.5017563 44.70020276, 22.5016512 44.70025254, 22.50154523 44.70030135, 22.50143925 44.70035016, 22.50133327 44.70039898, 22.50122665 44.70044707, 22.5011196 44.70049467, 22.50101255 44.70054228, 22.50090549 44.70058988, 22.50079849 44.70063754, 22.50069149 44.7006852, 22.50058448 44.70073287, 22.50047748 44.70078053, 22.50037048 44.70082819, 22.50026348 44.70087586, 22.50015647 44.70092352, 22.50004947 44.70097118, 22.49994247 44.70101884, 22.49983546 44.7010665, 22.49972846 44.70111417, 22.49962145 44.70116183, 22.49951445 44.70120949, 22.49940741 44.70125711, 22.49930031 44.70130466, 22.49919321 44.70135221, 22.4990861 44.70139976, 22.49897904 44.70144736, 22.49887233 44.70149535, 22.49876561 44.70154334, 22.4986589 44.70159133, 22.49855289 44.70164011, 22.49844711 44.70168915, 22.49834133 44.70173818, 22.49823659 44.70178831, 22.49813342 44.70184009, 22.49803025 44.70189188, 22.49792857 44.70194512, 22.4978275 44.70199898, 22.49772647 44.70205287, 22.49762758 44.70210874, 22.49752869 44.70216461, 22.49743055 44.70222114, 22.49733393 44.70227899, 22.4972373 44.70233685, 22.49714093 44.70239491, 22.49704471 44.7024531, 22.49694886 44.7025116, 22.49685413 44.70257103, 22.49675941 44.70263046, 22.49666554 44.70269058, 22.49657181 44.7027508, 22.49647808 44.70281103, 22.49638435 44.70287125, 22.49629029 44.70293122, 22.49619524 44.70299039, 22.4961002 44.70304956, 22.49600515 44.70310872, 22.4959101 44.70316789, 22.49581544 44.70322737, 22.49572098 44.70328702, 22.49562653 44.70334667, 22.49553208 44.70340632, 22.49543762 44.70346597, 22.49534345 44.70352585, 22.49524938 44.7035858, 22.4951553 44.70364575, 22.49506122 44.7037057, 22.49496714 44.70376565, 22.49487494 44.70382706, 22.49478296 44.70388865, 22.49469224 44.70395117, 22.49460218 44.70401418, 22.49451295 44.70407778, 22.49442485 44.70414219, 22.49433711 44.70420684, 22.49425101 44.70427261, 22.49416491 44.70433837, 22.4940806 44.70440531, 22.49399638 44.7044723, 22.49391333 44.70454003, 22.49383118 44.70460832, 22.49374996 44.70467715, 22.49367292 44.7047484, 22.49359734 44.70482043, 22.49352334 44.70489331, 22.49345087 44.70496695, 22.49337882 44.70504082, 22.4933094 44.70511593, 22.49324093 44.70519151, 22.49317496 44.70526819, 22.49311016 44.70534539, 22.49304771 44.70542356, 22.49298665 44.7055023, 22.49292814 44.705582, 22.49287151 44.7056624, 22.49281601 44.7057432, 22.49276139 44.70582431, 22.49270705 44.70590551, 22.49265293 44.70598679, 22.49259881 44.70606807, 22.4925447 44.70614934, 22.49249058 44.70623062, 22.49243646 44.7063119, 22.49238234 44.70639318, 22.49232803 44.70647439, 22.49227325 44.70655545, 22.4922181 44.70663637, 22.4921605 44.70671642, 22.4921029 44.70679647, 22.49204259 44.7068755, 22.49198221 44.70695451, 22.49191959 44.70703262, 22.49185647 44.70711052, 22.49179019 44.70718706, 22.49172229 44.7072629, 22.49165439 44.70733873, 22.49158649 44.70741457, 22.49151692 44.70748962, 22.4914457 44.70756389, 22.49137448 44.70763816, 22.49130228 44.70771194, 22.49122797 44.70778465, 22.49115367 44.70785737, 22.49107936 44.70793009, 22.49099987 44.70799996, 22.49092035 44.70806982, 22.49084083 44.70813968, 22.49076132 44.70820954, 22.49068181 44.7082794, 22.4906023 44.70834927, 22.49052279 44.70841913, 22.49044328 44.70848899, 22.49036377 44.70855885, 22.49028426 44.70862872, 22.49020474 44.70869858, 22.49012523 44.70876844, 22.49004579 44.70883835, 22.48996642 44.70890829, 22.48988705 44.70897823, 22.48980768 44.70904818, 22.4897283 44.70911812, 22.48964893 44.70918806, 22.48956956 44.709258, 22.48948861 44.709327, 22.48940507 44.70939443, 22.48932141 44.70946178, 22.48923571 44.70952782, 22.48915 44.70959385, 22.48906276 44.70965884, 22.48897493 44.70972345, 22.48888628 44.70978747, 22.48879639 44.7098506, 22.48870622 44.70991353, 22.48861262 44.70997388, 22.48851863 44.7100339, 22.48842393 44.71009336, 22.48832922 44.71015282, 22.48823452 44.71021227, 22.48813982 44.71027173, 22.48804512 44.71033119, 22.48794989 44.71039022, 22.48785459 44.71044919, 22.4877593 44.71050817, 22.487664 44.71056714, 22.48756871 44.71062611, 22.48747326 44.71068497, 22.48737762 44.71074365, 22.48728138 44.71080184, 22.48718307 44.71085824, 22.4870847 44.71091458, 22.48698383 44.71096864, 22.48688297 44.7110227, 22.48678007 44.71107476, 22.48667676 44.71112642, 22.48657197 44.71117652, 22.48646634 44.71122574, 22.486359 44.71127302, 22.48625119 44.71131977, 22.48614145 44.71136417, 22.48603142 44.71140821, 22.48591957 44.71144986, 22.48580732 44.71149094, 22.48569364 44.71152998, 22.48557933 44.71156805, 22.48546393 44.71160444, 22.4853476 44.71163926, 22.48523038 44.71167256, 22.48511279 44.71170519, 22.4849952 44.71173782, 22.4848772 44.71176969, 22.48475908 44.71180134, 22.48464096 44.71183299, 22.48452333 44.71186552, 22.48440648 44.71189947, 22.48429038 44.71193471, 22.48417498 44.71197108, 22.48406082 44.71200941, 22.48394666 44.71204774, 22.48383254 44.71208612, 22.48371948 44.71212608, 22.48360798 44.71216818, 22.48349889 44.71221332, 22.48339198 44.71226109, 22.48328797 44.71231203, 22.48318686 44.71236583, 22.48308812 44.71242181, 22.48299185 44.71247997, 22.4828974 44.71253964, 22.48280386 44.71260001, 22.48271213 44.71266179, 22.48262226 44.71272494, 22.48253333 44.71278878, 22.48244389 44.7128522, 22.48236046 44.7129197, 22.48227967 44.7129888, 22.48220103 44.71305915, 22.48212543 44.71313118, 22.48205305 44.71320487, 22.48198297 44.71327968, 22.48191567 44.71335579, 22.48185256 44.71343369, 22.48178997 44.71351182, 22.48172732 44.71358992, 22.48166465 44.71366802, 22.48160199 44.71374611, 22.48153929 44.7138242, 22.48147511 44.71390166, 22.48141092 44.71397913, 22.48134673 44.7140566, 22.48127927 44.71413254, 22.48120582 44.7142057, 22.48113233 44.71427885, 22.4810563 44.71435066, 22.48098027 44.71442247, 22.48090253 44.71449333, 22.48082396 44.71456374, 22.48074456 44.71463366, 22.48066351 44.71470263, 22.48058247 44.71477159, 22.48049899 44.71483907, 22.48041552 44.71490654, 22.48033306 44.71497465, 22.4802512 44.71504312, 22.48016939 44.71511163, 22.48008758 44.71518013, 22.48000577 44.71524863, 22.47992395 44.71531714, 22.47984214 44.71538564, 22.47976033 44.71545415, 22.47967852 44.71552265, 22.4795967 44.71559115, 22.47951489 44.71565966, 22.47943308 44.71572816, 22.47935124 44.71579665, 22.4792692 44.71586501, 22.47918715 44.71593338, 22.47910511 44.71600174, 22.47902307 44.71607011, 22.47894103 44.71613847, 22.47885899 44.71620684, 22.47877685 44.71627514, 22.47869462 44.71634339, 22.47861238 44.71641164, 22.47853015 44.71647989, 22.47844791 44.71654813, 22.47836568 44.71661638, 22.47828344 44.71668463, 22.47820121 44.71675288, 22.47811898 44.71682112, 22.47803674 44.71688937, 22.47795451 44.71695762, 22.4778734 44.71702655, 22.47779244 44.71709557, 22.47771148 44.71716458, 22.47763028 44.71723346, 22.47754848 44.71730197, 22.47746669 44.71737049, 22.4773849 44.71743901, 22.4773025 44.71750716, 22.47721986 44.71757515, 22.47713721 44.71764315, 22.47705457 44.71771114, 22.47697194 44.71777915, 22.47688944 44.71784723, 22.47680693 44.71791532, 22.47672443 44.7179834, 22.47664192 44.71805148, 22.47655941 44.71811956, 22.47647696 44.71818767, 22.47639496 44.71825606, 22.47631295 44.71832446, 22.47623095 44.71839285, 22.47614895 44.71846124, 22.47606695 44.71852963, 22.4759849 44.71859799, 22.47590147 44.7186655, 22.47581703 44.71873236, 22.47573189 44.71879878, 22.47564619 44.71886481, 22.47555753 44.71892883, 22.47546884 44.71899285, 22.47537763 44.71905503, 22.47528642 44.71911721, 22.47519311 44.71917778, 22.47509943 44.71923807, 22.47500409 44.719297, 22.47490802 44.71935535, 22.47481026 44.71941222, 22.4747093 44.7194662, 22.47460736 44.71951921, 22.47450298 44.71956979, 22.47439679 44.71961835, 22.47428929 44.71966548, 22.47418031 44.71971085, 22.47407115 44.719756, 22.47396001 44.71979861, 22.47384849 44.71984072, 22.47373557 44.71988088, 22.47362227 44.7199205, 22.47350649 44.71995628, 22.47339055 44.71999183, 22.47327462 44.72002738, 22.47315869 44.72006292, 22.47304276 44.72009847, 22.47292663 44.72013369, 22.47281031 44.72016859, 22.47269399 44.72020349, 22.47257767 44.7202384, 22.47246136 44.7202733, 22.47234504 44.7203082, 22.47222872 44.7203431, 22.4721124 44.720378, 22.47199608 44.7204129, 22.47187976 44.72044781, 22.47176345 44.72048271, 22.47164713 44.72051761, 22.47153081 44.72055251, 22.47141449 44.72058741, 22.47129817 44.72062231, 22.47118185 44.72065721, 22.47106553 44.72069211, 22.47094921 44.72072701, 22.47083289 44.72076191, 22.47071666 44.72079697, 22.47060054 44.7208322, 22.47048442 44.72086743, 22.47036829 44.72090267, 22.47025246 44.72093838, 22.47013714 44.72097492, 22.47002181 44.72101146, 22.46990648 44.721048, 22.46979139 44.72108489, 22.46967688 44.72112273, 22.46956238 44.72116056, 22.46944788 44.72119839, 22.46933353 44.72123647, 22.46921988 44.72127558, 22.46910623 44.7213147, 22.46899258 44.72135382, 22.46887902 44.72139306, 22.46876625 44.72143346, 22.46865348 44.72147385, 22.46854071 44.72151425, 22.46842795 44.72155465, 22.46831557 44.72159559, 22.46820319 44.72163654, 22.46809082 44.72167748, 22.46797844 44.72171843, 22.46786606 44.72175938, 22.46775368 44.72180032, 22.46764131 44.72184127, 22.46752893 44.72188221, 22.46741655 44.72192316, 22.46730417 44.7219641, 22.46719179 44.72200505, 22.4670794 44.72204597, 22.46696443 44.72208308, 22.46684946 44.72212019, 22.46673299 44.72215483, 22.4666165 44.72218945, 22.46649862 44.72222159, 22.46638072 44.72225369, 22.46626156 44.72228332, 22.46614235 44.72231286, 22.466022 44.72233994, 22.4659016 44.72236691, 22.46578017 44.72239142, 22.46565869 44.72241578, 22.46553629 44.7224377, 22.46541382 44.72245944, 22.46529011 44.7224772, 22.46516629 44.72249461, 22.46504188 44.72250964, 22.46491727 44.72252393, 22.46479229 44.72253632, 22.46466706 44.72254746, 22.46454161 44.7225572, 22.46441591 44.72256517, 22.46429011 44.72257226, 22.46416409 44.72257707, 22.46403804 44.72258148, 22.46391186 44.72258312, 22.46378568 44.72258475, 22.4636595 44.72258298, 22.46353332 44.72258108, 22.46340715 44.72257918, 22.46328097 44.72257728, 22.46315479 44.72257538, 22.46302862 44.72257348, 22.46290244 44.72257158, 22.46277628 44.72256934, 22.46265014 44.72256635, 22.46252401 44.72256336, 22.46239787 44.72256037, 22.46227174 44.72255738, 22.46214561 44.72255439, 22.46201947 44.72255139, 22.46189334 44.7225484, 22.4617672 44.72254541, 22.46164107 44.72254242, 22.46151493 44.72253943, 22.4613888 44.72253643, 22.46126266 44.72253344, 22.46113653 44.72253045, 22.4610104 44.72252746, 22.46088426 44.72252446, 22.46075813 44.72252147, 22.46063199 44.72251848, 22.46050589 44.72251499, 22.46037991 44.7225097, 22.46025396 44.72250405, 22.46012832 44.72249551, 22.46000269 44.72248695, 22.45987757 44.72247517, 22.45975246 44.72246339, 22.45962795 44.72244871, 22.45950351 44.72243371, 22.45937975 44.72241617, 22.45925615 44.72239796, 22.45913276 44.72237907, 22.45900947 44.72235986, 22.45888692 44.72233838, 22.45876457 44.72231634, 22.45864302 44.72229213, 22.45852182 44.72226708, 22.45840126 44.72224047, 22.45828054 44.72221423, 22.45815972 44.72218823, 22.45803891 44.72216222, 22.45791793 44.72213659, 22.45779682 44.7221113, 22.4576757 44.72208601, 22.45755458 44.72206073, 22.45743347 44.72203544, 22.45731106 44.72201362, 22.4571883 44.72199276, 22.45706528 44.72197271, 22.45694166 44.7219546, 22.45681804 44.72193649, 22.45669383 44.72192062, 22.45656947 44.72190528, 22.45644483 44.72189129, 22.4563196 44.72188015, 22.45619421 44.72187, 22.45606866 44.72186091, 22.45594293 44.7218532, 22.4558171 44.72184626, 22.45569127 44.72183932, 22.45556545 44.72183237, 22.45543962 44.72182543, 22.4553138 44.72181849, 22.45518797 44.72181154, 22.45506214 44.7218046, 22.4549363 44.72179779, 22.45481045 44.72179112, 22.45468459 44.72178445, 22.45455874 44.72177778, 22.45443288 44.7217711, 22.45430703 44.72176443, 22.45418117 44.72175776, 22.45405532 44.72175109, 22.45392946 44.72174443, 22.4538036 44.7217378, 22.45367782 44.72173056, 22.45355232 44.7217211, 22.45342685 44.72171141, 22.45330183 44.72169913, 22.45317681 44.72168685, 22.45305236 44.72167191, 22.45292795 44.72165682, 22.45280413 44.72163945, 22.45268044 44.72162158, 22.45255734 44.7216018, 22.45243451 44.72158115, 22.45231222 44.72155897, 22.45219036 44.72153557, 22.45206933 44.72151018, 22.45194944 44.72148209, 22.45182988 44.72145332, 22.45171135 44.72142243, 22.45159289 44.72139139, 22.4514756 44.72135819, 22.45135835 44.72132491, 22.45124222 44.72128969, 22.4511261 44.72125445, 22.45101042 44.72121848, 22.45089474 44.72118252, 22.45077906 44.72114655, 22.45066338 44.72111059, 22.4505477 44.72107462, 22.45043202 44.72103866, 22.45031634 44.72100269, 22.45020066 44.72096673, 22.45008498 44.72093076, 22.4499693 44.7208948, 22.44985362 44.72085883, 22.44973794 44.72082287, 22.44962226 44.7207869, 22.44950658 44.72075094, 22.4493909 44.72071497, 22.44927522 44.72067901, 22.44915954 44.72064304, 22.44904386 44.72060707, 22.44892819 44.72057111, 22.44881251 44.72053514, 22.44869683 44.72049917, 22.44858115 44.72046321, 22.44846547 44.72042724, 22.44835034 44.72039047, 22.44823944 44.72034754, 22.44812953 44.72030335, 22.44802115 44.72025726, 22.4479146 44.72020908, 22.44780892 44.7201599, 22.44770599 44.72010785, 22.4476039 44.72005498, 22.44750414 44.71999987, 22.44740603 44.71994331, 22.44730947 44.71988538, 22.44721558 44.71982527, 22.44712274 44.71976434, 22.44703413 44.71970028, 22.44694552 44.71963621, 22.44685691 44.71957215, 22.4467683 44.71950808, 22.44667922 44.71944435, 22.44658988 44.7193808, 22.44650055 44.71931725, 22.44641122 44.7192537, 22.44632126 44.71919061, 22.44622919 44.71912907, 22.44613712 44.71906754, 22.4460421 44.71900833, 22.44594702 44.71894917, 22.44584982 44.7188918, 22.44575185 44.71883509, 22.44565255 44.71877959, 22.44555181 44.71872539, 22.44545046 44.71867181, 22.44534709 44.7186202, 22.44524372 44.71856859, 22.44513787 44.7185196, 22.44503199 44.71847064, 22.44492463 44.71842337, 22.44481674 44.7183767, 22.44470687 44.71833244, 22.4445966 44.71828869, 22.44448457 44.71824729, 22.44437195 44.71820671, 22.44425802 44.71816802, 22.44414322 44.71813068, 22.44402754 44.71809474, 22.44391074 44.7180607, 22.44379342 44.71802755, 22.44367491 44.71799666, 22.44355621 44.7179661, 22.44343733 44.71793594, 22.44331763 44.71790745, 22.44319792 44.71787897, 22.44307803 44.71785089, 22.44295796 44.71782322, 22.4428379 44.71779551, 22.44271787 44.71776773, 22.44259784 44.71773995, 22.44247781 44.71771217, 22.44235779 44.71768439, 22.442238 44.7176561, 22.44211917 44.71762582, 22.44200033 44.71759554, 22.4418815 44.71756526, 22.44176408 44.71753236, 22.44164728 44.71749829, 22.44153156 44.71746243, 22.44141629 44.71742582, 22.44130218 44.71738741, 22.44118853 44.71734831, 22.44107458 44.71730965, 22.44096051 44.71727117, 22.44084658 44.71723248, 22.4407328 44.71719357, 22.44061902 44.71715465, 22.44050414 44.71711742, 22.44038919 44.7170803, 22.44027363 44.71704419, 22.44015721 44.71700946, 22.44003988 44.71697637, 22.43992207 44.71694412, 22.43980301 44.71691431, 22.43968381 44.71688477, 22.43956388 44.71685683, 22.43944345 44.71682994, 22.4393227 44.71680385, 22.43920116 44.71677965, 22.43907962 44.71675546, 22.43895709 44.71673394, 22.43883455 44.71671244, 22.43871127 44.71669329, 22.43858762 44.71667532, 22.43846354 44.71665895, 22.43833945 44.71664258, 22.43821537 44.71662621, 22.43809129 44.71660984, 22.4379672 44.71659347, 22.43784312 44.7165771, 22.43771903 44.71656073, 22.43759495 44.71654436, 22.43747087 44.71652798, 22.43734718 44.71651016, 22.43722363 44.71649185, 22.43710008 44.71647354, 22.43697691 44.71645405, 22.43685427 44.71643286, 22.43673174 44.71641135, 22.43660962 44.71638868, 22.43648751 44.71636598, 22.43636595 44.71634183, 22.43624439 44.71631769, 22.4361237 44.71629143, 22.43600319 44.71626473, 22.43588269 44.71623803, 22.43576215 44.71621141, 22.43564142 44.71618522, 22.4355207 44.71615902, 22.43539998 44.71613283, 22.43527925 44.71610663, 22.43515853 44.71608044, 22.43503781 44.71605424, 22.43491704 44.71602816, 22.43479638 44.71600181, 22.43467564 44.71597566, 22.43455426 44.71595107, 22.43443287 44.71592648, 22.43431093 44.71590336, 22.43418886 44.71588054, 22.43406646 44.71585868, 22.43394377 44.71583763, 22.4338209 44.71581716, 22.43369751 44.71579833, 22.43357343 44.71578195, 22.43344903 44.71576692, 22.43332443 44.71575268, 22.43319983 44.71573844, 22.43307523 44.7157242, 22.43295063 44.71570996, 22.43282603 44.71569572, 22.43270144 44.71568148, 22.43257684 44.71566724, 22.43245216 44.71565339, 22.43232723 44.71564072, 22.4322023 44.71562805, 22.43207737 44.71561538, 22.43195243 44.7156027, 22.4318275 44.71559003, 22.43170257 44.71557736, 22.43157764 44.71556469, 22.43145271 44.71555202, 22.43132778 44.71553934, 22.43120285 44.71552667, 22.43107792 44.715514, 22.43095299 44.71550132, 22.43082806 44.71548865, 22.43070254 44.71547945, 22.43057699 44.71547041, 22.43045118 44.71546345, 22.43032534 44.7154568, 22.43019933 44.71545207, 22.43007328 44.71544868, 22.42994712 44.71545047, 22.42982112 44.71545486, 22.42969523 44.71546101, 22.42956986 44.71547124, 22.42944485 44.71548334, 22.4293203 44.71549778, 22.42919669 44.71551583, 22.42907382 44.7155362, 22.42895172 44.71555893, 22.42883122 44.71558562, 22.42871176 44.71561455, 22.42859345 44.7156458, 22.42847742 44.71568117, 22.4283627 44.71571859, 22.42824919 44.71575788, 22.42813823 44.71580073, 22.42802849 44.71584509, 22.42792077 44.71589195, 22.42781591 44.71594196, 22.42771318 44.71599418, 22.42761253 44.71604845, 22.42751505 44.71610558, 22.4274197 44.71616448, 22.42732651 44.71622514, 22.42723643 44.71628815, 22.42714931 44.71635322, 22.42706535 44.71642033, 22.42698518 44.71648981, 22.42690807 44.71656102, 22.42683254 44.71663308, 22.42676054 44.71670697, 22.42669178 44.71678237, 22.42662652 44.71685937, 22.42656555 44.71693815, 22.42650831 44.71701831, 22.42645417 44.71709956, 22.42640348 44.71718196, 22.42635835 44.71726598, 22.42631619 44.71735078, 22.4262772 44.71743634, 22.42624136 44.71752259, 22.42620909 44.71760957, 22.42618339 44.71769766, 22.42616019 44.71778609, 22.42613944 44.71787483, 22.42612323 44.71796406, 22.42611032 44.71805354, 22.42610197 44.7181433, 22.42609701 44.71823321, 22.42609276 44.71832313, 22.42609137 44.71841309, 22.42609189 44.71850306, 22.42609453 44.71859301, 22.42609672 44.71868298, 22.42609891 44.71877294, 22.42610094 44.7188629, 22.42610059 44.71895287, 22.42610024 44.71904285, 22.42609989 44.71913282, 22.42609733 44.71922278, 22.42609444 44.71931273, 22.42609154 44.71940268, 22.42608483 44.71949251, 22.42607625 44.71958227, 22.42606384 44.71967181, 22.42605049 44.71976127, 22.42603335 44.71985042, 22.42601479 44.7199394, 22.42599341 44.72002807, 22.42596968 44.72011643, 22.42594407 44.72020453, 22.42591533 44.72029214, 22.42588523 44.72037951, 22.42585121 44.72046615, 22.42581533 44.7205524, 22.42577697 44.72063812, 22.42573538 44.72072305, 22.4256924 44.72080765, 22.42564553 44.72089119, 22.42559696 44.72097422, 22.42554593 44.72105651, 22.42549185 44.72113779, 22.42543667 44.72121871, 22.425378 44.72129836, 22.42531854 44.72137772, 22.42525532 44.72145558, 22.42519166 44.72153327, 22.425124 44.72160922, 22.42505602 44.72168503, 22.42498426 44.72175904, 22.42491197 44.72183278, 22.4248363 44.72190479, 22.42476 44.72197644, 22.42468137 44.72204683, 22.42460108 44.72211623, 22.42451918 44.72218468, 22.42443472 44.72225152, 22.42434933 44.72231777, 22.42426114 44.72238213, 22.42417179 44.72244566, 22.4240806 44.72250786, 22.42398745 44.72256855, 22.42389338 44.72262852, 22.42380045 44.7226894, 22.4237067 44.72274964, 22.42361295 44.72280987, 22.42351921 44.72287011, 22.42342546 44.72293035, 22.42333171 44.72299058, 22.42323803 44.72305088, 22.42314478 44.7231115, 22.42305153 44.72317213, 22.42295827 44.72323276, 22.42286502 44.72329338, 22.42277177 44.72335401, 22.42267842 44.72341456, 22.42258507 44.72347511, 22.42249172 44.72353566, 22.42239837 44.72359621, 22.42230502 44.72365676, 22.42221166 44.72371731, 22.42211831 44.72377786, 22.42202436 44.72383793, 22.42192945 44.72389723, 22.42183442 44.72395644, 22.42173939 44.72401565, 22.42164436 44.72407486, 22.42154933 44.72413407, 22.42145398 44.72419301, 22.4213585 44.72425186, 22.42126303 44.7243107, 22.42116756 44.72436955, 22.42107208 44.72442839, 22.42097678 44.72448738, 22.420884 44.72454837, 22.42079121 44.72460936, 22.42070463 44.72467478, 22.42061893 44.72474083, 22.42053323 44.72480688, 22.42044843 44.72487351, 22.42036477 44.72494088, 22.42028794 44.72501221, 22.4202135 44.72508485, 22.42014278 44.72515937, 22.42007463 44.72523508, 22.42000973 44.72531223, 22.4199477 44.72539058, 22.41988757 44.72546969, 22.41982744 44.7255488, 22.41977062 44.72562912, 22.41971481 44.72570982, 22.41965901 44.72579053, 22.41960462 44.72587171, 22.41955083 44.72595311, 22.41949704 44.7260345, 22.41944355 44.726116, 22.41939062 44.72619768, 22.41933768 44.72627935, 22.41928462 44.72636099, 22.41923156 44.72644263, 22.4191785 44.72652427, 22.41912544 44.7266059, 22.41907237 44.72668754, 22.41901931 44.72676918, 22.41896625 44.72685082, 22.41891319 44.72693245, 22.41886013 44.72701409, 22.41880707 44.72709573, 22.41875401 44.72717737, 22.41870095 44.727259, 22.41864585 44.72733995, 22.41859006 44.72742065, 22.41853427 44.72750136, 22.41847802 44.7275819, 22.41842024 44.7276619, 22.41836246 44.72774189, 22.41830467 44.72782188, 22.41824628 44.72790165, 22.41818764 44.72798132, 22.41812901 44.728061, 22.41806827 44.72813987, 22.41800749 44.72821873, 22.41794618 44.72829737, 22.41788329 44.72837538, 22.4178204 44.72845339, 22.41775679 44.7285311, 22.41769253 44.72860854, 22.41762828 44.72868598, 22.41756402 44.72876342, 22.41749948 44.72884075, 22.41743362 44.7289175, 22.41736775 44.72899425, 22.41730189 44.729071, 22.41723602 44.72914776, 22.41716899 44.72922399, 22.4171017 44.72930012, 22.41703442 44.72937624, 22.41696586 44.72945178, 22.41689708 44.72952723, 22.41682831 44.72960267, 22.41675895 44.72967785, 22.41668933 44.7297529, 22.416619 44.72982761, 22.41654868 44.72990232, 22.41647963 44.72997764, 22.41641131 44.73005329, 22.41634339 44.73012913, 22.41627711 44.7302057, 22.41621082 44.73028227, 22.41614792 44.73036026, 22.41608605 44.73043868, 22.41602635 44.73051793, 22.41596943 44.73059824, 22.41591607 44.73067976, 22.41586419 44.73076178, 22.41581733 44.73084532, 22.4157719 44.73092925, 22.41573074 44.7310143, 22.41569394 44.73110037, 22.41566167 44.73118735, 22.41563384 44.73127511, 22.41560874 44.73136328, 22.41558673 44.73145188, 22.41556565 44.73154058, 22.41554788 44.73162966, 22.41553145 44.73171886, 22.41551794 44.73180832, 22.41550617 44.73189789, 22.41549694 44.73198762, 22.41548727 44.73207733, 22.41547717 44.73216702, 22.41546812 44.73225676, 22.41545977 44.73234653, 22.415451 44.73243629, 22.41544205 44.73252604, 22.41543309 44.73261579, 22.41542414 44.73270554, 22.41541461 44.73279525, 22.41540231 44.7328848, 22.41539001 44.73297434, 22.41537753 44.73306388, 22.41536314 44.73315326, 22.41534876 44.73324265, 22.41533436 44.73333204, 22.41531789 44.73342125, 22.41530143 44.73351045, 22.41528496 44.73359966, 22.41526658 44.73368867, 22.41524803 44.73377767, 22.41522949 44.73386667, 22.4152092 44.73395547, 22.41518859 44.73404424, 22.41516797 44.73413301, 22.41514805 44.73422185, 22.41512835 44.73431073, 22.41510864 44.7343996, 22.41508894 44.73448847, 22.41506924 44.73457734, 22.41504953 44.73466621, 22.41502983 44.73475509, 22.41500993 44.73484394, 22.41498976 44.73493276, 22.41496959 44.73502157, 22.41494942 44.73511039, 22.41492925 44.73519921, 22.41490908 44.73528803, 22.41488891 44.73537685, 22.41486874 44.73546567, 22.41484857 44.73555449, 22.4148284 44.73564331, 22.41480794 44.73573209, 22.41478695 44.73582081, 22.41476597 44.73590954, 22.41474498 44.73599826, 22.414724 44.73608698, 22.41470302 44.7361757, 22.41468203 44.73626443, 22.41466105 44.73635315, 22.41464006 44.73644187, 22.41461908 44.7365306, 22.41459593 44.73661901, 22.41456898 44.73670691, 22.41454214 44.73679482, 22.41451063 44.73688195, 22.41447851 44.73696896, 22.41444241 44.73705517, 22.41440563 44.73714123, 22.414365 44.73722642, 22.41432375 44.73731145, 22.41427951 44.73739572, 22.41423044 44.73747861, 22.41417683 44.73756005, 22.41412072 44.73764064, 22.41406186 44.73772023, 22.41400049 44.73779884, 22.41393736 44.73787675, 22.41387165 44.73795358, 22.41380296 44.73802905, 22.4137317 44.73810328, 22.41365571 44.73817513, 22.41358117 44.73824775, 22.41350664 44.73832036, 22.4134321 44.73839298, 22.41335756 44.73846559, 22.41328303 44.73853821, 22.41320849 44.73861083, 22.41313395 44.73868344, 22.41305941 44.73875606, 22.41298455 44.7388285, 22.41290853 44.73890034, 22.41283252 44.73897217, 22.41275651 44.73904401, 22.41268049 44.73911584, 22.41260448 44.73918768, 22.41252846 44.73925951, 22.41245245 44.73933135, 22.41237643 44.73940318, 22.41230042 44.73947502, 22.41222427 44.73954678, 22.41214668 44.73961775, 22.41206908 44.73968872, 22.41199149 44.73975969, 22.41191389 44.73983066, 22.4118363 44.73990164, 22.4117587 44.73997261, 22.4116811 44.74004358, 22.41160351 44.74011455, 22.41152591 44.74018552, 22.41144831 44.74025649, 22.41137271 44.74032854, 22.4112974 44.74040075, 22.41122209 44.74047297, 22.41115074 44.74054139, 22.41107372 44.74061267, 22.4109967 44.74068396, 22.41091968 44.74075525, 22.41084266 44.74082654, 22.41076517 44.74089757, 22.41068729 44.74096839, 22.41060941 44.7410392, 22.41053153 44.74111001, 22.41045365 44.74118083, 22.41037572 44.74125161, 22.41029698 44.74132194, 22.41021823 44.74139227, 22.41013452 44.74145961, 22.41004728 44.74152465, 22.40995666 44.74158729, 22.40986056 44.74164561, 22.40976152 44.74170139, 22.40965806 44.74175286, 22.40955021 44.74179957, 22.40943884 44.7418419, 22.4093243 44.74187971, 22.40920678 44.74191253, 22.40908689 44.74194064, 22.40896499 44.74196392, 22.40884146 44.74198229, 22.40871665 44.74199548, 22.408591 44.74200383, 22.40846491 44.74200765, 22.40833868 44.74200692, 22.40821269 44.74200122, 22.40808735 44.7419906, 22.40796294 44.74197548, 22.40783977 44.7419559, 22.40771815 44.74193191, 22.40759787 44.74190459, 22.40747815 44.74187605, 22.40735866 44.74184705, 22.40724122 44.74181404, 22.40712378 44.74178102, 22.40700567 44.74174925, 22.40688738 44.74171781, 22.4067691 44.74168636, 22.40664958 44.74165749, 22.40652854 44.74163199, 22.40640636 44.74160937, 22.40628301 44.74159021, 22.40615878 44.74157428, 22.40603388 44.74156129, 22.4059084 44.74155174, 22.40578242 44.74154617, 22.4056562 44.74154437, 22.40553002 44.74154724, 22.40540415 44.74155391, 22.4052788 44.74156434, 22.40515417 44.74157851, 22.40503046 44.74159636, 22.40490779 44.74161761, 22.40478683 44.74164336, 22.40466744 44.74167253, 22.40454978 44.74170505, 22.40443377 44.74174051, 22.40431945 44.74177866, 22.40420745 44.74182018, 22.4040981 44.74186514, 22.40399168 44.74191353, 22.40388746 44.7419643, 22.40378359 44.74201544, 22.40367943 44.74206627, 22.40357519 44.74211704, 22.40347095 44.7421678, 22.40336672 44.74221856, 22.40326248 44.74226932, 22.4031586 44.74232044, 22.40305488 44.74237174, 22.40295116 44.74242303, 22.40284744 44.74247433, 22.40274372 44.74252562, 22.40264009 44.74257701, 22.40253686 44.74262881, 22.40243362 44.7426806, 22.40233039 44.7427324, 22.40222716 44.74278419, 22.40212393 44.74283599, 22.40202073 44.74288782, 22.40191762 44.74293973, 22.40181428 44.74299142, 22.4017105 44.74304265, 22.40160671 44.74309387, 22.40150293 44.7431451, 22.40139914 44.74319633, 22.40129535 44.74324756, 22.40119157 44.74329879, 22.40108778 44.74335002, 22.40098399 44.74340124, 22.4008802 44.74345247, 22.40077642 44.7435037, 22.40067263 44.74355493, 22.40056884 44.74360616, 22.40046505 44.74365738, 22.40036126 44.74370861, 22.40025748 44.74375984, 22.40015369 44.74381107, 22.4000499 44.74386229, 22.3999459 44.7439133, 22.39984189 44.74396431, 22.39973789 44.74401531, 22.39963389 44.74406632, 22.39952988 44.74411732, 22.39942589 44.74416835, 22.39932216 44.74421963, 22.39921842 44.74427091, 22.39911468 44.74432219, 22.39901095 44.74437347, 22.39890721 44.74442475, 22.39880347 44.74447604, 22.39869976 44.74452735, 22.39859671 44.74457931, 22.39849526 44.74463286, 22.39839483 44.74468737, 22.39829573 44.74474312, 22.39819805 44.7448001, 22.3981014 44.74485799, 22.398006 44.74491692, 22.39791108 44.74497625, 22.39781789 44.74503694, 22.39772529 44.7450981, 22.39763453 44.74516064, 22.39754432 44.74522358, 22.39745604 44.74528789, 22.39736841 44.74535267, 22.39728308 44.74541898, 22.3971986 44.74548583, 22.39711578 44.74555374, 22.39703454 44.74562261, 22.3969543 44.74569207, 22.39687446 44.74576177, 22.39679537 44.7458319, 22.39671808 44.74590304, 22.39664263 44.74597518, 22.39656793 44.74604771, 22.39649346 44.74612037, 22.39641899 44.74619302, 22.39634452 44.74626568, 22.39627004 44.74633833, 22.39619559 44.746411, 22.39612116 44.74648368, 22.39604673 44.74655635, 22.39597229 44.74662903, 22.39589793 44.74670174, 22.3958242 44.74677478, 22.39575047 44.74684782, 22.39567674 44.74692086, 22.39560301 44.7469939, 22.39552928 44.74706694, 22.39545555 44.74713998, 22.39538148 44.74721284, 22.39530595 44.74728494, 22.39523043 44.74735704, 22.3951549 44.74742914, 22.39507703 44.74749993, 22.39499677 44.74756939, 22.3949141 44.74763739, 22.39482999 44.74770448, 22.39474431 44.74777056, 22.39465469 44.74783393, 22.39456298 44.74789572, 22.39446842 44.74795534, 22.39437386 44.74801496, 22.39427782 44.74807337, 22.39418178 44.74813177, 22.3940849 44.74818947, 22.3939874 44.74824663, 22.39388973 44.74830365, 22.3937911 44.74835982, 22.39369247 44.748416, 22.39359437 44.74847263, 22.39349756 44.74853039, 22.39340076 44.74858815, 22.3933036 44.74864561, 22.3932057 44.74870243, 22.3931078 44.74875925, 22.39300995 44.74881611, 22.39291345 44.74887413, 22.39281694 44.74893214, 22.39272293 44.74899219, 22.39263167 44.74905434, 22.3925434 44.74911864, 22.39245821 44.74918505, 22.39237671 44.74925375, 22.39229698 44.74932351, 22.39222049 44.74939509, 22.39214527 44.74946734, 22.39207275 44.74954099, 22.39200053 44.74961479, 22.39192887 44.74968887, 22.39185909 44.74976386, 22.39179381 44.74984084, 22.39173128 44.74991897, 22.39167674 44.75000012, 22.39163124 44.75008401, 22.39159396 44.75016993, 22.39156576 44.75025757, 22.39154766 44.75034655, 22.39153975 44.75043628, 22.39154209 44.75052618, 22.39155131 44.75061591, 22.3915658 44.75070525, 22.39158615 44.75079401, 22.39161232 44.75088201, 22.39164424 44.75096906, 22.39168302 44.75105467, 22.39172884 44.75113846, 22.39178087 44.75122041, 22.39183826 44.75130053, 22.3919009 44.75137865, 22.39196897 44.75145442, 22.39204236 44.75152763, 22.39211985 44.75159865, 22.39219984 44.75166825, 22.39228164 44.75173679, 22.39236397 44.75180501, 22.39244635 44.7518732, 22.39252874 44.75194138, 22.39261112 44.75200957, 22.3926935 44.75207775, 22.39277589 44.75214594, 22.39285827 44.75221412, 22.39294066 44.75228231, 22.39302239 44.75235089, 22.39310387 44.75241962, 22.39318128 44.7524907, 22.39325631 44.75256306, 22.39332852 44.75263685, 22.39339775 44.75271208, 22.39346308 44.75278906, 22.39352553 44.75286725, 22.39358679 44.75294593, 22.39364805 44.75302461, 22.39370924 44.75310331, 22.39376917 44.7531825, 22.3938291 44.7532617, 22.39389179 44.7533398, 22.39395462 44.75341785, 22.39401992 44.75349485, 22.39408559 44.7535717, 22.39415346 44.75364756, 22.39422194 44.75372316, 22.39429438 44.75379682, 22.39437104 44.7538683, 22.39445243 44.75393708, 22.39453604 44.75400447, 22.39462298 44.75406972, 22.3947134 44.75413249, 22.39480588 44.75419372, 22.39490166 44.75425236, 22.39499866 44.75430996, 22.39509619 44.75436711, 22.39519576 44.75442242, 22.39529616 44.75447699, 22.39539631 44.75453178, 22.39549638 44.75458666, 22.39559626 44.75464171, 22.39569638 44.75469653, 22.39579697 44.75475093, 22.39589755 44.75480533, 22.39599805 44.7548598, 22.39609687 44.75491581, 22.39619569 44.75497183, 22.3962945 44.75502784, 22.39638891 44.7550875, 22.39647904 44.75515051, 22.3965628 44.75521781, 22.39663806 44.75529004, 22.39670358 44.75536693, 22.39675963 44.75544753, 22.39680562 44.75553129, 22.39683951 44.7556179, 22.39686381 44.75570618, 22.39688402 44.75579499, 22.39689691 44.7558845, 22.39690283 44.75597436, 22.39690978 44.7560642, 22.39691698 44.75615403, 22.39692417 44.75624386, 22.39693136 44.75633368, 22.39694022 44.75642344, 22.39694957 44.75651316, 22.39695943 44.75660286, 22.39697027 44.7566925, 22.39698112 44.75678215, 22.39699479 44.75687159, 22.39700908 44.75696098, 22.39702532 44.75705021, 22.39704299 44.75713929, 22.39706272 44.75722816, 22.39708245 44.75731703, 22.39710218 44.7574059, 22.3971219 44.75749477, 22.39714163 44.75758364, 22.39716136 44.75767251, 22.39718109 44.75776138, 22.39720082 44.75785025, 22.39722176 44.75793898, 22.39724106 44.75802787, 22.39725859 44.75811698, 22.39727594 44.7582061, 22.39728903 44.75829555, 22.39729338 44.75838543, 22.39728895 44.75847533, 22.3972748 44.75856471, 22.39725129 44.75865306, 22.39721882 44.75873999, 22.39717311 44.75882375, 22.39711861 44.75890487, 22.39705678 44.75898326, 22.39698789 44.7590586, 22.39691244 44.7591307, 22.3968297 44.75919852, 22.39673626 44.75925897, 22.39663714 44.75931468, 22.39653311 44.75936565, 22.39642461 44.75941165, 22.3963121 44.7594525, 22.39619605 44.75948796, 22.3960787 44.75952119, 22.39595975 44.75955141, 22.39583991 44.75957979, 22.39571995 44.75960791, 22.3956 44.75963603, 22.39548004 44.75966415, 22.39536084 44.75969387, 22.39524168 44.75972366, 22.39512252 44.75975345, 22.39500332 44.75978317, 22.39488403 44.75981268, 22.39476396 44.75984057, 22.39464387 44.75986841, 22.39452369 44.75989605, 22.39440351 44.75992368, 22.39428394 44.75995261, 22.39416453 44.75998189, 22.39404587 44.76001262, 22.3939285 44.76004583, 22.39381257 44.76008148, 22.39369999 44.76012221, 22.39358997 44.76016633, 22.39348267 44.76021372, 22.39337827 44.76026429, 22.39327693 44.76031797, 22.39317955 44.76037525, 22.3930859 44.76043559, 22.39299596 44.76049871, 22.39290966 44.76056436, 22.39282708 44.76063241, 22.39274879 44.76070301, 22.39267521 44.76077612, 22.39260582 44.76085127, 22.39254072 44.76092833, 22.39247884 44.76100676, 22.39241788 44.76108556, 22.39235691 44.76116436, 22.39229595 44.76124315, 22.39223499 44.76132195, 22.39217601 44.76140151, 22.39211932 44.7614819, 22.39206661 44.76156363, 22.39201864 44.76164685, 22.39197554 44.7617314, 22.39194357 44.76181842, 22.39191782 44.76190649, 22.39189923 44.76199544, 22.3918854 44.76208487, 22.39187212 44.76217435, 22.39185918 44.76226385, 22.39184624 44.76235335, 22.3918333 44.76244285, 22.39182035 44.76253235, 22.39180721 44.76262184, 22.39179366 44.76271129, 22.39178235 44.7628009, 22.39177104 44.76289052, 22.39176011 44.76298015, 22.39174934 44.7630698, 22.39173856 44.76315945, 22.39172779 44.76324909, 22.39171702 44.76333874, 22.39170668 44.76342841, 22.39169639 44.76351809, 22.3916861 44.76360776, 22.3916758 44.76369744, 22.39166551 44.76378711, 22.39165522 44.76387679, 22.39164506 44.76396647, 22.39163494 44.76405616, 22.39162482 44.76414584, 22.3916147 44.76423553, 22.39160458 44.76432521, 22.39159446 44.7644149, 22.39158479 44.76450461, 22.39157603 44.76459436, 22.39156727 44.76468412, 22.39155851 44.76477388, 22.39154974 44.76486364, 22.39154098 44.76495339, 22.39153222 44.76504315, 22.39152665 44.76513304, 22.39152138 44.76522293, 22.39151781 44.76531287, 22.39151471 44.76540282, 22.3915116 44.76549276, 22.39150849 44.76558271, 22.39150568 44.76567266, 22.39150462 44.76576263, 22.39150356 44.7658526, 22.39150249 44.76594258, 22.39150143 44.76603255, 22.39150145 44.76612252, 22.39150186 44.76621249, 22.39150228 44.76630247, 22.39150269 44.76639244, 22.3915031 44.76648241, 22.39150351 44.76657239, 22.39150392 44.76666236, 22.39150433 44.76675234, 22.39150474 44.76684231, 22.39150515 44.76693228, 22.39150556 44.76702226, 22.39150597 44.76711223, 22.39150638 44.76720221, 22.39150679 44.76729218, 22.39150731 44.76738215, 22.39150811 44.76747213, 22.39150891 44.7675621, 22.39150971 44.76765207, 22.39151051 44.76774204, 22.39151131 44.76783202, 22.3915121 44.76792199, 22.3915129 44.76801196, 22.3915137 44.76810193, 22.3915145 44.76819191, 22.3915153 44.76828188, 22.3915161 44.76837185, 22.3915169 44.76846183, 22.3915177 44.7685518, 22.3915185 44.76864177, 22.3915193 44.76873174, 22.3915201 44.76882172, 22.3915209 44.76891169, 22.3915217 44.76900166, 22.3915225 44.76909163, 22.3915233 44.76918161, 22.39152341 44.76927158, 22.39152121 44.76936154, 22.39151843 44.76945149, 22.39151565 44.76954144, 22.39151224 44.76963138, 22.39150787 44.7697213, 22.3915035 44.76981122, 22.39149884 44.76990113, 22.39148806 44.76999078, 22.39147771 44.77008045, 22.3914677 44.77017014, 22.3914577 44.77025983, 22.39144908 44.77034959, 22.39144401 44.77043948, 22.3914408 44.77052943, 22.39144079 44.7706194, 22.39144252 44.77070935, 22.39144888 44.77079921, 22.39145799 44.77088894, 22.39146898 44.77097857, 22.39148598 44.77106772, 22.39150313 44.77115686, 22.39152398 44.7712456, 22.39154482 44.77133435, 22.39156566 44.77142309, 22.39158756 44.7715117, 22.39160957 44.7716003, 22.39163139 44.77168892, 22.39165282 44.77177759, 22.39167447 44.77186623, 22.39169613 44.77195487, 22.39171778 44.77204351, 22.39173944 44.77213216, 22.39176109 44.7722208, 22.39178274 44.77230944, 22.3918044 44.77239808, 22.39182605 44.77248673, 22.39184763 44.77257538, 22.39186906 44.77266405, 22.39189048 44.77275272, 22.39191191 44.77284139, 22.39193334 44.77293006, 22.39195477 44.77301873, 22.39197619 44.7731074, 22.39199762 44.77319607, 22.39201905 44.77328474, 22.39204048 44.77337341, 22.3920619 44.77346208, 22.39208333 44.77355075, 22.39210476 44.77363942, 22.39212619 44.77372809, 22.39214762 44.77381677, 22.39216904 44.77390544, 22.39219047 44.77399411, 22.3922119 44.77408278, 22.39223333 44.77417145, 22.39225476 44.77426012)",
          "point_count": 2574,
          "bbox_min_latitude": 44.6339051,
          "bbox_max_latitude": 44.77426012,
          "bbox_min_longitude": 22.39144079,
          "bbox_max_longitude": 22.59093572,
          "first_seen_date": "2026-10-16T00:00:00.000Z",
          "last_seen_date": "2026-10-22T00:00:00.000Z"
        }
      ]
    },
    {
      "name": "other_sections",
      "description": "One row per cell of every section on the CNAIR page that this connector has no dedicated table for — either recognised but never yet observed with data (winter-maintenance measures), or a section CNAIR has added since. Long and thin: each row is one cell, labelled with the column header the source printed. Nothing on the page is ever dropped; this is where it lands until it is modelled.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare celulă din fiecare secțiune a paginii CNAIR pentru care acest conector nu are un tabel dedicat — fie recunoscută, dar niciodată observată cu date (măsurile de iarnă), fie o secțiune adăugată între timp de CNAIR. Lung și îngust: fiecare rând este o celulă, etichetată cu antetul de coloană tipărit de sursă. Nimic din pagină nu se pierde vreodată; aici ajunge până când este modelat.",
        "en": "One row per cell of every section on the CNAIR page that this connector has no dedicated table for — either recognised but never yet observed with data (winter-maintenance measures), or a section CNAIR has added since. Long and thin: each row is one cell, labelled with the column header the source printed. Nothing on the page is ever dropped; this is where it lands until it is modelled."
      },
      "rowCount": 10128,
      "lastRunRows": 12,
      "totalBytes": 43177,
      "sortBy": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq",
        "column_index"
      ],
      "searchColumns": [
        "section_title",
        "cell_text"
      ],
      "primaryKey": [
        "snapshot_date",
        "snapshot_hour",
        "section_index",
        "row_seq",
        "column_index"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "snapshot_date",
          "type": "DATE",
          "nullable": false,
          "description": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else.",
          "descriptions": {
            "ro": "Ziua calendaristică (UTC) în care a fost preluat acest instantaneu. Este prima coloană de sortare și, împreună cu snapshot_hour, formează unitatea de reîncărcare: reluarea aceleiași perechi (dată, oră) înlocuiește exact acele rânduri și nimic altceva.",
            "en": "The calendar day (UTC) this snapshot was taken. Leading sort column and, with snapshot_hour, the reload unit: re-ingesting the same (date, hour) replaces exactly those rows and nothing else."
          },
          "min": "2026-09-02",
          "max": "2026-10-22",
          "distinctApprox": 11
        },
        {
          "name": "snapshot_hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts.",
          "descriptions": {
            "ro": "Ora din zi (0-23, UTC) căreia îi aparține acest instantaneu — intervalul propriu al conectorului, nu o valoare publicată de CNAIR. Cheia pe oră, nu doar pe zi, este ceea ce împiedică o rulare ulterioară din aceeași zi să șteargă rezultatul uneia anterioare; vezi comentariul din src/tables.ts.",
            "en": "The hour of day (0-23, UTC) this snapshot belongs to — this connector's own poll slot, not a value CNAIR publishes. Keying the reload unit on the hour rather than the date alone is what stops a later run in the same day from erasing an earlier one; see the file comment in src/tables.ts."
          },
          "unit": "hour of day (UTC)",
          "min": 3,
          "max": 23,
          "distinctApprox": 21
        },
        {
          "name": "snapshot_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute.",
          "descriptions": {
            "ro": "Momentul exact (UTC) în care a fost preluat acest instantaneu — ctx.runAt, neaproximat. snapshot_date și snapshot_hour încadrează rularea; această coloană păstrează minutul exact.",
            "en": "The exact instant (UTC) this snapshot was fetched — ctx.runAt, unrounded. snapshot_date/snapshot_hour bucket the run; this keeps the precise minute."
          }
        },
        {
          "name": "section_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded.",
          "descriptions": {
            "ro": "Poziția (de la zero) a secțiunii din care provine rândul, numărată de sus în jos în pagina servită în ora respectivă. Face parte din cheia primară și este singura identitate pozițională sigură: NUMĂRUL secțiunii tipărit în titlu (section_code) este renumerotat din când în când de CNAIR, iar textul titlului este reformulat.",
            "en": "Zero-based position of the section this row came from, counted down the page as served that hour. Part of the primary key, and the only positional identity that is safe: the section NUMBER printed in the heading (section_code) is renumbered by CNAIR from time to time, and the heading text is reworded."
          },
          "min": 9,
          "max": 11,
          "distinctApprox": 2
        },
        {
          "name": "row_seq",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that.",
          "descriptions": {
            "ro": "Poziția (de la zero) a rândului în tabelul secțiunii sale, așa cum a fost servit. Împreună cu section_index și coloanele de instantaneu formează cheia primară. Este o poziție, nu un identificator: CNAIR nu garantează că aceeași restricție păstrează aceeași poziție între două preluări, deci nu o folosi ca să urmărești un eveniment în timp — pentru asta ai (road_code, km_from_text, km_to_text) sau map_key.",
            "en": "Zero-based position of this row within its section's table, as served. Together with section_index and the snapshot columns it is the primary key. It is a position, not an identifier: CNAIR does not promise the same closure keeps the same position between two fetches, so do not use it to follow one event through time — use (road_code, km_from_text, km_to_text) or map_key for that."
          },
          "min": 0,
          "max": 38,
          "distinctApprox": 39
        },
        {
          "name": "column_index",
          "type": "INTEGER",
          "nullable": false,
          "description": "Zero-based position of this cell within its row. With the snapshot columns, section_index and row_seq it forms the primary key.",
          "descriptions": {
            "ro": "Poziția (de la zero) a celulei în rândul ei. Împreună cu coloanele de instantaneu, section_index și row_seq formează cheia primară.",
            "en": "Zero-based position of this cell within its row. With the snapshot columns, section_index and row_seq it forms the primary key."
          },
          "min": 0,
          "max": 5,
          "distinctApprox": 6
        },
        {
          "name": "section_code",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section number as the heading prints it, when it has one.",
          "descriptions": {
            "ro": "Numărul secțiunii cum îl tipărește titlul, când are unul.",
            "en": "The section number as the heading prints it, when it has one."
          }
        },
        {
          "name": "section_title",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The section heading verbatim.",
          "descriptions": {
            "ro": "Titlul secțiunii cuvânt cu cuvânt.",
            "en": "The section heading verbatim."
          }
        },
        {
          "name": "section_title_lc",
          "type": "VARCHAR",
          "nullable": true,
          "description": "section_title, lowercased and accent-folded, for search — the column to scan when you want to know whether CNAIR has started publishing something new.",
          "descriptions": {
            "ro": "section_title cu litere mici și fără diacritice, pentru căutare — coloana de scanat când vrei să afli dacă CNAIR a început să publice ceva nou.",
            "en": "section_title, lowercased and accent-folded, for search — the column to scan when you want to know whether CNAIR has started publishing something new."
          }
        },
        {
          "name": "section_kind",
          "type": "VARCHAR",
          "nullable": true,
          "description": "What this connector believes the section is about, when it recognised the heading but has no table for it — \"winter_measures\", \"weather_precipitation\". NULL when the heading matched no rule at all, which is the case worth investigating.",
          "descriptions": {
            "ro": "Ce crede conectorul că este secțiunea, atunci când a recunoscut titlul dar nu are tabel pentru el — „winter_measures\", „weather_precipitation\". NULL când titlul nu a corespuns niciunei reguli, care este cazul ce merită investigat.",
            "en": "What this connector believes the section is about, when it recognised the heading but has no table for it — \"winter_measures\", \"weather_precipitation\". NULL when the heading matched no rule at all, which is the case worth investigating."
          }
        },
        {
          "name": "recognised",
          "type": "BOOLEAN",
          "nullable": false,
          "description": "False when the heading matched none of the connector's rules. Every such section is also logged as a warning naming the heading verbatim, on every run, so it cannot go unnoticed: `SELECT DISTINCT section_title FROM other_sections WHERE NOT recognised` is the query that says this connector needs updating.",
          "descriptions": {
            "ro": "Fals când titlul nu a corespuns niciunei reguli a conectorului. Fiecare astfel de secțiune este consemnată și ca avertisment, cu titlul cuvânt cu cuvânt, la fiecare rulare, ca să nu poată trece neobservată: `SELECT DISTINCT section_title FROM other_sections WHERE NOT recognised` este interogarea care spune că acest conector are nevoie de o actualizare.",
            "en": "False when the heading matched none of the connector's rules. Every such section is also logged as a warning naming the heading verbatim, on every run, so it cannot go unnoticed: `SELECT DISTINCT section_title FROM other_sections WHERE NOT recognised` is the query that says this connector needs updating."
          }
        },
        {
          "name": "row_no",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The source's own \"NR. CRT.\" value for this row, when it has one.",
          "descriptions": {
            "ro": "Valoarea „NR. CRT.\" a sursei pentru acest rând, când are una.",
            "en": "The source's own \"NR. CRT.\" value for this row, when it has one."
          }
        },
        {
          "name": "column_label",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The column header CNAIR printed for this cell, verbatim from the table's `<th>` — the source's own name for what the value means, which is why these rows are readable without a schema. NULL when the table had no header for this position.",
          "descriptions": {
            "ro": "Antetul de coloană tipărit de CNAIR pentru această celulă, cuvânt cu cuvânt din `<th>`-ul tabelului — numele pe care sursa însăși îl dă valorii, ceea ce face aceste rânduri lizibile fără schemă. NULL când tabelul nu avea antet pentru poziția aceasta.",
            "en": "The column header CNAIR printed for this cell, verbatim from the table's `<th>` — the source's own name for what the value means, which is why these rows are readable without a schema. NULL when the table had no header for this position."
          }
        },
        {
          "name": "column_placeholder",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The cell's own `placeholder` attribute, verbatim — CNAIR repeats the column name in capitals on every cell, and this attribute is the more stable of the two labels.",
          "descriptions": {
            "ro": "Atributul `placeholder` propriu al celulei, cuvânt cu cuvânt — CNAIR repetă numele coloanei cu majuscule pe fiecare celulă, iar acest atribut este cea mai stabilă dintre cele două etichete.",
            "en": "The cell's own `placeholder` attribute, verbatim — CNAIR repeats the column name in capitals on every cell, and this attribute is the more stable of the two labels."
          }
        },
        {
          "name": "column_key",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The label this connector matched on: the placeholder if present, otherwise the header, lowercased and accent-folded. This is the column to GROUP BY when pivoting a section back into a table.",
          "descriptions": {
            "ro": "Eticheta pe care a potrivit-o conectorul: placeholder-ul dacă există, altfel antetul, cu litere mici și fără diacritice. Este coloana după care se face GROUP BY când reconstitui secțiunea sub formă de tabel.",
            "en": "The label this connector matched on: the placeholder if present, otherwise the header, lowercased and accent-folded. This is the column to GROUP BY when pivoting a section back into a table."
          }
        },
        {
          "name": "cell_text",
          "type": "TEXT",
          "nullable": true,
          "description": "The cell's text, verbatim, with `<br>` separators turned into newlines and HTML entities decoded. Nothing is normalised beyond that: a value here is what CNAIR published.",
          "descriptions": {
            "ro": "Textul celulei, cuvânt cu cuvânt, cu separatoarele `<br>` transformate în linii noi și entitățile HTML decodate. Nimic nu este normalizat dincolo de atât: o valoare de aici este ce a publicat CNAIR.",
            "en": "The cell's text, verbatim, with `<br>` separators turned into newlines and HTML entities decoded. Nothing is normalised beyond that: a value here is what CNAIR published."
          }
        },
        {
          "name": "cell_text_lc",
          "type": "TEXT",
          "nullable": true,
          "description": "cell_text, lowercased and accent-folded, for search.",
          "descriptions": {
            "ro": "cell_text cu litere mici și fără diacritice, pentru căutare.",
            "en": "cell_text, lowercased and accent-folded, for search."
          }
        },
        {
          "name": "numeric_value",
          "type": "DOUBLE",
          "nullable": true,
          "description": "cell_text as a number, when it is a plain number (optionally with a comma or point decimal separator) and nothing else. NULL for text, for a number with a unit glued to it, and for a blank. It exists so a quantity in an unmodelled section — tonnes of anti-skid material, litres of CaCl2, a count of vehicles — can be summed without parsing text in SQL, and it is DOUBLE rather than DECIMAL because the scale of a column nobody has modelled yet is by definition unknown. When precision matters, parse cell_text yourself.",
          "descriptions": {
            "ro": "cell_text ca număr, atunci când este un număr simplu (eventual cu virgulă sau punct zecimal) și nimic altceva. NULL pentru text, pentru un număr cu unitate lipită de el și pentru o celulă goală. Există ca o cantitate dintr-o secțiune nemodelată — tone de material antiderapant, litri de CaCl2, un număr de utilaje — să poată fi însumată fără a parsa text în SQL, și este DOUBLE, nu DECIMAL, fiindcă scara unei coloane încă nemodelate este prin definiție necunoscută. Când precizia contează, interpretează singur cell_text.",
            "en": "cell_text as a number, when it is a plain number (optionally with a comma or point decimal separator) and nothing else. NULL for text, for a number with a unit glued to it, and for a blank. It exists so a quantity in an unmodelled section — tonnes of anti-skid material, litres of CaCl2, a count of vehicles — can be summed without parsing text in SQL, and it is DOUBLE rather than DECIMAL because the scale of a column nobody has modelled yet is by definition unknown. When precision matters, parse cell_text yourself."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/andnet-road-conditions/v/01M5JZ3SXCZKG1PEZ6YHNK4KJE/other_sections.parquet",
          "sizeBytes": 43177,
          "rowCount": 10128,
          "etag": "\"8317bad9dea69c2edb6ae39b8ce7eafc\"",
          "stats": {
            "snapshot_date": {
              "min": "2026-09-02",
              "max": "2026-10-22"
            },
            "snapshot_hour": {
              "min": 3,
              "max": 23
            },
            "section_index": {
              "min": 9,
              "max": 11
            },
            "row_seq": {
              "min": 0,
              "max": 38
            },
            "column_index": {
              "min": 0,
              "max": 5
            }
          }
        }
      ],
      "example": [
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 11,
          "row_seq": 0,
          "column_index": 0,
          "section_code": "8.1",
          "section_title": "8.1 Precipitatii:",
          "section_title_lc": "8.1 precipitatii:",
          "section_kind": "weather_precipitation",
          "recognised": true,
          "row_no": "8.1.1",
          "column_label": "NR. CRT.",
          "column_placeholder": "NR. CRT.",
          "column_key": "nr. crt.",
          "cell_text": "8.1.1",
          "cell_text_lc": "8.1.1",
          "numeric_value": null
        },
        {
          "snapshot_date": "2026-09-02T00:00:00.000Z",
          "snapshot_hour": 6,
          "snapshot_at": "2026-09-02T06:24:46.457Z",
          "section_index": 11,
          "row_seq": 0,
          "column_index": 1,
          "section_code": "8.1",
          "section_title": "8.1 Precipitatii:",
          "section_title_lc": "8.1 precipitatii:",
          "section_kind": "weather_precipitation",
          "recognised": true,
          "row_no": "8.1.1",
          "column_label": "Tip raportare",
          "column_placeholder": "TIP RAPORTARE",
          "column_key": "tip raportare",
          "cell_text": "Manuală, personal C.N.A.I.R.",
          "cell_text_lc": "manuala, personal c.n.a.i.r.",
          "numeric_value": null
        }
      ]
    }
  ],
  "generatedAt": "2026-10-22T23:32:56.291Z"
}
