Wikiprojekti:Kartat/Esimerkkejä

Tälle sivulle voit liittää esimerkkejä karttojen käytöstä Wikipediassa.

muokkaa

Vain koordinaatit

muokkaa

62°14′21″N 25°44′45″E

<maplink zoom="13" longitude="25.745951" latitude="62.2393" />

Lisäksi otsikko

muokkaa

Jyväskylä

<maplink zoom="13" text="Jyväskylä" longitude="25.745951" latitude="62.2393" />

Lisäksi itse kirjoitettu datakerros

muokkaa

Kartan päälle voi piirtää pisteitä, popup-ikkunoita tai alueita GeoJSON-muodossa. Apuna voi käyttää erillistä GeoJSON-muokkainta. Kartographer tukee simplestyle-määrittelyjä ja käyttää Maki-ikoneita (Ne on avattu CC0-lisenssillä).

Alvar Aalto -museo

<maplink zoom="13" text="Alvar Aalto -museo" longitude="25.73099" latitude="62.23342">
{
  "type": "Feature",
  "geometry": { "type": "Point", "coordinates": [25.73099,62.23342] },
  "properties": {
    "title": "[[Alvar Aalto -museo]]",
    "description": "[[File:Alvar_Aalto_Museum_and_Museum_of_Central_Finland.jpg|200px]]",
    "marker-symbol": "museum",
    "marker-size": "large",
    "marker-color": "0050d0"
  }
}
</maplink>

Kohde Wikidatasta, alue OpenStreetMapistä

muokkaa

Kartan päälle voi piirtää alueita tai viivoja, jotka haetaan yhteisöllisesti tehtävästä karttatiedon Wikipediasta, OpenStreetMapistä. Tämän kirjoittamisen hetkellä pistetietoja ei voi vielä hakea Wikidatasta eikä OpenStreetMapistä, vaan pisteiden koordinaatit on syötettävä toistaiseksi itse.

Wikipedian sivulle kirjoitettavaan koodiin kirjoitetaan luettelo Wikidata-kohteista, joita kartalla halutaan esittää.

Alla oleva Jyväskylä-esimerkki ei näytä Jyväskylää vielä tänään, sillä OpenStreetMapissä ei ollut merkitty Jyväskylän hallinnollista rajaa Wikidata-tunnisteella. Tiedon päivittyminen voi kestää parikin päivää. Tutustu OSM-kohteiden merkitsemiseen Wikidata-tunnisteilla.

Jyväskylä

<maplink zoom="11" text="Jyväskylä" longitude="25.745951" latitude="62.2393">
{
  "type": "ExternalData",
  "service": "geoshape",
  "ids": "Q134620"
}
</maplink>

Karttaan voi merkitä myös useita kohteita. Sama esimerkki Porille, Luvialla ja Merikarvialle:

Pori, Luvia ja Merikarvia

<maplink zoom="9" text="Pori, Luvia ja Merikarvia" longitude="21.6578" latitude="61.6133">
{
  "type": "ExternalData",
  "service": "geoshape",
  "ids": "Q180233, Q959006, Q1009215"
}
</maplink>

Haku Wikidatasta, alueet OpenStreetMapistä

muokkaa

Tämä on kaikkein monimutkaisin tapa tuottaa karttoja, mutta myös monipuolisin. Seuraavassa haussa on useita osia:

  • Kohteet haetaan Wikidatasta SPARQL-kyselyllä. Tutustu Wikidata-hakuun!
  • Kohteille haetaan lisätietoa Wikidatasta. Tämä haku tuottaa taulukon, jossa on seuraavat kentät: id, img, fill, title ja description. Simplestyle-määrittelyn mukaisesti kartalle voi piirtää alueita, joilla on väriarvo ja popup-ikkunoita, joissa on tunnus, otsikko ja kuvailu. Popup-ikkunat piirretään tiedoilla Wikidata-kohteen tunnus (id), paikkakunnan nimi Wikipedia-linkkinä (title) ja kunnan vaakunan kuva kuvailutekstin sijaan (description). Alueet piirretään asukasluvun perusteella lasketulla väriarvolla (fill).
  • Kohteiden geometriset muodot haetaan OpenStreetMapistä Wikidata-ID:n perusteella. Tutustu siihen, miten voit lisätä näitä tunnisteita! Tänä syksynä järjestetyllä kurssilla kuntien tunnisteiden lisäämistä tehtiin talkoilla. Tule mukaan!
  • GeoJSONia käyttäen on vielä lisätty alueiden reunaviivan paksuus ja väri.
