J’ai créé un service d’impression personnalisé à l’aide d’ArcPy. Il est hébergé en tant que GPServer sur mon serveur de test. Le service d’impression utilise un fichier de configuration JSON pour extraire les données du mxd. Le JSON transmis par l’application Web permet de remplacer divers éléments de texte. Cependant, je bloque un peu sur la façon d’afficher la légende à l’aide du JSON transmis depuis la carte Web. Mon MXD contient un élément de légende nommé « Route_Legend ».
Dans cet exemple, j’envoie ce JSON au service d’impression
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>Ma question est la suivante : comment intégrer les données de la légende dans le résultat ? Je travaille le plus souvent avec des PDF. J’ai fait des recherches en ligne, mais je n’ai trouvé aucun exemple utilisant un fichier de configuration JSON. Le fichier de configuration JSON ressemble à ceci :
<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">"Numéro de l’itinéraire"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"district_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"District"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"scenario_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Scénario : xyz"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"version_element_text"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Version : xyz"</SPAN><SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>