Message posté par : Francois Hebrard
----------------------------------------
Bonjour,
J'ai créé une carte avec des éléments ponctuels représentés en cercles proportionnels, mais lorsque je passe en mise en page, la légende ne m'indique qu'un seul cercle. J'ai essayé de changer le paramètres Nombre d'éléments de légende dans la symbologie ("Nombre de légende"), mais il me bloque à une seule classe, auriez-vous des idées pour débloquer ou modifier les éléments autrement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=359470#p359470
Pour y répondre : esri_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Nicolas Kulpinski
----------------------------------------
Bonjour à tous,
Afin de continuer en français le sujet sur les problèmes de mémoire traité sur le site ESRI.COMhttps://community.esri.com/t5/python-questions/problem-with-arcpy-for-arcpr… et parce qu'ils n'ont pas vraiment résolu ce problème, voici le mien.
Je dois faire une série d'itération (2209 exactement) avec une requête à chaque fois pour pouvoir tester si les données correspondant à cette requête existe ou pas et si elle existe, alors je fais un calcul sur la sélection.
Jusqu'ici rien de folichon, j'ai quand même réduit le nombre d'itération en regroupant mes requêtes par famille.
Sans regroupement par famille, mon script n'arrive pas au bout et plante après plus de 10 heures de traitement.
Avec le regroupement le script va au bout mais comme l'a constaté le sujet en anglais, il y a bien un ralentissement lorsqu'on utilise la fonction arcpy.management.SelectLayerByAttribute dans une boucle qui a pour effet de passer les requêtes de quelques milisecondes à quelques voire plusieurs longues secondes en fin de parcour du tableau.
Un script qui devrait être exécuté en 10 à 15 minutes maxi prend plus d'une heure à cause de ce BUG d'arcpy
Si vous avez des idées pour le contourner ?
Merci
-----------------
Code :
if option_zone == "true" :
env.workspace = (out_gdb_path)
analyzone = "ANALYZONE"
domName = "AnalyseDensite"
arcpy.CreateDomain_management(out_gdb_path, domName, "Analyse de densité", "TEXT", "CODED")
arcpy.AddMessage("Creation du domaine AnalyseDensite")
domDict = {"D":"Densificaton", "N": "Pas de changements", "L": "Libération de l'espace", "C": "Changement de forme générale", "CD": "Changement de forme et Densification", "CL": "Changement de forme et Libération de l'espace"}
for codes in domDict:
arcpy.AddCodedValueToDomain_management(out_gdb_path, domName, codes, domDict[codes])
arcpy.AddMessage("Creation des codes valeurs du domaine AnalyseDensite")
#Ajout du champ ANADENS
try :
arcpy.AddField_management(analyzone, "ANADENS", "TEXT", "", "", 30, "Analyse de densification", "NULLABLE", "")
arcpy.AddMessage("Ajout du champ ANADENS à la couche ANALYZONE")
except:
arcpy.AddMessage("Ajout IMPOSSIBLE du champ ANADENS à la couche ANALYZONE")
arcpy.AssignDomainToField_management(analyzone, "ANADENS", "AnalyseDensite")
######### ouverture et lecture du fichier
f=open(analyzone_csv,'r')
entete = f.readline().rstrip('\n\r')# Lit l'en-tete
entete_separee = entete.split(";")
ligne= f.readline() #soit f le pointeur vers votre fichier csv,
while ligne!='' : # soit tant que la ligne n'est pas vide
ligne = ligne.replace("\n","")
ligne_separee = ligne.split(";") # entre guillemet le separateur ici un ;
#couche de base
tabsize = len(ligne_separee)
for i in range(tabsize):
if (i>0):
code_base = ligne_separee [0]
code_base_fam = code_base[0:2]
code_evo = entete_separee
code_evo_fam = code_evo[0:2]
code_evo_detail = code_evo[-2:]
code_comp = ligne_separee
if (code_base_fam == code_evo_fam) :
sql_fdm = "FORMDOMI = '"+code_base+"' AND FORMDOMI_1 = '"+code_evo+"'"
analyzone_select = arcpy.management.SelectLayerByAttribute(analyzone, 'NEW_SELECTION', sql_fdm)
arcpy.AddMessage("Selection dans ANALYZONE avec la requete "+ sql_fdm)
#test pour savoir si la selection n'est pas vide
if int(arcpy.GetCount_management(analyzone_select)[0]) > 0:
arcpy.management.CalculateField(in_table=analyzone_select, field="ANADENS", expression="'"+code_comp+"'", expression_type="PYTHON3", code_block="", field_type="TEXT", enforce_domains="NO_ENFORCE_DOMAINS")[0]
arcpy.AddMessage("Calcul du champ ANADENS avec la valeur "+code_comp+"")
else :
arcpy.AddMessage("La selection est vide")
del analyzone_select
gc.collect()
else :
if (code_evo_detail == '00'):
sql_fdm = "FORMDOMI = '"+code_base+"' AND FORMDOMI_1 LIKE '"+code_evo_fam+"%'"
analyzone_select = arcpy.management.SelectLayerByAttribute(analyzone, 'NEW_SELECTION', sql_fdm)
arcpy.AddMessage("Selection de la famille "+code_evo_fam+" dans ANALYZONE avec la requete "+ sql_fdm)
#test pour savoir si la selection n'est pas vide
if int(arcpy.GetCount_management(analyzone_select)[0]) > 0:
arcpy.management.CalculateField(in_table=analyzone_select, field="ANADENS", expression="'"+code_comp+"'", expression_type="PYTHON3", code_block="", field_type="TEXT", enforce_domains="NO_ENFORCE_DOMAINS")[0]
arcpy.AddMessage("Calcul du champ ANADENS avec la valeur "+code_comp+"")
else :
arcpy.AddMessage("La selection est vide")
del analyzone_select
gc.collect()
else :
arcpy.AddMessage("Requête traitée dans la famille "+code_evo_fam+" précédente")
ligne= f.readline() #valeur de la ligne suivante
f.close()
-----------------
et voici le fichier csv parcouru par le script :
-----------------
Code :
xxxx;0000;0100;0101;0102;0103;0104;0105;0106;0107;0108;0109;0200;0201;0202;0203;0300;0400;0401;0402;0403;0404;0405;0406;0407;0500;0501;0502;0503;0600;0601;0602;0603;0604;0700;0701;0702;0703;0704;0705;0800;0801;0802;0900;0901;0902;0903;9900
0000;N;D;D;D;D;D;D;D;D;L;L;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0100;L;N;N;N;N;N;N;N;N;N;N;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0101;L;N;N;N;L;L;L;L;L;L;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0102;L;N;D;N;L;L;L;L;L;L;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0103;L;N;D;D;N;L;L;L;L;L;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0104;L;N;D;D;D;N;L;L;L;L;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0105;L;N;D;D;D;D;N;L;L;L;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0106;L;N;D;D;D;D;D;N;L;L;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0107;L;N;D;D;D;D;D;D;N;L;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0108;D;N;D;D;D;D;D;D;D;N;L;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0109;D;N;D;D;D;D;D;D;D;D;N;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0200;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0201;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0202;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0203;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0300;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;CL;CL;CL;CL;CL;CL;CL;CL;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0400;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0401;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0402;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0403;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0404;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0405;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0406;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0407;C;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;N;N;C;C;C;C;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0500;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0501;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0502;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0503;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;C;C;C;C;C;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0600;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;N;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0601;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;N;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0602;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;N;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0603;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;N;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0604;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;C;N;N;N;N;N;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;CL;N
0700;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;CL;CL;CL;C;C;C;C;N
0701;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;CL;CL;CL;C;C;C;C;N
0702;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;CL;CL;CL;C;C;C;C;N
0703;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;CL;CL;CL;C;C;C;C;N
0704;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;CL;CL;CL;C;C;C;C;N
0705;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;N;N;N;CL;CL;CL;C;C;C;C;N
0800;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;C;C;C;C;N
0801;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;C;C;C;C;N
0802;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;N;N;N;C;C;C;C;N
0900;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;C;C;C;C;C;C;C;C;C;N;N;N;N;N
0901;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;C;C;C;C;C;C;C;C;C;N;N;N;N;N
0902;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;C;C;C;C;C;C;C;C;C;N;N;N;N;N
0903;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;CD;C;C;C;C;C;C;C;C;C;N;N;N;N;N
9900;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N;N
-----------------
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=359183#p359183
Pour y répondre : esri_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : maskabone (andysbhai73(a)gmail.com)
----------------------------------------
Préface : J'ai beaucoup d'expérience dans l'écriture de logiciels (web, mobiles, embarqués, etc.), mais je suis nouveau dans le monde des SIG.
Mon organisation met à niveau une très ancienne installation d'ArcIMS vers la dernière et la meilleure version d'ArcGIS. L'entreprise chargée de la mise en œuvre de cette mise à niveau nous a demandé d'installer ArcGIS Server, Portal(s) et ArcGIS Server Web Adaptor.
Le serveur et le portail sont gérés par quelqu'un d'autre. Depuis que je suis en charge des applications Web, l'adaptateur a atterri sur mes genoux. Cependant, je ne sais pas ce que fait exactement ce logiciel. Le site esri contient une documentation qui l'indique "... transmet les demandes à vos machines ArcGIS Server".
Est-ce juste un proxy inverse ? J'utilise déjà nginx pour envoyer des requêtes Web par proxy à plusieurs autres services que nous exécutons. Il mentionne également "l'autorisation au niveau du Web". Les utilisateurs en charge du montage utiliseront exclusivement le logiciel Arc Desktop sur site. Personne n'a besoin d'un accès Web pour l'édition.
Est-ce que cela aide à afficher des cartes d'une manière ou d'une autre ?. Les documents javascript api suggèrent que je frappe simplement un point de terminaison de repos pour obtenir des données cartographiques. Lequel est ensuite affiché avec les bibliothèques fournies par esri. Donc, mon intuition dit que je n'en ai pas besoin puisque je gère déjà les demandes avec nginx. Mais, je ne suis pas totalement sûr.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=359154#p359154
Pour y répondre : esri_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Florent DUCHESNAY
----------------------------------------
Bonjour,
l'export paramétrable d'une série de cartes dans AGS PRO 2.9 n'est toujours possible qu'en PDF.
Apparemment, comme sur Arcmap, il existe des scripts pour exporter une série de cartes en jpg.
Certains ont-ils testé un script ?
Merci par avance,
Florent DUCHESNAY
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358885#p358885
Pour y répondre : esri_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net