forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			214 lines
		
	
	
	
		
			6.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			214 lines
		
	
	
	
		
			6.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import { Feature, FeatureCollection } from "geojson" | ||
|  | 
 | ||
|  | export interface Eli extends FeatureCollection { | ||
|  |     features: EliEntry[] | ||
|  | } | ||
|  | 
 | ||
|  | export interface EliEntry extends Feature { | ||
|  |     properties: { | ||
|  |         /** | ||
|  |          * The name of the imagery source | ||
|  |          */ | ||
|  |         name: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Whether the imagery name should be translated | ||
|  |          */ | ||
|  |         i18n?: boolean | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Type of layer | ||
|  |          */ | ||
|  |         type: "tms" | "wms" | "bing" | "scanex" | "wms_endpoint" | "wmts" | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A rough categorisation of different types of layers. | ||
|  |          * @see https://github.com/osmlab/editor-layer-index/blob/gh-pages/CONTRIBUTING.md#categories
 | ||
|  |          */ | ||
|  |         category?: | ||
|  |             | "photo" | ||
|  |             | "map" | ||
|  |             | "historicmap" | ||
|  |             | "osmbasedmap" | ||
|  |             | "historicphoto" | ||
|  |             | "qa" | ||
|  |             | "elevation" | ||
|  |             | "other" | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A URL template for imagery tiles | ||
|  |          */ | ||
|  |         url: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * The minimum zoom level | ||
|  |          */ | ||
|  |         min_zoom?: number | ||
|  | 
 | ||
|  |         /** | ||
|  |          * The maximum zoom level | ||
|  |          */ | ||
|  |         max_zoom?: number | ||
|  | 
 | ||
|  |         /** | ||
|  |          * explicit/implicit permission by the owner for use in OSM | ||
|  |          */ | ||
|  |         permission_osm?: "explicit" | "implicit" | "no" | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A URL for the license or permissions for the imagery | ||
|  |          */ | ||
|  |         license_url?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A URL for the privacy policy of the operator or false if there is no existing privacy policy for tis imagery. | ||
|  |          */ | ||
|  |         privacy_policy_url?: string | boolean | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A unique identifier for the source; used in imagery_used changeset tag | ||
|  |          */ | ||
|  |         id: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A short English-language description of the source | ||
|  |          */ | ||
|  |         description?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * The ISO 3166-1 alpha-2 two letter country code in upper case. Use ZZ for unknown or multiple. | ||
|  |          */ | ||
|  |         country_code?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Whether this imagery should be shown in the default world-wide menu | ||
|  |          */ | ||
|  |         default?: boolean | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Whether this imagery is the best source for the region | ||
|  |          */ | ||
|  |         best?: boolean | ||
|  | 
 | ||
|  |         /** | ||
|  |          * The age of the oldest imagery or data in the source, as an RFC3339 date or leading portion of one | ||
|  |          */ | ||
|  |         start_date?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * The age of the newest imagery or data in the source, as an RFC3339 date or leading portion of one | ||
|  |          */ | ||
|  |         end_date?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * HTTP header to check for information if the tile is invalid | ||
|  |          */ | ||
|  |         no_tile_header?: { [header: string]: string[] } | null | ||
|  | 
 | ||
|  |         /** | ||
|  |          * 'true' if tiles are transparent and can be overlaid on another source | ||
|  |          */ | ||
|  |         overlay?: boolean | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Available projections | ||
|  |          */ | ||
|  |         available_projections?: string[] | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Attribution | ||
|  |          */ | ||
|  |         attribution?: { | ||
|  |             /** | ||
|  |              * URL | ||
|  |              */ | ||
|  |             url?: string | ||
|  | 
 | ||
|  |             /** | ||
|  |              * Text | ||
|  |              */ | ||
|  |             text?: string | ||
|  | 
 | ||
|  |             /** | ||
|  |              * HTML formatted attribution | ||
|  |              */ | ||
|  |             html?: string | ||
|  | 
 | ||
|  |             /** | ||
|  |              * Whether attribution is required | ||
|  |              */ | ||
|  |             required?: boolean | ||
|  |         } | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A URL for an image, that can be displayed in the list of imagery layers next to the name | ||
|  |          */ | ||
|  |         icon?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A link to an EULA text that has to be accepted by the user, before the imagery source is added. Can contain {lang} to be replaced by a current user language wiki code (like FR:) or an empty string for the default English text. | ||
|  |          */ | ||
|  |         eula?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * A URL for an image, that is displayed in the mapview for attribution | ||
|  |          */ | ||
|  |         "logo-image"?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Customized text for the terms of use link (default is "Background Terms of Use") | ||
|  |          */ | ||
|  |         "terms-of-use-text"?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Specify a checksum for tiles, which aren't real tiles. `type` is the digest type and can be MD5, SHA-1, SHA-256, SHA-384 and SHA-512, value is the hex encoded checksum in lower case. To create a checksum save the tile as file and upload it to e.g. https://defuse.ca/checksums.htm.
 | ||
|  |          */ | ||
|  |         "no-tile-checksum"?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * header-name attribute specifies a header returned by tile server, that will be shown as `metadata-key` attribute in Show Tile Info dialog | ||
|  |          */ | ||
|  |         "metadata-header"?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Set to `true` if imagery source is properly aligned and does not need imagery offset adjustments. This is used for OSM based sources too. | ||
|  |          */ | ||
|  |         "valid-georeference"?: boolean | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Size of individual tiles delivered by a TMS service | ||
|  |          */ | ||
|  |         "tile-size"?: number | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Whether tiles status can be accessed by appending /status to the tile URL and can be submitted for re-rendering by appending /dirty. | ||
|  |          */ | ||
|  |         "mod-tile-features"?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * HTTP headers to be sent to server. It has two attributes header-name and header-value. May be specified multiple times. | ||
|  |          */ | ||
|  |         "custom-http-headers"?: { "header-name": string; "header-value": string }[] | ||
|  | 
 | ||
|  |         /** | ||
|  |          * Default layer to open (when using WMS_ENDPOINT type). Contains list of layer tag with two attributes - name and style, e.g. `\"default-layers\": [\"layer\": { name=\"Basisdata_NP_Basiskart_JanMayen_WMTS_25829\" \"style\":\"default\" } ]` (not allowed in `mirror` attribute) | ||
|  |          */ | ||
|  |         "default-layers"?: { layer: { "layer-name": string; "layer-style": string } }[] | ||
|  | 
 | ||
|  |         /** | ||
|  |          * format to use when connecting tile server (when using WMS_ENDPOINT type) | ||
|  |          */ | ||
|  |         format?: string | ||
|  | 
 | ||
|  |         /** | ||
|  |          * If `true` transparent tiles will be requested from WMS server | ||
|  |          */ | ||
|  |         transparent?: boolean | ||
|  | 
 | ||
|  |         /** | ||
|  |          * minimum expiry time for tiles in seconds. The larger the value, the longer entry in cache will be considered valid | ||
|  |          */ | ||
|  |         "minimum-tile-expire"?: number | ||
|  |     } | ||
|  | } |