Help:Extension:Kartographer/bg

The Kartographer extension powers interactive maps on Wikimedia wikis. This page shows techniques for creating dynamic maps by using the Kartographer tags, which embeds maps right in wiki pages, and , which creates links to dynamic maps.

Първи стъпки
 This code will insert a simple interactive map, like the one you see in this section with the subject "Downtown San Francisco"


 * On Wikivoyage and test2wiki, this embedded map is interactive. A single-click is used to pan the map; double-clicking (or clicking the icon in the right corner) opens a full-screen map, which is also interactive.
 * On Wikipedia and other Wikimedia wikis, this embedded maps is static. Single-clicking opens a full-screen map, which is interactive.

Можете да ползвате параметър, за да заобиколите положението на картата по подразбиране (дясно), избирайки дали да стои ляво, по средата или дясно. The attribute  allows for zoom levels between 0 and 19. Zero is the furthest out, 19 the furthest in.

Употреба на
 { "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.3988, 37.8013] }, "properties": { "title": "Exploratorium", "description": "", "marker-symbol": "museum", "marker-size": "large", "marker-color": "0050d0" } }

The content of the tag has to be either empty or a valid GeoJSON with styling, as produced by a GeoJSON editor. Kartographer supports the simplestyle specification with Maki icons (Licensed under Creative Commons Zero). Help:Extension:Kartographer/Icons contains a full list of supported icons.

Frames
Frameless maps are good for insertion as part of a template, whereas framed maps are good for insertion directly into the page, either by hand or by using the visual editor.


 * To insert a map without a frame, add the "frameless" attribute:
 * To add a caption, use the  attribute.

==

също приема допълнителния параметър „text“ за специфициране на текст за препратката вместо координати:

Таг може да съдържа същия geojson, как и.

=== . Без този атрибут, ще се показват координати (пример: maplink zoom=5 latitude=12.3 longitude=45.6/>). Ако картата използва GeoJSON,  е наместен на вълшебната стойност   или. В този случай всеки  ще бъде заменен с увеличаващ се брояч , а   със стойности.

Ако GeoJSON има повече от един брояч, в текста на препратката ще бъде показана стойността на първия. Опционално редакторите могат да добавят суфикс за да имат едновремено повече броячи на страницата. Така  ще има различен брояч от.

Желателно е да се използва различен цвят за всяка отброяваща група. Всички данни, поставени чрез ще се появяват и на всички карти вмъкнати с, освен ако не е използван атрибут.

може да бъде разширен на

Атрибутите,   и   заповедват положението на отскочната карта. Използвайте $alt за текст на подкажвача. Използвайте  за текст на препратката (който и да е текст с валидни уикитагове). Използвайте, за да поставите съдържанието на този таг в номинираната група (вижте по-долу).

Markers
Markers can be added to maps to denote a location. These features are added using the JSON format.

''Note: These examples use. The formatting for  is the same, except that ,  , and   must be specified (otherwise the map on the saved page will be centered on northern Africa).''

Result:

Markers can also contain information such as images and links to articles.

Result (interact with marker to see result):

Wikidata IDs for OSM data can be used to highlight borders using the geoshape service.

Result:

Wikidata IDs can be used to mask the entire map except a specified region.

Result:

Markers can be numbered.

Result:

Markers can use letters.

Result:

Add several map markers in different sizes using a feature collection.

Result:

Add groups of different colored map markers and different counters.

Result:


 * Map markers can use any color that has a RBG value (a quick internet search of "rgb color picker" will show several options).
 * Markers can be one of three different sizes: small, medium or large.
 * GeoJSON that is created elsewhere can be copied (in accordance with licensing and copyright restrictions) and then pasted into maplink (for example)
 * If you are creating maps on Wikivoyage, it might be a good idea to use Groups (see below).
 * If you want to learn more about adding external data to your map, see the External data section.

Групи
За използване в Уикипътешественик съществува нужда от показване на карти, чиито данни са зададени на някое друго място в страницата. На пример, може да съществува повече точки от интерес (POI), указани с тагове, и една съвместна карта отстрани на страницата, показваща всички.

Концептът на групиране позволява на редакторите за споделяне на данни между повече тагове и.

По подразбиране данните в таг или  се показват само за този таг и на ниедно друго място.

Ако или  специфицират атрибут , данните в тези тагове ще бъдат поставени в номинирана група, заедно с всичките останали данни със същото групово име. Така, всички тагове със същото групово наименование показват същите картографски данни, и всеки таг може увеличаващо да добавя данни в групата.

Тагът може да показва и други групи, без оглед на това дали принадлежи на група, при специфициране на атрибут. Могат да бъдат специфицирани повече групови наименования, отделени с запетаи. Наименованието на групата може да съдържа само малки английски букви. Тази матрица показва, които данни ще се показват за всеки таг.

External data
 { "type": "ExternalData", "service": "geoshape", "ids": "Q797" }

In addition to drawing polygons using GeoJSON, you may also get outlines of the well known geographical objects by their Wikidata ID if they are marked as such in the OpenStreetMap database. For example, the Wikidata item for Alaska is Q797, and we can draw it on a map by using the "external data" reference. More than one ID may be specified separated by a comma. To create a mask over the areas of interest, use the "geoshape" service. To invert this and create a mask over everything else, use the "geomask" service.

GeoShapes via Wikidata Query
 { "type": "ExternalData", "service": "geoshape", "query": " SELECT ?id ?head (SAMPLE(?img) as ?img)   (min(?partyId) as ?party)   (if(?party = '0', '#800000', if(?party = '1', '#000080', '#008000')) as ?fill)  (concat(, ?headLabel, ) as ?title)  (concat(?stateLabel, '\\n', '') as ?description) WHERE {    ?id wdt:P31 wd:Q35657 .  ?id wdt:P6 ?head .  ?head wdt:P102 ?party .  BIND(if(?party = wd:Q29468, '0', if(?party = wd:Q29552, '1', '2')) as ?partyId)   SERVICE wikibase:label {    bd:serviceParam wikibase:language 'en' .    ?head rdfs:label ?headLabel .    ?id rdfs:label ?stateLabel .  }  OPTIONAL {    ?head wdt:P18 ?img .  }  ?link schema:about ?head .  ?link schema:isPartOf  . } GROUP BY ?id ?head ?headLabel ?link ?stateLabel "}

While this helps with the simple use cases when the Wikidata ID is well known, sometimes you may want to get a list of IDs as a result of a Wikidata query. A SPARQL query gets a list of all US states in the ID column of the result, and geoshapes service adds the geometrical outlines for each state. All other columns in the SPARQL query result become values in the "properties" object. The "fill" column changes the color of the state. The "title" column shows state governor's name, and "description" has wiki markup to show the state name and the governor's picture. To edit this query, copy the query parameter after the "#" symbol at ''' https://query.wikidata.org/#... ''':

Map data from Commons

 * Further information: 

Map data stored on Commons can be drawn on the map. For example, c:Data:Neighbourhoods/New York City.map:  { "type": "ExternalData", "service": "page", "title": "Neighbourhoods/New York City.map" }

Combining multiple data types
 [ {    "type": "ExternalData", "service": "geoshape", "ids": "Q13518258", "properties": { "stroke": "#ffb100", "stroke-width": 6, } },  {    "type": "Feature", "geometry": { "type": "Point", "coordinates": [4.75566, 44.104498] }, "properties": { "title": "Porte de Castellan" } },  {    "type": "Feature", "geometry": { "type": "Point", "coordinates": [4.75829, 44.10258] }, "properties": { "title": "Porte Léon Roche" } } ]

You can combine ExternalData, Feature, and FeatureCollection together in the same &lt;mapframe> or &lt;maplink> element:

 [ {    "type": "ExternalData", "service": "page", "title": "Neighbourhoods/New York City.map" }, {    "type": "ExternalData", "service": "geoshape", "ids": "Q160409", "properties": { "fill": "#07c63e", "title": "Central Park" } },  {    "type": "Feature", "properties": {"title": "Roosevelt Island", "marker-color": "f01080"}, "geometry": { "type": "Point", "coordinates": [ -73.94511222839355,       40.76734665426719      ]    }  } ]

Map data from Commons can be combined with other types of data:

Styling Wikidata ID elements
 { "type": "ExternalData", "service": "geoline", "ids": "Q2108", "properties": { "title": "Highway I-696", "description": "", "stroke": "#ffb100", "stroke-width": 8 } }

For external data, you can also add styles and titles, using the properties keyword:

The main style keys are: "stroke" (color), "stroke-width", "stroke-opacity", "fill" (color), "fill-opacity".

Overlapping elements
Map elements that overlap are drawn in the order in which they are written in the code. For instance, if a map includes two lines that overlap, the line that is defined first will appear beneath the line that is defined second. The following examples show how this can affect the appearance of the map:

 { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {"fill": "#ff0000","fill-opacity": 0.7,"stroke-width": 0}, "geometry": { "type": "Polygon", "coordinates": [ [ [ 77.926025390625, -25.150257104114733 ], [ 80.14251708984374, -25.150257104114733 ], [ 80.14251708984374, -24.43714786161562 ], [ 77.926025390625, -24.43714786161562 ], [ 77.926025390625, -25.150257104114733 ] ] ] } }, { "type": "Feature", "properties": {"stroke": "#fffa00","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -25.150257104114733 ], [ 80.14251708984374, -24.43714786161562 ] ] } }, { "type": "Feature", "properties": {"stroke": "#000000","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -24.43714786161562 ], [ 80.14251708984374, -25.150257104114733 ] ] } } ] }

The code for the map above includes three elements, all of which use GeoJSON's "feature" functionality. The first feature is a "Polygon" - the red rectangle. This is followed by two "LineString" features. The yellow line is defined first, so it appears beneath the black line. Note that the hierarchy used to draw elements applies regardless of whether the data is raw GeoJSON or comes from a Wikidata ID or Commons data page.

The map below changes the order from that of the first example: the black line is defined first and is thus moved to the bottom of the stack:  { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {"stroke": "#000000","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -24.43714786161562 ], [ 80.14251708984374, -25.150257104114733 ] ] } }, { "type": "Feature", "properties": {"fill": "#ff0000","fill-opacity": 0.7,"stroke-width": 0}, "geometry": { "type": "Polygon", "coordinates": [ [ [  77.926025390625,  -25.150257104114733  ],  [  80.14251708984374,  -25.150257104114733  ],  [  80.14251708984374,  -24.43714786161562  ],  [  77.926025390625,  -24.43714786161562  ],  [  77.926025390625,  -25.150257104114733  ]  ]  ]  } }, { "type": "Feature", "properties": {"stroke": "#fffa00","stroke-width": 5}, "geometry": { "type": "LineString", "coordinates": [ [ 77.926025390625, -25.150257104114733 ], [ 80.14251708984374, -24.43714786161562 ] ] } } ] }

Rendering options
The following table shows how a map can be formatted for display on a wiki page. The table contains two columns: the first shows an interactive map via the tag, and the second showing the rendering of an example image with the same options.

Map languages
Map labels will try to use the language of the wiki where the embedded map is displayed. If that language is not available, then the map will use fallback language as described.


 * 1) Look for value in the requested language
 * 2) Look for value in a language (or languages) that are specifically defined as fallback languages
 * 3) Look for a transliterated value
 * 4) Look for label in the local language
 * 5) If no value is found, display no label.

