/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * `emuia`: Poland's INSPIRE Addresses (AD) theme, published by Główny Urząd Geodezji i Kartografii out * of the Państwowy Rejestr Granic. * * Input is GML, because the service serves four GML flavors and no JSON. Its capabilities document * advertises no `outputFormat` values at all and a `GetFeature` returns * `application/gml+xml; version=3.2`. A page is a `wfs:FeatureCollection` of `ms:AD.Address` members, * and the adapter reads it with `streamMarkupElements` from `@mailwoman/core/html/elements`, which * yields one member subtree at a time, so neither a page nor a whole extract sits in memory. * * The payload is the Polish register's own schema rather than the harmonized INSPIRE model: a member's * element names are the register's columns and every address value is inline, so there is no * `ad:ThoroughfareName` to join to and no `xlink:href` to resolve. Read with that same function over * 500 members across ten windows spread through the service, a member carries 21 children and never a * twenty-second: `gml:boundedBy`, `ms:msGeometry` and nineteen columns, which are `ms:id`, * `ms:gml_id`, `ms:lokalnyid`, `ms:jednostkaadmnistracyjna`, `ms:miejscowosc`, * `ms:miejscowosc_lower`, `ms:czescmiejscowosci`, `ms:ulica`, `ms:ulica_pol`, `ms:ulica_skr`, * `ms:numer`, `ms:kod`, `ms:teryt`, `ms:simc`, `ms:ulic`, `ms:status`, `ms:data_od`, `ms:wazny_od` * and `ms:adres`. The adapter reads `ulica` as the street, `numer` as the house number, `kod` as the * postcode and `miejscowosc` as the locality, with `czescmiejscowosci` as the part of the locality * where the publisher populates it. Every column is written on every member, and three carry a value * on every one of the 500: `numer`, `kod` and `miejscowosc`. Two are written and populated on none: * `status` and `czescmiejscowosci`. * * A row with no street is the ordinary rural case rather than a defect. Over those 500 members 299 * carry a street and 201 leave `ms:ulica` written and empty, and the publisher's own `ms:adres` writes * the streetless form as locality and number: `Księżyki 5`, `Jawor 19`. The adapter emits those rows * with a locality and a number and no street, which is the address Poland delivers to. * * `ms:jednostkaadmnistracyjna` carries the administrative path as a PostgreSQL array literal, * `{Polska,łódzkie,"Piotrków Trybunalski","Piotrków Trybunalski"}`, whose second element is the * voivodeship. It is left unread: a Polish postal address does not carry the voivodeship, the codex * layout for `PL` leaves a `region` component unplaced, and parsing a quoted array literal to reach a * value the layout leaves unplaced would cost a parse and reach no rendered component. * * The service states no count of its own. `resultType=hits` answers `numberMatched="1000"`, which is * MapServer's default feature cap rather than a count — it stays 1000 when asked with `count=2000` and * when asked at `startIndex=1` — and a feature page answers `numberMatched="unknown"`. The size is a * property of the service on the day it is asked, so this file states no count. The acquisition * step reads it by paging, with `countWFSFeaturesByPaging` from `@mailwoman/core/api`. * * GUGiK's dataset record states one condition of use, in `otherConstraints`: `Brak warunków dostępu i * użytkowania`, no conditions for access and use. The address-source register elected that and names * no license instrument, so no SPDX identifier exists and the publisher's own words are the label the * adapter stamps on every row. Crediting GUGiK stays good practice and the statement requires it * nowhere. * * The adapter honors `opts.limit` and `opts.signal`. `opts.country` is optional and accepts only `PL`. */ import { type CorpusAdapter } from "#types"; /** * Registry id for this adapter. * * Stamped into every row it emits, so a corpus record can be traced back to the dataset it came from. * The name is the municipal register the feature ids point at: a `ms:gml_id` * reads `PL.ZIPIN.3742.EMUiA_9945001100000172050`. */ export declare const EMUIA_ADAPTER_ID = "emuia"; /** * The one jurisdiction this adapter emits. */ export declare const EMUIA_COUNTRIES: readonly string[]; /** * The terms the address-source register elected for this publisher. * * `unchecked-access-free-pl-g-wny-urz-d-geodezji-i-kartografii` is elected with no `spdx` * and no `termsVersion`, so `electedTerms` is the whole of what the publisher stated * and `electedLicenseLabel` returns exactly this string. * Czechia's row is recorded the same way. */ export declare const EMUIA_DEFAULT_LICENSE = "Brak warunk\u00F3w dost\u0119pu i u\u017Cytkowania"; export declare function createEMUiAAdapter(): CorpusAdapter; /** * The configured adapter instance registered with the corpus builder. */ export declare const emuiaAdapter: CorpusAdapter; //# sourceMappingURL=adapter.d.ts.map