Vytvořil jsem vlastní tiskovou službu pomocí ArcPy. Je hostována jako GPServer na mém testovacím serveru. Tisková služba používá konfigurační soubor JSON k načtení dat z MXD. JSON předaný z webové aplikace slouží k nahrazení různých textových prvků. Nejsem si ale jistý, jak zobrazit legendu pomocí JSON předaného z webové mapy. V souboru MXD mám prvek legendy s názvem „Route_Legend“.
V tomto příkladu posílám tiskové službě tento JSON:
layout_Options<SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'legendOptions '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'operationalLayers'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'id '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'WV_Base_Route_Webmap_022019_Comments_1982'</SPAN> <SPAN class="punctuation token">}</SPAN> <SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'copyrightText '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'County of Los Angeles, Bureau of Land Management, Esri, HERE, Garmin, INCREMENT P, USGS, METI/NASA, EPA, USDA | VENOM'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'scaleBarOptions '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">{</SPAN> <SPAN class="string token">'nonMetricUnit'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'esriMiles'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'nonMetricLabel'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'mi '</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">' metricUnit '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">' esriKilometers '</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'metricLabel'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'km '</SPAN> <SPAN class="punctuation token">}</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'customTextElements'</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">{</SPAN> <SPAN class="string token">' Date '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">' 3 / 5 / 2019, 9: 02: 34 AM'</SPAN> <SPAN class="punctuation token">}</SPAN> <SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">' authorText '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">' Web AppBuilder for ArcGIS '</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">' titleText '</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'TEST '</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>Moje otázka zní: Jak načtete data legendy do výstupu? Většinou pracuji se soubory PDF. Provedl jsem online průzkum, ale nenašel jsem žádný příklad, který by používal konfigurační soubor JSON. Konfigurační soubor JSON vypadá takto:
<SPAN class="punctuation token">{</SPAN> <SPAN class="string token">"layer_title"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Route_Title"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"district_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"District"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"scenario_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Scenario"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"version_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Version"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"cis_link_id_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"CISLINKID"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"map_title_fld"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Map_Title"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"out_flds"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"District,Scenario,Version,Map_Title,CISLINKID"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"title_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Číslo trasy"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"district_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Okres"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"scenario_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Scénář: xyz"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"version_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Verze: xyz"</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>