openapi: 3.0.1
info:
  title: Geodatakatalog Sökning för översiktsplan
  version: '2.0'
  description: 'Detta dokument beskriver Lantmäteriets API "Geodatakatalog Sökning för översiktsplan"

    som är baserat på version 0.9.0 av SpatioTemporal Asset Catalog API (STAC)

    och OGC API - Features (OAPIF).


    API:et bryter mot STAC- och OAPIF-specifikationen genom att göra SWEREF 99 TM till

    standardreferenssystemet, istället för WGS 84.


    Följande utökningar är implementerade:

    * CRS-utökningen till OAPIF för att hämta och söka med geometrier i olika referenssystem.

    * Query-utökningen till STAC för attributvis sökning.


    API:et och dess implementation är under utveckling och kommer efterhand att förändras

    och följa utvecklingen av STAC.


    Bas-URL:en för denna dokumentation är https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2


    Länkar:

    * [STAC Spec](http://stacspec.org)

    * [OGC API - Features Spec](https://www.opengeospatial.org/standards/ogcapi-features)


    **Sökbara domänattribut enligt oversiktsplan-ref-2.0.json:**


    Referensobjekt kan vara av typen `oversiktsplan`, `beslutOP` eller `innehallOP`.

    Attributvis sökning görs via STAC Query-utökningen med punktnotation, till exempel

    `oversiktsplan.kommunkod`, `innehallOP.innehallstyp.varde` eller

    `beslutOP.beslutsdokument_producentensIdentitet`.


    Nya/aktuella sökfält för producentens identitet:

    * `oversiktsplan.underlag_producentensIdentitet`

    * `oversiktsplan.dokument_producentensIdentitet`

    * `beslutOP.beslutsdokument_producentensIdentitet`

    * `beslutOP.underlagsmaterial_producentensIdentitet`

    * `innehallOP.externReferens_producentensIdentitet`

    * `innehallOP.dokument_producentensIdentitet`

    '
  contact:
    name: Lantmäteriet
    url: https://www.lantmateriet.se
  license:
    name: CC0-1.0
    url: https://creativecommons.org/publicdomain/zero/1.0/legalcode
servers:
  - url: https://api-ver.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
    description: Verifikation
  - url: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
    description: Produktion
security:
  - clientCredentialsAuth: []
  - passwordAuth: []
  - clientCredentialsVerAuth: []
  - passwordVerAuth: []
tags:
  - name: Egenskaper
    description: Information om detta API och dess datamängder.
  - name: Data
    description: Åtkomst till data (referensobjekt).
  - name: STAC
    description: Utökning av OGC API - Features för att stöda sök-API.
paths:
  /:
    get:
      tags:
        - Egenskaper
      summary: Startsida
      description: 'Hämtar rotkatalogen som är startpunkten för att bläddra bland informationen.


        Startsidan har länkar till API-definitionen, kompatibilitetsinformation,

        sökingång, och till datamängder.'
      operationId: getLandingPage
      responses:
        '200':
          $ref: '#/components/responses/LandingPage'
        '500':
          $ref: '#/components/responses/ServerError'
  /conformance:
    get:
      tags:
        - Egenskaper
      summary: Information om specifikationer som detta API följer
      description: En lista på OAPIF kompatibilitetsklasser som tjänsten uppfyller.
      operationId: getConformanceDeclaration
      responses:
        '200':
          $ref: '#/components/responses/ConformanceDeclaration'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections:
    get:
      tags:
        - Egenskaper
      summary: Datamängderna i informationsområdet
      operationId: getCollections
      parameters:
        - $ref: '#/components/parameters/crs'
      responses:
        '200':
          $ref: '#/components/responses/Collections'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/{collectionId}:
    get:
      tags:
        - Egenskaper
      summary: Beskriv datamängden med id collectionId
      operationId: describeCollection
      parameters:
        - $ref: '#/components/parameters/collectionId'
        - $ref: '#/components/parameters/crs'
      responses:
        '200':
          $ref: '#/components/responses/Collection'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/{collectionId}/items:
    get:
      tags:
        - Data
      summary: Hämta referensobjekt
      description: 'Hämta referensobjekt från datamängden med id `collectionId`.


        Alla referensobjekt tillhör en datamängd. Ett informationsområde har flera

        datamängder, ofta en per kommun.'
      operationId: getFeatures
      parameters:
        - $ref: '#/components/parameters/collectionId'
        - $ref: '#/components/parameters/bbox'
        - $ref: '#/components/parameters/bbox-crs'
        - $ref: '#/components/parameters/datetime'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/afterId'
        - $ref: '#/components/parameters/crs'
      responses:
        '200':
          $ref: '#/components/responses/Features'
        '400':
          $ref: '#/components/responses/InvalidParameter'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /collections/{collectionId}/items/{featureId}:
    get:
      tags:
        - Data
      summary: Hämta enstaka referensobjekt
      description: Hämta referensobjektet med id `featureId` i datamängden med id `collectionId`.
      operationId: getFeature
      parameters:
        - $ref: '#/components/parameters/collectionId'
        - $ref: '#/components/parameters/featureId'
        - $ref: '#/components/parameters/crs'
      responses:
        '200':
          $ref: '#/components/responses/Feature'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /search:
    get:
      summary: Sök bland referensobjekt med enkel filtrering
      description: 'Hämta referensobjekt som matchar givna filter. Använd `POST /search`

        för mer avancerade sökningar.'
      operationId: getSearchSTAC
      tags:
        - STAC
      parameters:
        - $ref: '#/components/parameters/bbox'
        - $ref: '#/components/parameters/bbox-crs'
        - $ref: '#/components/parameters/datetime'
        - $ref: '#/components/parameters/intersects'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/afterId'
        - $ref: '#/components/parameters/ids'
        - $ref: '#/components/parameters/collectionsArray'
        - $ref: '#/components/parameters/crs'
      responses:
        '200':
          $ref: '#/components/responses/Features'
        '500':
          $ref: '#/components/responses/ServerError'
    post:
      summary: Sök bland referensobjekt
      description: Hämta referensobjekt som matchar givna filter.
      operationId: postSearchSTAC
      parameters:
        - $ref: '#/components/parameters/bbox-crs'
        - $ref: '#/components/parameters/afterId'
        - $ref: '#/components/parameters/crs'
      tags:
        - STAC
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/searchBody'
      responses:
        '200':
          $ref: '#/components/responses/Features'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  securitySchemes:
    clientCredentialsAuth:
      type: oauth2
      description: Autentisering med OAuth2 Client Credentials flow i produktionsmiljön.
      flows:
        clientCredentials:
          tokenUrl: https://api.lantmateriet.se/token
          scopes: {}
    passwordAuth:
      type: oauth2
      description: Autentisering med OAuth2 Resource Owner/Password flow i produktionsmiljön.
      flows:
        password:
          tokenUrl: https://api.lantmateriet.se/token
          scopes: {}
    clientCredentialsVerAuth:
      type: oauth2
      description: Autentisering med OAuth2 Client Credentials flow i verifikationsmiljön.
      flows:
        clientCredentials:
          tokenUrl: https://api-ver.lantmateriet.se/token
          scopes: {}
    passwordVerAuth:
      type: oauth2
      description: Autentisering med OAuth2 Resource Owner/Password flow i verifikationsmiljön.
      flows:
        password:
          tokenUrl: https://api-ver.lantmateriet.se/token
          scopes: {}
  parameters:
    afterId:
      name: afterId
      in: query
      description: 'Används för paginering ihop med `limit`-parametern.


        Om en fråga ger fler träffar än vad som tillåts av `limit`, så kan nästa "sida"

        hämtas genom att ställa samma fråga igen, men där `afterId` sätts till idt för det sista

        objektet i det föregående svaret.


        Klienter avråds dock från att bry sig om logiken i detta. Istället bör de använda länken där

        `rel` har värdet `next`, som sätts i `links`-listan om svaret inte innehåller alla träffar.'
      required: false
      schema:
        type: string
        format: uuid
      style: form
      explode: false
    bbox:
      name: bbox
      in: query
      description: 'Hämta bara referensobjekt vars geometri berör rutan. Avgränsningen kan anges som

        fyra eller sex siffror, men höjdledsaxeln kommer att ignoreras.


        * Sydvästra hörnet, östlig riktning

        * Sydvästra hörnet, nordlig riktning

        * Lägsta höjd (valfri)

        * Nordöstra hörnet, östlig riktning

        * Nordöstra hörnet, nordlig riktning

        * Högsta höjd (valfri)


        Koordinatsystemet är SWEREF 99 TM, om inte annat anges i `bbox-crs`-parametern.


        Exempel: En ruta över Sverige kan representeras i en fråga som

        `bbox=240000,6100000,940000,7700000`.'
      required: false
      schema:
        type: array
        minItems: 4
        maxItems: 6
        items:
          type: number
      style: form
      explode: false
    bbox-crs:
      name: bbox-crs
      in: query
      description: 'Anger vilket referenssystem som frågans geometrier (`bbox` eller `intersects`) är i.

        Som standard används SWEREF 99 TM.


        EPSG-koder kan anges på formen `http://www.opengis.net/def/crs/EPSG/0/3006` eller

        `urn:ogc:def:crs:EPSG::3006`.'
      required: false
      schema:
        type: string
        default: http://www.opengis.net/def/crs/EPSG/0/3006
      style: form
      explode: false
    collectionId:
      name: collectionId
      in: path
      description: Lokalt id för en datamängd.
      required: true
      schema:
        type: string
    collectionsArray:
      name: collections
      in: query
      description: 'Lista med datamängdsidn som ska ingå i sökningen. Bara referensobjekt som ingår

        i något av de angivna datamängderna hämtas.

        '
      required: false
      schema:
        $ref: '#/components/schemas/collectionsArray'
      explode: false
    crs:
      name: crs
      in: query
      description: 'Anger vilket referenssystem som svarets geometrier ska vara i. Som standard

        används SWEREF 99 TM.


        EPSG-koder kan anges på formen `http://www.opengis.net/def/crs/EPSG/0/3006` eller

        `urn:ogc:def:crs:EPSG::3006`.'
      required: false
      schema:
        type: string
        default: http://www.opengis.net/def/crs/EPSG/0/3006
      style: form
      explode: false
    datetime:
      name: datetime
      in: query
      description: 'Filtrering på attributet `datetime` i referensobjektet, vilket innehåller tiden då

        den senaste versionen av objektet blev tillgängligt för åtkomst. Parametern kan

        alltså t.ex. används för att hitta objekt som är nya eller har ändrats sedan en viss

        tidpunkt.


        En datumtid eller ett intervall, öppet eller stängt. Datum och tid ska följa

        RFC 3339. Intervall är två datumtider åtskilda av ett snedstreck. Öppna

        intervall uttrycks med två punkter.


        Exempel:


        * En datumtid: `2018-02-12T23:20:50+01:00`

        * Ett stängt intervall: `2018-02-12T00:00:00+01:00/2018-03-18T12:31:12+01:00`

        * Öppna intervall: `2018-02-12T00:00:00+01:00/..` eller `../2018-03-18T12:31:12+01:00`'
      required: false
      schema:
        type: string
      style: form
      explode: false
    featureId:
      name: featureId
      in: path
      description: Ett referensobjekts objektidentitet.
      required: true
      schema:
        type: string
    ids:
      name: ids
      in: query
      description: 'Lista med objektidentiteter. När denna parameter används kommer alla andra

        filter som begränsar sökresultatet att ignoreras.'
      required: false
      schema:
        $ref: '#/components/schemas/ids'
      explode: false
    intersects:
      name: intersects
      in: query
      description: 'Hämta bara referensobjekt vars geometri berör den angivna geometrin. Geometrin

        ska vara i GeoJSON-format, men måste URL-encodas när den skickas in i en queryparameter.


        Koordinatsystemet är SWEREF 99 TM, om inte annat anges i `bbox-crs`-parametern.


        Exempel: En punkt i Gävle: `intersects={"type": "Point", "coordinates": [616518, 6727527]}`.'
      required: false
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: 'Valfri parameter för att begränsa antalet referensobjekt som presenteras i svaret.


        Om fler objekt finns tillgängliga än vad som tillåts av `limit` så innehåller svaret

        en länk där `rel` har värdet `next` i `links`-listan. Den kan följas för att hämta

        nästa "sida".


        Minimum = 1. Maximum = 10000. Default = 10.'
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 10000
        default: 10
      style: form
      explode: false
  responses:
    LandingPage:
      description: 'Startsidan innehåller länkar till API-definitionen (länkrelationerna `service-desc`

        och `service-doc`), kompatibilitetsinformation (sökväg `/conformance`, länkrelation

        `conformance`), datamängder (sökväg `/collections`, länkrelation `data`) samt

        sökingångarna (sökväg `/search`, länkrelation `search`, metod `GET` och `POST`)'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/landingPage'
          example:
            type: Catalog
            stac_version: 0.9.0,
            id: oversiktsplan.v2
            title: Geodatakatalog för översiktsplan
            description: Geodatakatalog för översiktsplan
            links:
              - rel: self
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
                type: application/json
              - rel: root
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
                type: application/json
              - rel: service-doc
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/api
                title: API dokumentation
                type: text/html
              - rel: service-desc
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/api
                title: API definition
                type: application/vnd.oai.openapi+json;version=3.0
              - rel: service-desc
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/api
                title: API definition
                type: application/vnd.oai.openapi;version=3.0
              - rel: conformance
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/conformance
                type: application/json
              - rel: data
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections
                type: application/json
              - rel: search
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/search
                type: application/geo+json
              - rel: search
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/search
                type: application/geo+json
                method: POST
    ConformanceDeclaration:
      description: URI för alla OAPIF kompatibilitetsklasser tjänsten upfyller.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/confClasses'
          example:
            conformsTo:
              - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core
              - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30
              - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson
              - http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/crs
    Collections:
      description: 'Referensobjekten i är indelade i datamängder. Den här resursen ger information

        om och tillgång till dessa.


        Svaret innehåller en lista på alla datamängder för informationsområdet, där varje

        datamängd har en länk för att komma åt referensobjekten som hör till den

        (sökväg `/collections/{collectionId}/items`, länkrelation `items`), tillsammans

        med viss metadata. Sådan information kan innehålla:


        * Ett id för datamängden som är unik per informationsområde.

        * En lista med referenssystem som geometrier kan hämtas i. Standard är SWEREF 99 TM.

        * Information om datamängdens utsträckning, i tid och rum.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/collections'
          example:
            links:
              - rel: root
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
                type: application/json
              - rel: self
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections
                type: application/json
              - rel: describedBy
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/api
                title: JSON Schema för domänspecifika attribut.
                type: application/schema+json
            crs:
              - http://www.opengis.net/def/crs/OGC/1.3/CRS84
              - http://www.opengis.net/def/crs/EPSG/0/3006
              - http://www.opengis.net/def/crs/EPSG/0/3007
              - http://www.opengis.net/def/crs/EPSG/0/3008
              - http://www.opengis.net/def/crs/EPSG/0/3012
              - http://www.opengis.net/def/crs/EPSG/0/3009
              - http://www.opengis.net/def/crs/EPSG/0/3013
              - http://www.opengis.net/def/crs/EPSG/0/3010
              - http://www.opengis.net/def/crs/EPSG/0/3014
              - http://www.opengis.net/def/crs/EPSG/0/3011
              - http://www.opengis.net/def/crs/EPSG/0/3015
              - http://www.opengis.net/def/crs/EPSG/0/3016
              - http://www.opengis.net/def/crs/EPSG/0/3017
              - http://www.opengis.net/def/crs/EPSG/0/3018
              - http://www.opengis.net/def/crs/EPSG/0/4619
              - http://www.opengis.net/def/crs/EPSG/0/3021
            collections:
              - type: Collection
                stac_version: 0.9.0
                id: '2882'
                description: Geodatakatalog med översiktsplan för Österhamns kommun
                license: CC0-1.0
                providers:
                  - name: Österhamns kommun
                    roles:
                      - producer
                    kod: '2882'
                extent:
                  spatial:
                    bbox:
                      - - 692230
                        - 6364731
                        - 692395
                        - 6364891
                  temporal:
                    interval:
                      - - null
                        - '2020-01-31T17:01:45.302+01:00'
                links:
                  - rel: self
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882
                    type: application/json
                  - rel: root
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
                    type: application/json
                  - rel: parent
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
                    type: application/json
                  - rel: items
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882/items
                    type: application/geo+json
                crs:
                  - '#/crs'
                storageCrs: http://www.opengis.net/def/crs/EPSG/0/3006
    Collection:
      description: 'Information om datamängden med id `collectionId`.


        Svaret innehåller en länk för att komma åt referensobjekten som hör till den

        (sökväg `/collections/{collectionId}/items`, länkrelation `items`), tillsammans

        med viss metadata. Sådan information kan innehålla:


        * Ett id för datamängden som är unik per informationsområde.

        * En lista med referenssystem som geometrier kan hämtas i. Standard är SWEREF 99 TM.

        * Information om datamängdens utsträckning, i tid och rum.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/collection'
          example:
            type: Collection
            stac_version: 0.9.0
            id: '2882'
            title: Österhamns kommun
            description: Geodatakatalog med översiktsplan för Österhamns kommun
            license: CC0-1.0
            providers:
              - name: Österhamns kommun
                roles:
                  - producer
                kod: '2882'
            extent:
              spatial:
                bbox:
                  - - 692230
                    - 6364731
                    - 692395
                    - 6364891
              temporal:
                interval:
                  - - null
                    - '2020-01-31T17:01:45.30282+01:00'
            links:
              - rel: self
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882
                type: application/json
              - rel: root
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
                type: application/json
              - rel: parent
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2
                type: application/json
              - rel: items
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882/items
                type: application/geo+json
    Features:
      description: 'Svaret är ett dokument bestående av en samling referensobjekt. Vilka

        referensobjekt som ingår i svaret beror på frågeparametrarna.


        Med `crs`-parametern kan geometrierna hämtas i ett annat referenssystem.


        `limit`-parametern kan användas för att kontrollera hur många referensobjekt

        som ska visas i svaret. Om fler objekt finns tillgängliga än vad som tillåts

        av `limit` så innehåller svaret en länk där `rel` har värdet `next` i

        `links`-listan. Den kan följas för att hämta nästa "sida".'
      content:
        application/geo+json:
          schema:
            $ref: '#/components/schemas/itemCollection'
          example:
            type: FeatureCollection
            bbox:
              - 692230.299
              - 6364730.94
              - 692395.083
              - 6364890.855
            features:
              - stac_version: 0.9.0
                id: 2ca2ef06-0a48-4d34-ae53-29730f29d498
                type: Feature
                geometry:
                  type: MultiPolygon
                  coordinates:
                    - '...'
                bbox:
                  - 692230.299
                  - 6364730.94
                  - 692395.083
                  - 6364890.855
                properties:
                  datetime: '2020-01-31T17:01:45.30282+01:00'
                  providers:
                    - name: Österhamns kommun
                      roles:
                        - producer
                      kod: '2882'
                  title: Översiktsplanens titel
                  feature:
                    typ: oversiktsplan
                    etikett: Översiktsplanens titel
                  oversiktsplan:
                    objektidentitet: 2ca2ef06-0a48-4d34-ae53-29730f29d498
                    beslut: 269ceb95-52f0-4886-b1ee-e74060f0d72e
                    kommunkod: '2882'
                    kommunnamn: Österhamns kommun
                    planhandelse:
                      varde: laga kraft
                      vardereferens: 2b17bfa0-235d-49ac-8c7d-24afb9f22b8b
                      grupp: Planhändelse
                      gruppreferens: 70f1021e-cf01-4537-b5b2-715986f16259
                    underlag_producentensIdentitet:
                      - 4c9326bb-9805-408f-a088-2c12eae764af
                    dokument_producentensIdentitet:
                      - 4c9326bb-9805-408f-a088-2c12eae764ba
                    datumPlanhandelse: '2020-01-31'
                    digitaltUrsprung: true
                links:
                  - rel: self
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882/items/2ca2ef06-0a48-4d34-ae53-29730f29d498
                    type: application/geo+json
                  - rel: collection
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882
                    type: application/json
                assets:
                  asset-1:
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/nedladdning/v1/asset/2ca2ef06-0a48-4d34-ae53-29730f29d498?r=1
                    type: application/vnd.lm.oversiktsplan.v2+json
                    title: Översiktsplan
                    length: 83968
                    roles:
                      - oversiktsplan
                  asset-2:
                    href: https://api.lantmateriet.se/distribution/geodatakatalog/nedladdning/v1/asset/9fc2ef90-3296-4a2a-83e8-449ee4d45b44
                    title: Underlag för översiktsplan
                    roles:
                      - underlag
                collection: '2882'
            links:
              - rel: self
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882/items
                type: application/geo+json
    Feature:
      description: Hämta referensobjektet med id `featureId` i datamängden med id `collectionId`.
      content:
        application/geo+json:
          schema:
            $ref: '#/components/schemas/item'
          example:
            stac_version: 0.9.0
            id: 4c9326bb-9805-408f-a088-2c12eae764ba
            type: Feature
            geometry:
              type: Polygon
              coordinates:
                - - - 692245.372
                    - 6364748.369
                  - - 692244.93
                    - 6364748.573
                  - - 692245.372
                    - 6364748.369
            bbox:
              - 692242.761
              - 6364730.94
              - 692291.792
              - 6364762.251
            properties:
              datetime: '2020-01-31T17:01:45.30282+01:00'
              providers:
                - name: Österhamns kommun
                  roles:
                    - producer
                  kod: '2882'
              title: Bostadsbebyggelse
              feature:
                typ: innehallOP
                etikett: Bostadsbebyggelse
              innehallOP:
                objektidentitet: 4c9326bb-9805-408f-a088-2c12eae764ba
                beslut: 269ceb95-52f0-4886-b1ee-e74060f0d72e
                innehallstyp:
                  varde: Bostadsbebyggelse
                  vardereferens: 2b17bfa0-235d-49ac-8c7d-24afb9f22b8b
                  grupp: Mark- och vattenanvändning
                  gruppreferens: 70f1021e-cf01-4537-b5b2-715986f16259
                planhandelse:
                  varde: laga kraft
                  vardereferens: 2b17bfa0-235d-49ac-8c7d-24afb9f22b8b
                datumPlanhandelse: '2020-01-31'
                berorAnnatInnehall:
                  - 2ca2ef06-0a48-4d34-ae53-29730f29d498
                externReferens_producentensIdentitet:
                  - 4c9326bb-9805-408f-a088-2c12eae764af
                dokument_producentensIdentitet:
                  - 4c9326bb-9805-408f-a088-2c12eae764ac
            links:
              - rel: huvudobjekt
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882/items/2ca2ef06-0a48-4d34-ae53-29730f29d498
                type: application/geo+json
              - rel: self
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882/items/4c9326bb-9805-408f-a088-2c12eae764ba
                type: application/geo+json
              - rel: collection
                href: https://api.lantmateriet.se/distribution/geodatakatalog/sokning/v1/oversiktsplan/v2/collections/2882
                type: application/json
            assets:
              asset-1:
                href: https://api.lantmateriet.se/distribution/geodatakatalog/nedladdning/v1/asset/2ca2ef06-0a48-4d34-ae53-29730f29d498?r=1
                type: application/vnd.lm.oversiktsplan.v2+json
                title: Översiktsplan
                length: 83968
                roles:
                  - oversiktsplan
            collection: '2882'
    InvalidParameter:
      description: En frågeparameter har ett ogiltigt värde.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/exception'
    NotFound:
      description: Den efterfrågade resursen hittades inte.
    ServerError:
      description: Ett serverfel uppstod.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/exception'
  schemas:
    landingPage:
      type: object
      required:
        - links
        - type
        - stac_version
        - id
        - description
      properties:
        type:
          type: string
          enum:
            - Catalog
        stac_version:
          $ref: '#/components/schemas/stac_version'
        stac_extensions:
          $ref: '#/components/schemas/stac_extensions'
        id:
          type: string
        title:
          type: string
        description:
          $ref: '#/components/schemas/description'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
    confClasses:
      type: object
      required:
        - conformsTo
      properties:
        conformsTo:
          type: array
          items:
            type: string
    collections:
      type: object
      required:
        - links
        - collections
      properties:
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        crs:
          $ref: '#/components/schemas/crs'
        collections:
          type: array
          items:
            $ref: '#/components/schemas/collection'
    collection:
      type: object
      required:
        - stac_version
        - type
        - id
        - description
        - license
        - extent
        - links
      properties:
        type:
          type: string
          enum:
            - Collection
        stac_version:
          $ref: '#/components/schemas/stac_version'
        stac_extensions:
          $ref: '#/components/schemas/stac_extensions'
        id:
          type: string
        title:
          type: string
        description:
          $ref: '#/components/schemas/description'
        keywords:
          type: array
          description: Används ej.
          items:
            type: string
        license:
          type: string
          description: 'Licenserna för datat som en [SPDX License identifier](https://spdx.org/licenses/).

            Alternativt värdet `proprietary` om licensen inte finns med i SPDX-listan, eller

            `various` om flera licenser gäller. I dessa två fall kan en länk till licensen

            finnas med i `links`-listan med länkrelationen `licence`. Om samma licens gäller

            för hela informationsområdet kan licenslänken istället ligga i `links`-listan under

            `/collections`.'
        providers:
          type: array
          description: 'En lista med organisationer som har haft en del i att samla in, behandla eller

            tillgängliggöra informationen. Leverantörer listas i kronologisk ordning, med

            den senaste leverantören sist i listan.'
          items:
            type: object
            title: Leverantör
            required:
              - name
            properties:
              name:
                description: Namn på organisationen.
                type: string
              description:
                $ref: '#/components/schemas/description'
              roles:
                description: "Leverantörens roll. Kan vara en eller fler av följande:\n\n* licensor: Organisationen som ger\
                  \ tillstånd att använda informationen\n  under licensen i datamängdens license-attribut.\n* producer: Organisationen\
                  \ som från början samlade in och behandlade datat.\n* processor: En leverantör som behandlat datat för att\
                  \ skapa en förädlad produkt.\n* host: Datavärden som tillgängliggör informationen. Det bör bara finnas en\
                  \ host,\n  som sista elementet i listan."
                type: array
                items:
                  type: string
                  enum:
                    - producer
                    - licensor
                    - processor
                    - host
              url:
                description: Hemsida där leverantören beskriver datamängden och publicerar kontaktinformation.
                type: string
                format: url
        extent:
          type: object
          description: Utbredning av referensobjekten i delmängden.
          properties:
            spatial:
              description: Den spatiella utbredningen av referensobjekten i delmängden.
              type: object
              properties:
                bbox:
                  description: En ruta som beskriver den spatiella utbredningen av delmängden.
                  type: array
                  minItems: 1
                  items:
                    $ref: '#/components/schemas/bbox'
                crs:
                  description: Referenssystem för koordinaterna i `bbox`-rutan. Standard är SWEREF 99 TM.
                  type: string
                  default: http://www.opengis.net/def/crs/EPSG/0/3006
              required:
                - bbox
            temporal:
              description: Den temporala utbredningen av referensobjekten i delmängden.
              type: object
              properties:
                interval:
                  description: 'En tidsintervall som beskriver delmändens temporala utbredning. Värdet `null`

                    tillåts, och indikerar ett öppet intervall.'
                  type: array
                  minItems: 1
                  items:
                    description: 'Start- och sluttid för tidsintervallet. Tidsstämplarna är i referenssystemet

                      som anges i `trs`. Som standard används den gregorianska kalendern.'
                    type: array
                    minItems: 2
                    maxItems: 2
                    items:
                      type: string
                      format: date-time
                      nullable: true
                    example:
                      - '2011-11-11T12:22:11+01:00'
                      - null
                trs:
                  description: 'Referenssystem för den temporala utbredningen. Standard är den gregorianska

                    kalendern.'
                  type: string
                  enum:
                    - http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
                  default: http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
              required:
                - interval
          required:
            - spatial
            - temporal
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        itemType:
          type: string
          default: feature
        crs:
          $ref: '#/components/schemas/crs'
        summaries:
          type: object
          description: Används ej.
          additionalProperties:
            oneOf:
              - type: array
              - type: object
                required:
                  - min
                  - max
                properties:
                  min:
                    anyOf:
                      - type: string
                      - type: number
                  max:
                    anyOf:
                      - type: string
                      - type: number
    itemCollection:
      type: object
      required:
        - type
        - features
      properties:
        type:
          type: string
          enum:
            - FeatureCollection
        bbox:
          $ref: '#/components/schemas/bbox'
        features:
          type: array
          items:
            $ref: '#/components/schemas/item'
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        timeStamp:
          description: Används ej.
          type: string
          format: date-time
        numberMatched:
          description: Används ej.
          type: integer
          minimum: 0
        numberReturned:
          description: Används ej.
          type: integer
          minimum: 0
    item:
      description: 'En GeoJSON Feature med extra attribut för OAPIF och STAC. Se JSON-schema [oversiktsplan-ref-2.0.json]

        för domänspecifika attribut.'
      type: object
      required:
        - stac_version
        - id
        - type
        - geometry
        - bbox
        - links
        - properties
        - assets
      properties:
        stac_version:
          $ref: '#/components/schemas/stac_version'
        stac_extensions:
          $ref: '#/components/schemas/stac_extensions'
        id:
          type: string
          format: uuid
          description: Referensobjektets id, ska vara samma som domänobjektets objektidentitet.
        bbox:
          $ref: '#/components/schemas/bbox'
        geometry:
          $ref: '#/components/schemas/geometryGeoJSON'
        type:
          type: string
          enum:
            - Feature
        properties:
          type: object
          required:
            - datetime
          properties:
            datetime:
              $ref: '#/components/schemas/datetime'
          additionalProperties:
            $ref: oversiktsplan-ref-2.0.json
        links:
          type: array
          items:
            $ref: '#/components/schemas/link'
        assets:
          type: object
          additionalProperties:
            type: object
            required:
              - href
            properties:
              href:
                type: string
                format: url
                description: Länk till webbresursen.
              type:
                type: string
                description: Webbresursens mediatyp.
              title:
                type: string
              roles:
                type: array
                items:
                  type: string
                description: '`oversiktsplan` avser själva domänobjektet, medan de andra avser dokument som refereras till

                  från respektive attribut i domänobjektet.'
              length:
                type: integer
                description: Webbresursens storlek i bytes.
    exception:
      type: object
      description: 'Information om felet: en HTTP-felkod och en beskrivning.'
      required:
        - code
      properties:
        code:
          type: string
        description:
          type: string
    stac_version:
      type: string
      description: STAC-versionen.
    stac_extensions:
      description: Används ej.
      type: array
      uniqueItems: true
      items:
        anyOf:
          - type: string
            format: uri
          - type: string
    description:
      type: string
      description: 'Detaljerad beskrivning för att ge ytterligare information.


        [CommonMark 0.29](http://commonmark.org/) syntax kan användas för att formatera text.'
    link:
      type: object
      required:
        - href
        - rel
      properties:
        href:
          type: string
          format: url
        rel:
          type: string
        type:
          type: string
        hreflang:
          type: string
        title:
          type: string
        length:
          type: integer
        method:
          type: string
          enum:
            - GET
            - POST
          default: GET
          description: Anger vilken HTTP-metod som ska användas för länken.
        headers:
          type: object
          description: Objekt med nycklar och värden som mappas till HTTP-headrar.
        body:
          type: object
        merge:
          type: boolean
          default: false
          description: 'Bara giltigt när tjänsten svarar på ett POST-anrop.


            Om `merge` är `true` förväntas klienten lägga till attributen och

            värdena i `body` till kroppen i det föregående anropet innan länken

            följs. Detta för att undvika att skicka stora frågeobjekt fram och

            tillbaka, särskillt när sidor bläddras från `POST /search`-ingången.'
    crs:
      description: Listan på referenssystem som stöds av tjänsten.
      type: array
      items:
        type: string
      default:
        - http://www.opengis.net/def/crs/EPSG/0/3006
    bbox:
      description: 'Hämta bara referensobjekt vars geometri berör rutan. Avgränsningen kan anges som

        fyra eller sex siffror, men höjdledsaxeln kommer att ignoreras.


        * Sydvästra hörnet, östlig riktning

        * Sydvästra hörnet, nordlig riktning

        * Lägsta höjd (valfri)

        * Nordöstra hörnet, östlig riktning

        * Nordöstra hörnet, nordlig riktning

        * Högsta höjd (valfri)


        Koordinatsystemet är SWEREF 99 TM, om inte annat anges i `bbox-crs`-parametern.


        Exempel: En ruta över Sverige kan representeras i en fråga som

        `bbox=240000,6100000,940000,7700000`.'
      type: array
      minItems: 4
      maxItems: 6
      items:
        type: number
    datetime:
      type: string
      description: 'En datumtid eller ett intervall, öppet eller stängt. Datum och tid ska följa

        RFC 3339. Intervall är två datumtider åtskilda av ett snedstreck. Öppna

        intervall uttrycks med två punkter.


        Exempel:


        * En datumtid: `2018-02-12T23:20:50+01:00`

        * Ett stängt intervall: `2018-02-12T00:00:00+01:00/2018-03-18T12:31:12+01:00`

        * Öppna intervall: `2018-02-12T00:00:00+01:00/..` eller `../2018-03-18T12:31:12+01:00`'
    geometryGeoJSON:
      oneOf:
        - $ref: '#/components/schemas/pointGeoJSON'
        - $ref: '#/components/schemas/multipointGeoJSON'
        - $ref: '#/components/schemas/linestringGeoJSON'
        - $ref: '#/components/schemas/multilinestringGeoJSON'
        - $ref: '#/components/schemas/polygonGeoJSON'
        - $ref: '#/components/schemas/multipolygonGeoJSON'
        - $ref: '#/components/schemas/geometrycollectionGeoJSON'
    pointGeoJSON:
      type: object
      required:
        - type
        - coordinates
      properties:
        type:
          type: string
          enum:
            - Point
        coordinates:
          type: array
          minItems: 2
          items:
            type: number
    linestringGeoJSON:
      type: object
      required:
        - type
        - coordinates
      properties:
        type:
          type: string
          enum:
            - LineString
        coordinates:
          type: array
          minItems: 2
          items:
            type: array
            minItems: 2
            items:
              type: number
    polygonGeoJSON:
      type: object
      required:
        - type
        - coordinates
      properties:
        type:
          type: string
          enum:
            - Polygon
        coordinates:
          type: array
          items:
            type: array
            minItems: 4
            items:
              type: array
              minItems: 2
              items:
                type: number
    multipointGeoJSON:
      type: object
      required:
        - type
        - coordinates
      properties:
        type:
          type: string
          enum:
            - MultiPoint
        coordinates:
          type: array
          items:
            type: array
            minItems: 2
            items:
              type: number
    multilinestringGeoJSON:
      type: object
      required:
        - type
        - coordinates
      properties:
        type:
          type: string
          enum:
            - MultiLineString
        coordinates:
          type: array
          items:
            type: array
            minItems: 2
            items:
              type: array
              minItems: 2
              items:
                type: number
    multipolygonGeoJSON:
      type: object
      required:
        - type
        - coordinates
      properties:
        type:
          type: string
          enum:
            - MultiPolygon
        coordinates:
          type: array
          items:
            type: array
            items:
              type: array
              minItems: 4
              items:
                type: array
                minItems: 2
                items:
                  type: number
    geometrycollectionGeoJSON:
      type: object
      required:
        - type
        - geometries
      properties:
        type:
          type: string
          enum:
            - GeometryCollection
        geometries:
          type: array
          items:
            $ref: '#/components/schemas/geometryGeoJSON'
    collectionsArray:
      type: array
      description: 'Lista med datamängdsidn som ska ingå i sökningen. Bara referensobjekt som ingår

        i något av de angivna datamängderna hämtas.'
      items:
        type: string
    ids:
      type: array
      description: 'Lista med objektidentiteter. När denna parameter används kommer alla andra

        filter som begränsar sökresultatet att ignoreras.'
      items:
        type: string
    searchBody:
      description: Sökkriteriet
      type: object
      allOf:
        - $ref: '#/components/schemas/bboxFilter'
        - $ref: '#/components/schemas/datetimeFilter'
        - $ref: '#/components/schemas/intersectsFilter'
        - $ref: '#/components/schemas/collectionsFilter'
        - $ref: '#/components/schemas/idsFilter'
        - $ref: '#/components/schemas/limitFilter'
        - $ref: '#/components/schemas/queryFilter'
      example:
        bbox:
          - 692230
          - 6364731
          - 692395
          - 6364891
        datetime: 2020-02-15T10:43:10.123+01:00/..
        intersects:
          type: Polygon
          coordinates:
            - - - 692245.372
                - 6364748.369
              - - 692244.93
                - 6364748.573
              - - 692245.372
                - 6364748.369
        collections:
          - '2880'
          - '2901'
        ids:
          - a45eed78-5048-4c08-a4cb-d5845f8e58fb
          - 138867b3-3a6e-4316-bd36-1342497e91ab
        limit: 10
        query:
          feature.typ:
            eq: oversiktsplan
          oversiktsplan.kommunkod:
            eq: '2880'
          oversiktsplan.planhandelse.varde:
            eq: laga kraft
          oversiktsplan.datumPlanhandelse:
            gte: '2020-05-26T00:00:00+02:00'
          oversiktsplan.underlag_producentensIdentitet:
            contains: 4c9326bb-9805-408f-a088-2c12eae764af
          innehallOP.externReferens_producentensIdentitet:
            contains: 4c9326bb-9805-408f-a088-2c12eae764af
          beslutOP.beslutsdokument_producentensIdentitet:
            contains: 4c9326bb-9805-408f-a088-2c12eae764af
    bboxFilter:
      type: object
      description: Hämta bara objekt vars geometri berör den angivna rutan.
      properties:
        bbox:
          $ref: '#/components/schemas/bbox'
    datetimeFilter:
      description: Ett tidsstämpelfilter.
      type: object
      properties:
        datetime:
          $ref: '#/components/schemas/datetime'
    intersectsFilter:
      type: object
      description: Hämta bara objekt vars geometri berör den angivna geometrin.
      properties:
        intersects:
          $ref: '#/components/schemas/geometryGeoJSON'
    collectionsFilter:
      type: object
      description: Hämta bara objekt från den angivna datamängden.
      properties:
        collections:
          $ref: '#/components/schemas/collectionsArray'
    idsFilter:
      type: object
      description: Hämta bara objekt som ingår i den angivna idlistan.
      properties:
        ids:
          $ref: '#/components/schemas/ids'
    limitFilter:
      type: object
      description: Begränsa antal objekt som hämtas i sökningen.
      properties:
        limit:
          type: integer
          minimum: 1
          default: 10
          maximum: 10000
          description: Maximalt antal objekt som hämtas åt gången. Standard är 10.
    queryFilter:
      type: object
      description: Möjliggör attributvis sökning.
      properties:
        query:
          $ref: '#/components/schemas/query'
    query:
      type: object
      description: 'Definiera vilka attribut som ska frågas med vilka operationer. Nyckeln är ett sökbart attribut med punktnotation
        enligt `oversiktsplan-ref-2.0.json`.


        Exempel på sökbara attribut:


        * `feature.typ`

        * `feature.etikett`

        * `oversiktsplan.objektidentitet`

        * `oversiktsplan.beslut`

        * `oversiktsplan.kommunkod`

        * `oversiktsplan.kommunnamn`

        * `oversiktsplan.planhandelse.varde`

        * `oversiktsplan.planhandelse.vardereferens`

        * `oversiktsplan.underlag_producentensIdentitet`

        * `oversiktsplan.dokument_producentensIdentitet`

        * `oversiktsplan.datumPlanhandelse`

        * `oversiktsplan.digitaltUrsprung`

        * `beslutOP.objektidentitet`

        * `beslutOP.beslutandeOrganisation.organisationsnamn`

        * `beslutOP.beslutandeOrganisation.organisationsnummer`

        * `beslutOP.handelse.handelsetyp`

        * `beslutOP.handelse.datum`

        * `beslutOP.paverkar.identitet`

        * `beslutOP.paverkar.objekttyp`

        * `beslutOP.beslutsdokument_producentensIdentitet`

        * `beslutOP.underlagsmaterial_producentensIdentitet`

        * `innehallOP.objektidentitet`

        * `innehallOP.beslut`

        * `innehallOP.innehallstyp.varde`

        * `innehallOP.innehallstyp.vardereferens`

        * `innehallOP.kompletterandeInnehallstyp.varde`

        * `innehallOP.kompletterandeInnehallstyp.vardereferens`

        * `innehallOP.planhandelse.varde`

        * `innehallOP.planhandelse.vardereferens`

        * `innehallOP.datumPlanhandelse`

        * `innehallOP.berorAnnatInnehall`

        * `innehallOP.externReferens_producentensIdentitet`

        * `innehallOP.dokument_producentensIdentitet`'
      additionalProperties:
        $ref: '#/components/schemas/queryProp'
    queryProp:
      description: Kör frågeoperationer mot ett specifikt attribut.
      type: object
      properties:
        eq:
          description: 'Hitta objekt med ett attribut som är lika med det angivna värdet. För strängar

            görs en skiftlägesokänslig jämförelse.'
          nullable: true
          oneOf:
            - type: string
            - type: number
            - type: boolean
        neq:
          description: 'Hitta objekt med ett attribut som *inte* är lika med det angivna värdet. För strängar

            görs en skiftlägesokänslig jämförelse.'
          nullable: true
          oneOf:
            - type: string
            - type: number
            - type: boolean
        gt:
          description: Hitta objekt med ett attribut som är större än det angivna värdet.
          oneOf:
            - type: string
              format: date-time
            - type: number
        lt:
          description: Hitta objekt med ett attribut som är mindre än det angivna värdet.
          oneOf:
            - type: string
              format: date-time
            - type: number
        gte:
          description: Hitta objekt med ett attribut som är större än eller lika med det angivna värdet.
          oneOf:
            - type: string
              format: date-time
            - type: number
        lte:
          description: Hitta objekt med ett attribut som är mindre än eller lika med det angivna värdet.
          oneOf:
            - type: string
              format: date-time
            - type: number
        startsWith:
          description: 'Hitta objekt med ett attribut som börjar med det angivna värdet. Jämförelse

            görs skiftlägesokänsligt.'
          type: string
        endsWith:
          description: 'Hitta objekt med ett attribut som slutar med det angivna värdet. Jämförelse

            görs skiftlägesokänsligt.'
          type: string
        contains:
          description: 'Hitta objekt med ett attribut som innehåller det angivna värdet. Jämförelse

            görs skiftlägesokänsligt.'
          type: string
        in:
          description: 'Hitta objekt med ett attribut som är lika med minst ett av de angivna värdena.

            För strängar görs en skiftlägesokänslig jämförelse.'
          type: array
          items:
            oneOf:
              - type: string
              - type: number
