<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
span.Shkpostityyli22
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:733741788;
mso-list-type:hybrid;
mso-list-template-ids:-1398406902 67829775 67829785 67829787 67829775 67829785 67829787 67829775 67829785 67829787;}
@list l0:level1
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FI" link="#0563C1" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Moi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Minullakaan ei toiminut eilen tuo RPC-esimerkkisivu (<a href="https://www.oskari.org/examples/rpc-api/rpc_example.html#/">https://www.oskari.org/examples/rpc-api/rpc_example.html#/</a>), mutta nyt toimii ainakin minulla olevan Chrome-selaimen
kautta. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ainakin yksi tapa hyödyntää WMS-rajapintoja Oskarin RPC-metodien kautta on:<o:p></o:p></p>
<ol style="margin-top:0cm" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo1">Julkaista halutut WMS-tasot Oskarin karttajulkaisun kautta eli siis Oskarin karttapalvelun käyttöliittymässä kohdassa (tasot voi tässä kohtaa myös asettaa oletuksena olevan piilossa):<br>
<img border="0" width="585" height="245" style="width:6.0902in;height:2.5555in" id="Kuva_x0020_1" src="cid:image002.jpg@01D7228F.830612C0"><o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo1">Sitten sivulla, johon karttajulkaisu on lisätty voi Javascript-koodissa tasoja tuoda kartalle näkyviin ja piilottaa
<a href="https://oskari.org/api/requests#unreleased/mapping/mapmodule/request/MapModulePlugin.MapLayerVisibilityRequest.md">
<span style="font-family:"Courier New"">MapLayerVisibilityRequest</span>-metodilla</a> sekä säätää niiden läpinäkyvyyttä
<a href="https://oskari.org/api/requests#unreleased/mapping/mapmodule/request/changemaplayeropacityrequest.md">
<span style="font-family:"Courier New"">ChangeMapLayerOpacityRequest</span>-metodilla</a>. Jotta näitä metodeita voi kutsua pitää olla tiedossa karttatason nimeä vastaava id, jonka saa selville
<a href="https://oskari.org/api/bundles#2.1.0/framework/rpc"><span style="font-family:"Courier New"">getAllLayers</span>-funktiolla</a>. Näistä on esimerkki tuolla RPC-esimerkkisivulla
<a href="https://www.oskari.org/examples/rpc-api/rpc_example.html#/MapLayers">Map | Map Layers -kohdassa</a>. Siltä varalta, että ko. esimerkkisivu ei jostakin syystä taas toimi, niin liitän tähän kuvan kaappauksen ja koodia ko. esimerkkisivulta:<br>
<img border="0" width="1052" height="540" style="width:10.9583in;height:5.625in" id="Kuva_x0020_2" src="cid:image005.png@01D7228F.830612C0"><br>
Tuohon karttaupotukseen on siis julkaistu Oskarin käyttöliittymästä kaksi karttatasoa (mahdollisesti WMS-tasoja), sivun keskellä on esimerkit em. mainituista metodien kutsuista ja funktiosta sekä painikkeet, joilla voi kokeilla ko. toiminnallisuutta esimerkkikartan
kanssa ja sivun oikealle puolella on loki painikkeiden käytöstä ja muusta karttainteraktiosta ja tapahtumista. Alimpana lokissa on GetAllLayers-funktion palauttama data (joka siis seurausta ”Show layers in log”-painikkeen painamisesta, keskellä lokia on kaksi
loki merkintää ”toggle visibilty”-painikkeen kahdesta painamisesta eli siis parametreista, jotka on annettu tuon
<span style="font-family:"Courier New"">MapLayerVisibilityRequest</span>-metodin parametrina ja ylimpänä lokissa on ”toggle opacity”-painikkeen painamisesta seuranneen ChangeMapLayerOpacityRequest-metodin kutsuun annetut parametrit.<o:p></o:p></li></ol>
<p class="MsoListParagraph">Tässä siis vielä nuo koodit esimerkkisivulta:<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">channel.getAllLayers(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">function</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> (data) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> channel.log(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#A31515;mso-fareast-language:FI">'GetAllLayers:'</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">, data);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">});<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">channel.getAllLayers(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">function</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> (layers) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:green;mso-fareast-language:FI">// get the bottom layer</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">var</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> layerId = layers[</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#098658;mso-fareast-language:FI">0</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">].id;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">var</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> currentOpacity = layers[</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#098658;mso-fareast-language:FI">0</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">].opacity;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">var</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> newOpacity = currentOpacity !== </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#098658;mso-fareast-language:FI">100</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> ? </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#098658;mso-fareast-language:FI">100</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> : </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#098658;mso-fareast-language:FI">50</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> channel.postRequest(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#A31515;mso-fareast-language:FI">'ChangeMapLayerOpacityRequest'</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">, [layerId, newOpacity]);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">});<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">channel.getAllLayers(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">function</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> (layers) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:green;mso-fareast-language:FI">// get the bottom layer</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">const</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> layerId = layers[</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#098658;mso-fareast-language:FI">0</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">].id;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> </span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:FI">const</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> currentVisibility = layers[</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#098658;mso-fareast-language:FI">0</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">].visible;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"> channel.postRequest(</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:#A31515;mso-fareast-language:FI">'MapModulePlugin.MapLayerVisibilityRequest'</span><span lang="EN-US" style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">, [layerId, !currentVisibility]);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI">});<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:65.2pt;line-height:14.25pt;background:white">
<span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:FI"><o:p> </o:p></span></p>
<p class="MsoNormal">Jos haluat lisää koodiesimerkkejä WMS-rajapinnan ja muutenkin Oskarin RPC-rajapinnan käytöstä, niin osoitteesta
<a href="https://kartat.tampere.fi/leikkipaikkakysely/index.js">https://kartat.tampere.fi/leikkipaikkakysely/index.js</a> löytyy
<a href="https://kartat.tampere.fi/leikkipaikkakysely/">leikkipaikkakysely-sovelluksen</a> javascript-koodi, mutta ko. koodin kirjoittajana tunnustan, että ko. koodi ei ole kyllä erityisen luettavaa…<br>
<br>
<o:p></o:p></p>
<p class="MsoNormal">T. Erno<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="mso-fareast-language:FI">Lähettäjä:</span></b><span style="mso-fareast-language:FI"> Puikkonen Klaus (Ruoka) <ext.klaus.puikkonen@ruokavirasto.fi>
<br>
<b>Lähetetty:</b> perjantai, 26. maaliskuuta 2021 8:31<br>
<b>Vastaanottaja:</b> Mäkinen Erno T <erno.makinen@tampere.fi>; Oskari-user@lists.osgeo.org<br>
<b>Aihe:</b> Re: WMS image ja rpc-rajapinta<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hei,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ei kyllä valitettavasti taida toimia tai en ainakaan saanut tuolla
<a href="https://oskari.org/api/requests#unreleased/mapping/mapmodule/request/addfeaturestomaprequest.md">
AddFeaturesToMapRequest</a> sitä toimimaan, mutta kiitokset (kokeilin myös <a href="https://oskari.org/api/requests#unreleased/mapping/mapmodule/request/addmarkerrequest.md">
AddMarkerRequest</a>, sillä saa piirrettyä, mutta ei taida tähän tarkoitukseen kyllä sopia).
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Courier New";color:#080808;mso-fareast-language:EN-GB">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#0033B3;mso-fareast-language:EN-GB">const
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#248F8F;mso-fareast-language:EN-GB">featureStyle
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#080808;mso-fareast-language:EN-GB">= {<br>
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#871094;mso-fareast-language:EN-GB">image</span><span style="font-size:10.0pt;font-family:"Courier New";color:#080808;mso-fareast-language:EN-GB">: {<br>
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#871094;mso-fareast-language:EN-GB">shape</span><span style="font-size:10.0pt;font-family:"Courier New";color:#080808;mso-fareast-language:EN-GB">:
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#067D17;mso-fareast-language:EN-GB">'https://kartat.tampere.fi/leikkipaikkakysely/img/Tamperelainen_luonto_kohde.png'</span><span style="font-size:10.0pt;font-family:"Courier New";color:#080808;mso-fareast-language:EN-GB">,<br>
</span><i><span style="font-size:10.0pt;font-family:"Courier New";color:#8C8C8C;mso-fareast-language:EN-GB">
</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:#080808;mso-fareast-language:EN-GB">},<br>
};<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Nyt lähinnä kyselisin ylipäätään tukeeko Oskarin rpc-rajapinta wms:ää, tai kuvien piirtämistä kartalle. Eli kannattaako tätä enempää selvitellä ja yritellään pärjäillä muilla vektorin piirtämisillä, esim WFS:n kautta.<o:p></o:p></p>
<p class="MsoNormal">Dokumentaatiosta löytyy kyllä maininta WMS:stä: <a href="https://www.oskari.org/documentation/data/maplayer-definitions">
https://www.oskari.org/documentation/data/maplayer-definitions</a>, mutta esimerkkejä ei oikein löydy.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ps. Tuo esimerkki sivusto on tainnut mennä rikki: <a href="https://www.oskari.org/examples/rpc-api/rpc_example.html">
https://www.oskari.org/examples/rpc-api/rpc_example.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-klasu<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">"Puikkonen Klaus (Ruoka)" <<a href="mailto:ext.klaus.puikkonen@ruokavirasto.fi">ext.klaus.puikkonen@ruokavirasto.fi</a>><br>
<b>Date: </b>Thursday 25. March 2021 at 13.03<br>
<b>To: </b>Mäkinen Erno T <<a href="mailto:erno.makinen@tampere.fi">erno.makinen@tampere.fi</a>>, "<a href="mailto:Oskari-user@lists.osgeo.org">Oskari-user@lists.osgeo.org</a>" <<a href="mailto:Oskari-user@lists.osgeo.org">Oskari-user@lists.osgeo.org</a>><br>
<b>Subject: </b>Re: WMS image ja rpc-rajapinta</span><span style="font-size:12.0pt;color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">Hei,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Kiitokset! Kokeilen<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">-klasu<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Mäkinen Erno T <<a href="mailto:erno.makinen@tampere.fi">erno.makinen@tampere.fi</a>><br>
<b>Date: </b>Thursday 25. March 2021 at 12.55<br>
<b>To: </b>"Puikkonen Klaus (Ruoka)" <<a href="mailto:ext.klaus.puikkonen@ruokavirasto.fi">ext.klaus.puikkonen@ruokavirasto.fi</a>>, "<a href="mailto:Oskari-user@lists.osgeo.org">Oskari-user@lists.osgeo.org</a>" <<a href="mailto:Oskari-user@lists.osgeo.org">Oskari-user@lists.osgeo.org</a>><br>
<b>Subject: </b>VS: WMS image ja rpc-rajapinta</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal">Moi vielä,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Ja tietenkin laitoin epähuomiossa tuohon esimerkkiin png-kuvan
<a href="URL:n">URL:n</a>, joka ei toimi. Kannattaa siis käyttää jotakin toista kuvaa kuten
<a href="https://kartat.tampere.fi/leikkipaikkakysely/img/Tamperelainen_luonto_kohde.png">
https://kartat.tampere.fi/leikkipaikkakysely/img/Tamperelainen_luonto_kohde.png</a>.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">T. Erno<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="mso-fareast-language:FI">Lähettäjä:</span></b><span style="mso-fareast-language:FI"> Mäkinen Erno T
<br>
<b>Lähetetty:</b> torstai, 25. maaliskuuta 2021 12:48<br>
<b>Vastaanottaja:</b> Puikkonen Klaus (Ruoka) <<a href="mailto:ext.klaus.puikkonen@ruokavirasto.fi">ext.klaus.puikkonen@ruokavirasto.fi</a>>;
<a href="mailto:Oskari-user@lists.osgeo.org">Oskari-user@lists.osgeo.org</a><br>
<b>Aihe:</b> VS: WMS image ja rpc-rajapinta</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Moi,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><a href="https://oskari.org/api/requests#unreleased/mapping/mapmodule/request/addfeaturestomaprequest.md">AddFeaturesToMapRequest</a> (ja mahdollisesti
<a href="https://oskari.org/api/requests#unreleased/mapping/mapmodule/request/addmarkerrequest.md">
AddMarkerRequest</a>) RPC-kutsulla saattaisi dokumentaation mukaan olla mielestäni mahdollista. Itse olen lisännyt kartalle graafikon tekemiä suoraan json-koodissa olevia svg-kuvia ilman ongelmia tuon
<a href="https://oskari.org/api/requests#unreleased/mapping/mapmodule/request/addfeaturestomaprequest.md">
AddFeaturesToMapRequest</a>-metodin avulla (ja hämärä muistikuva on, että olisin joskus käyttänyt myös AddMarkerRequest-metodia).
<a href="https://oskari.org/documentation/examples/oskari-style">Oskarin tyylimäärittelyssä</a> on image-ominaisuuden aliominaisuutena shape-ominaisuus, jonka kommenttina, että ” 0-6 for default markers. svg or external icon path”.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Eli siis AddFeaturesToMapRequest-metodin kutsussa olen optionseihin featureStyle-attribuutille antanut arvon
<span style="font-family:"Courier New"">{ 'image': { 'shape': '<svg version="1.1" id="Layer_1" ... </g> </svg>', <mahd. muita attribuutteja kuten sizePx>' } }.</span> Mahdollisesti siis tuohon featureStyle-kohtaan voi antaa parametriksi vaikkapa URL-osoitteen
png-kuvaan eli esim.<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">{ "image":</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New""> {
</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New""> "shape": 'https://kartat.tampere.fi/kkpkysely/img/kartta/Tarkea_kohtaamispaikka.png"</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="font-family:"Courier New"">
</span><span style="font-family:"Courier New"">}</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">}</span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">T. Erno<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="mso-fareast-language:FI">Lähettäjä:</span></b><span style="mso-fareast-language:FI"> Oskari-user <</span><a href="mailto:oskari-user-bounces@lists.osgeo.org"><span style="mso-fareast-language:FI">oskari-user-bounces@lists.osgeo.org</span></a><span style="mso-fareast-language:FI">>
<b>Puolesta </b>Puikkonen Klaus (Ruoka)<br>
<b>Lähetetty:</b> torstai, 25. maaliskuuta 2021 11:59<br>
<b>Vastaanottaja:</b> </span><a href="mailto:Oskari-user@lists.osgeo.org"><span style="mso-fareast-language:FI">Oskari-user@lists.osgeo.org</span></a><span style="mso-fareast-language:FI"><br>
<b>Aihe:</b> [Markkinointiviesti] [Oskari-user] WMS image ja rpc-rajapinta</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Hei,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Käytetään täällä Ruokavirastolla Oskarin rpc-rajapintaa ja nyt pitäisi saada riista aitoja piirreltyä hkp:n kartalle, nämä tulevat png imageina. WFS-haku onnistuu ja saa piirrettyä, ne kun palauttaa noita polygoneja. Olen yrittänyt ohjeita
kaivella ja googlettaa ja kokeilla, muttan en nyt keksi kuinka tuo toteutettaisiin ja onko mahdollista? Nuo on tavalla tai toisella sinne saatava, tarvittaessa jonkun muun karttapalvelun kautta sitten. Oskari on mainio, joten ei olisi ollenkaan haluja korvata
sitä. Kirjoitan nyt tännekin, kun tuota tutkin, toivottavasti ei pahasti väärä osoite.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">-klasu<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</body>
</html>