You can specify the language to use for labels by adding the  followed by the desired language code. e.g. lang="ja" to display labels in Japanese (if available).

Result:. This shows map labels in the languages of the area mapped (essentially opting out of internationalization). This post gives more guidance about when, and why, you might wish to user lang="local"—and generally explains how OpenStreetMap multilingual data works.

Without the  attribute, maps will display in the language of the wiki in which they appear.

Map language fallbacks
Initially these fallbacks follow those found in MediaWiki. The language fallbacks for Maps are stored in fallbacks.json and can be made different than the MediaWiki settings. Individual Wikimedia projects can [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?title=Request%20to%20change%20Maps%20fallback%20for%20XXXX%20Wiki&tags=Maps&description=Please%20provide%20a%20link%20to%20community%20consensus%20for%20this%20change.%0A%0AA%20description%20of%20the%20requested%20fallback%20is%20also%20needed. request a change to this fallback process] in Phabricator. More Technical information can be found in T192701.

Maps use map data, including map label data for all languages, from the open-source mapping project OpenStreetMap. If the map you want to display doesn’t offer labels in the desired language, you can add labels in that language by adding them to OpenStreetMap. To get you started, there is an OpenStreetMap Beginners’ Guide, and guidance about naming conventions.

A community can decide to change its language fallbacks
Read all about changing your language's fallbacks on the Map Improvements project page.