<maplink>: JSONin Kontrollimerkissä on virhe; se saattaa olla väärin koodattu jäsentäminen epäonnistui
<maplink zoom="5" text="Suomen kunnat" longitude="26.455" latitude="65.118">
{
  "type": "ExternalData",
  "properties": {
        "stroke": "#666",
        "stroke-opacity": 1,
        "stroke-width": 0.4
      },
  "service": "geoshape",
  "query": "SELECT ?id
(SAMPLE(?img) as ?img) 
(SAMPLE(?fill) as ?fill) 
(concat('[[',substr(str(?link),31,100),  ' | ', ?cityLabel, ']]') as ?title)
(concat('[[File:', substr(str(?img), 52, 100), '|200px]]') as ?description)
WHERE {
  ?id wdt:P31 wd:Q856076 .
  OPTIONAL { ?id wdt:P1082 ?population . }
  BIND(if(?population >= 150000, '#dd8888', if(?population >= 100000, '#ddb388', if(?population >= 50000, '#dddd88', if(?population >= 30000, '#9dde87', if(?population >= 10000, '#9be4bf', if(?population >= 0, '#afe9e9', '#a6a6a6')))))) as ?fill)
  OPTIONAL { ?id wdt:P94 ?img . }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language 'fi' .
    ?id rdfs:label ?cityLabel .
    }
  ?link schema:about ?id .
  ?link schema:isPartOf <https://fi.wikipedia.org/> .
} GROUP BY ?id ?cityLabel ?link"
}
</maplink>

Tunnisteiden lisääminen OpenStreetMapissä

muokkaa
  1. Kirjaudu sisään
  2. Mene muokkaustilaan
  3. Etsi muokkaustilassa kohdetta, jonka aiot lisätä. Etsi joko kaupunkia (city) tai hallinnollista rajaa (administrative unit), kun kyseessä on kunta.
  4. Lisää kenttä "Wikipedia" ja valitse kohde alasvetovalikosta. Voit käyttää mitä tahansa kieltä. Wikidata-tunnus löytyy tämän perusteella automaattisesti, sitä ei tarvitse erikseen lisätä.
  5. Muista tallentaa.

Mapframe

muokkaa

Kaikki yllä mainitut kartat voi sijoittaa myös Wikipedia-artikkeliin, kun ominaisuus tulee käytettäväksi. Niitä voi käyttää samoin kuin kuvia: kehyksissä tai ilman, vasempaan, oikeaan reunaan tai keskelle asemoituna ja eri kokoisina ikkunoina.

Artikkeliin sijoitettava kartta ei ole zoomattavissa artikkelisivulla, vaan vasta erillisessä ikkunassa.

Vain koordinaatit

muokkaa
 
Jyväskylä


<mapframe zoom="13" width="400" height="300" text="Jyväskylä" longitude="25.7459" latitude="62.2393" align="right"></mapframe>

Lisäksi itse kirjoitettu datakerros

muokkaa
 
Alvar Aalto -museo


<mapframe zoom="13" width="400" height="300" text="Alvar Aalto -museo" longitude="25.7310" latitude="62.2334" align="right">
 {
   "type": "Feature",
   "geometry": { "type": "Point", "coordinates": [25.73099,62.23342] },
   "properties": {
     "title": "<nowiki>[[Alvar Aalto -museo]]</nowiki>",
     "description": "[[File:Alvar_Aalto_Museum_and_Museum_of_Central_Finland.jpg|200px]]",
     "marker-symbol": "museum",
     "marker-size": "large",
     "marker-color": "0050d0"
   }
 }
</mapframe>

Kohde Wikidatasta, alue OpenStreetMapistä

muokkaa
 
Jyväskylä


<mapframe zoom="8" width="400" height="300" text="Jyväskylä" longitude="25.745951" latitude="62.2393">
{
  "type": "ExternalData",
  "service": "geoshape",
  "ids": "Q134620"
}
</mapframe>

Haku Wikidatasta, alueet OpenStreetMapistä

muokkaa
<mapframe>: JSONin Kontrollimerkissä on virhe; se saattaa olla väärin koodattu jäsentäminen epäonnistui


<mapframe zoom="4" width="400" height="300" text="Suomen kunnat" longitude="26.455" latitude="65.118">
{
  "type": "ExternalData",
  "properties": {
        "stroke": "#666",
        "stroke-opacity": 1,
        "stroke-width": 0.4
      },
  "service": "geoshape",
  "query": "SELECT ?id
(SAMPLE(?img) as ?img) 
(SAMPLE(?fill) as ?fill) 
(concat('[[',substr(str(?link),31,100),  ' | ', ?cityLabel, ']]') as ?title)
(concat('[[File:', substr(str(?img), 52, 100), '|200px]]') as ?description)
WHERE {
  ?id wdt:P31 wd:Q856076 .
  OPTIONAL { ?id wdt:P1082 ?population . }
  BIND(if(?population >= 150000, '#dd8888', if(?population >= 100000, '#ddb388', if(?population >= 50000, '#dddd88', if(?population >= 30000, '#9dde87', if(?population >= 10000, '#9be4bf', if(?population >= 0, '#afe9e9', '#a6a6a6')))))) as ?fill)
  OPTIONAL { ?id wdt:P94 ?img . }
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language 'fi' .
    ?id rdfs:label ?cityLabel .
    }
  ?link schema:about ?id .
  ?link schema:isPartOf <https://fi.wikipedia.org/> .
} GROUP BY ?id ?cityLabel ?link"
}
</mapframe>