-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathglobal_vars.py
359 lines (316 loc) · 20 KB
/
global_vars.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# -*- coding: utf-8 -*-
"""
***************************************************************************
* Plugin name: GeofoncierEditeurRFU
* Plugin type: QGIS plugin
* Module: Global Vars
* Description: Global variables
* First release: 2018-07-16
* Last release: 2021-03-12
* Copyright: (C) 2019,2020,2021 GEOFONCIER(R), SIGMOÉ(R)
* Email: em at sigmoe.fr
* License: GPL license
***************************************************************************
"""
from qgis.PyQt.QtCore import QVariant
from qgis.core import QgsField
from qgis.PyQt.QtGui import QColor
# Interface messages
mnu_title_txt = "Géofoncier Éditeur RFU"
# Dialog box variables
tl_csv_choice = "Choisir le fichier CSV à importer"
tl_imp_canc = "Import annulé"
txt_csvimp_canc = "Vous n'avez pas sélectionné de fichier CSV ! \nImport annulé !"
txt_csvimp_norfu_canc = "Vous devez d'abord télécharger les données du RFU avant d'effectuer un import du fichier CSV.\nImport CSV annulé !"
tl_dxf_choice = "Choisir le fichier DXF à importer"
txt_dxfimp_canc = "Vous n'avez pas sélectionné de fichier DXF ! \nImport annulé !"
txt_dxfimp_norfu_canc = "Vous devez d'abord télécharger les données du RFU avant d'effectuer un import du fichier DXF.\nImport DXF annulé !"
tl_pt_exst_rfu = "Point proche d'un point déjà présent dans le RFU"
txt_pt_exst_rfu = "<b>Un point importé est proche (dans la tolérance) d'un point RFU !</b>"
inftxt_pt_exst_rfu = "Le point importé aux coordonnées:<br/>{0:.2f},{1:.2f}<br/>se situe à moins de {2:.3f} mètres du point existant n° {3:d} (dans le tolérance du sommet existant) .<br/>Le point nouveau est créé comme <font color=\"firebrick\">Point nouveau à traiter car proche d'un existant</font>, mais il devra être contrôlé pour éventuellement être transformé en nouvelle détermination du point existant."
tl_pt_dbl = "Point doublon dans l'import"
txt_pt_dbl = "<b>Un point semble être en double dans le fichier importé !</b>"
inftxt_pt_dbl = "Le point aux coordonnées:<br/>{0:.2f},{1:.2f}<br/>se situe aux mêmes coordonnées qu'un autre point issu de l'import.<br/>Ce nouveau point est donc considéré comme un doublon et ne sera pas créé!"
tl_ptrfu_dbl = "Point doublon avec un point existant"
txt_ptrfu_dbl = "<b>Un point importé est strictement identique à un point existant dans le RFU !</b>"
inftxt_ptrfu_dbl = "Le point aux coordonnées:<br/>{0:.2f},{1:.2f}<br/>se situe aux mêmes coordonnées que le point n° {2:d} du RFU.<br/>Le point aux coordonnées:\n{0:.2f},{1:.2f} a été éliminé !"
txt_nwpt_exst_rfu = "<b>Le point à créer est proche (dans la tolérance) d'un point RFU !</b>"
inftxt_nwpt_exst_rfu = "Le point à créer se situe à moins de {0:.3f} mètres du point existant n° {1:d} (dans le tolérance du sommet existant) .<br/>Le point nouveau est créé comme <font color=\"firebrick\">Point nouveau à traiter car proche d'un existant</font>, mais il devra être contrôlé pour éventuellement être transformé en nouvelle détermination du point existant."
txt_nwpt_rfu_dbl = "<b>Le point à créer existe déjà dans le RFU !</b>"
inftxt_nwpt_rfu_dbl = "Le point à créer se situe aux mêmes coordonnées que le point n° {0:d} du RFU.<br/>Le point à créer ne sera pas créé !"
tl_nwpt_dbl = "Création d'un point double"
txt_nwpt_dbl = "<b>Le point à créer existe déjà parmi les points nouvellement créés !</b>"
inftxt_nwpt_dbl = "Le point à créer se situe aux mêmes coordonnées qu'un autre point déjà créé.<br/>Ce nouveau point est donc considéré comme un doublon et ne sera pas créé."
tl_ln_exst_rfu = "Point déjà présent dans le RFU"
tl_ln_ints = "Intersection de lignes"
txt_ln_ints = "<b>Deux limites importées s'intersectent !</b>"
inftxt_ln_ints = "La deuxième limite a été placée dans la couche <font color=\"firebrick\">{0:s}</font> et ne sera pas exportée.\nVous devez corriger le problème !"
txt_ln_ints_rfu = "<b>Une limite importée intersecte une limite du RFU !</b>"
inftxt_ln_ints_rfu = "La limite importée a été placée dans la couche <font color=\"firebrick\">{0:s}</font> et ne sera pas exportée.\nVous devez corriger le problème !"
txt_nwln_ints = "<b>La nouvelle limite intersecte une autre nouvelle limite !</b>"
txt_nwln_ints_rfu = "<b>La nouvelle limite intersecte une limite du RFU !</b>"
inftxt_nwln_ints = "La limite en cours de création ne sera pas créée !"
tl_ln_equ = "Limites dupliquées"
txt_ln_equ = "<b>Deux limites importées sont stricitement identiques !</b>"
inftxt_ln_equ = "La deuxième limite a été éliminée !"
txt_ln_equ_rfu = "<b>Une limite importée est strictement identique à une limite du RFU !</b>"
inftxt_ln_equ_rfu = "La limite importée a été élimminée !"
txt_nwln_equ = "<b>La nouvelle limite est strictement identique à une autre nouvelle limite !</b>"
txt_nwln_equ_rfu = "<b>La nouvelle limite est strictement identique à une limite du RFU !</b>"
inftxt_nwln_equ = "La limite en cours de création ne sera pas créée !"
tl_atn = "Attention"
txt_msg_outbbox = "<b>Eléments nouveaux hors zone !</b>"
msg_outbbox_vtx = "Un ou plusieurs sommets nouveaux se trouvent hors de la zone de travail ! <br/>Ils ont été déplacés dans la couche <font color=\"firebrick\">{0:s}</font> et n'ont pas été exportés."
msg_outbbox_edge = "Une ou plusieurs limites nouvelles se trouvent hors de la zone de travail !<br/>Elles ont été déplacées dans la couche <font color=\"firebrick\">{0:s}</font> et n'ont pas été exportées."
msg_obt_det_imp = "Obtention déterminations impossible"
msg_obt_cap_imp = "Obtention paramètres impossible"
msg_obt_cap_ident = "Veuillez vous identifier !"
plot_dif_txt = { "info": [
"Consultation déterminations",
"Cliquez sur un sommet pour voir apparaitre ses déterminations",
"Liste des déterminations du sommet n° %s"
],
"del": [
"Suppression détermination",
"Cliquez sur un sommet, puis cliquez sur la détermination à supprimer dans la liste",
"Liste des déterminations du sommet n° %s - Cliquez sur la ligne de la détermination à supprimer"
]
}
plot_no_del_msg = [ "Détermination non supprimable",
"<b>Une seule détermination valide ! Détermination non supprimée.</b>",
"Le sommet cliqué ne contient qu'une seule détermination valide.<br>Pour supprimer la détermination, vous devez supprimer le sommet."
]
plot_notrfusel_msg = [ msg_obt_det_imp,
"Le point cliqué est un sommet nouveau et non un sommet RFU !\nVous devez cliquer sur un sommet RFU pour pouvoir obtenir ses déterminations."
]
tl_plot_delimp = "Suppression détermination impossible"
tl_plot_delok = "Suppression détermination réussie"
msg_plot_delok = "Suppression de la détermination réalisée avec succès !"
msg_plotcancd_del = "Détermination déjà annulée !\nVeuillez choisir une autre détermination à supprimer."
tl_plot_delimp_sure = "Validation suppression détermination"
msg_plot_delimp_sure = "Vous êtes sur le point de supprimer définitivement la détermination sélectionnée.<br/><b>Validez-vous la suppression définitive de cette détermination ?</b>"
tr_vtxplt_nolinesel_msg = [ "Validation impossible",
"Vous devez sélectionner une ligne dans la liste avant de valider le sommet sélectionné !"
]
tr_vtxplt_valid_msg = [ "Validation OK",
"Sommet aux coordonnées\n{0:.2f},{1:.2f}\nvalidé !"
]
tr_pttoplot_imp_msg = [ "Traitement impossible",
"Vous devez d'abord télécharger les données du RFU !"
]
tr_vtxplt_sel_nolinesel_msg = [ "Sélection sommet RFU impossible",
"Vous devez sélectionner une ligne dans la liste avant de valider le sommet sélectionné !"
]
tr_vtxplt_sel_nonwvtxsel_msg = [ "Sélection sommet RFU impossible",
"Vous devez d'abord sélectionner un sommet nouveau avant de sélectionner un sommet RFU !"
]
tr_vtxplt_notrfuvtx_msg = [ "Mauvais choix de sommet",
"Vous n'avez pas choisi un sommet déjà existant dans le RFU !\nVeuillez choisir un sommet RFU."
]
tr_vtxplt_notnwvtx_msg = [ "Mauvais choix de sommet",
"Vous n'avez pas choisi un sommet nouvellement créé!\nVeuillez choisir un nouveau sommet."
]
tr_vtxplt_confirm_msg = [ "Confirmation",
"Vous êtes sur le point de transformer le sommet nouveau situé aux coordonnées\n{0:.2f},{1:.2f}\nen nouvelle détermination du point RFU n°{2:d}.\nConfirmez-vous cette transformation ?"
]
tr_vtxplt_attest_msg = [ "Confirmation avec attestation de qualité",
"Vous êtes sur le point de transformer le sommet nouveau situé aux coordonnées {0:.2f},{1:.2f} en nouvelle détermination du point RFU n°{2:d}.<br/><b><font color=\"red\">ATTENTION: La distance entre la nouvelle détermination versée et la position actuelle du sommet RFU ({3:.2f} cm) est supérieure à la tolérance admise pour ce sommet RFU ({4:.2f} cm)</font></b>.<br/>En confirmant la création de cette nouvelle détermination, vous ajoutez la mention :<br/><b><center>J'atteste de la qualité de la détermination</center></b><br/>Confirmez-vous cette nouvelle détermination avec votre attestion de qualité ?"
]
tr_vtxplt_canceld_msg = [ "Annulation",
"Opération annulée !"
]
tr_vtxplot_nosamerp_msg = [ "Transformation impossible",
"Le sommet nouveau et le sommet RFU à redéterminer ne sont pas définis dans le même système de coorodnnées !\nLa transformation est donc annulée."
]
tr_vtxplot_transfok_msg = [ "Transformation réalisée avec succès",
"Le sommet nouveau situé aux coordonnées\n{0:.2f},{1:.2f}\na été transformé en nouvelle détermination du point RFU n°{2:d}."
]
multi_doss_canceled_msg = [ "Envoi annulé",
"Vous n'avez pas choisi de référence dossier !\nEnvoi annulé."
]
reinit_msg =[ "Réinitialisation de l'espace de travail",
"La réinitialisation de l'espace de travail provoque l'effacement de tous les objets nouvellement créés dans la zone de travail.<br/><b>Cette action est irréversible.</b><br/>Êtes-vous sûr de vouloir réinitialiser l'espace de travail ?"
]
cutlim_notoldlim_msg = [ "Mauvais choix de limite",
"Vous n'avez pas choisi une limite déjà existante dans le RFU !\nVeuillez choisir une limite RFU déjà existante."
]
cutlim_nolim_msg = [ "Pas de limite sélectionnée",
"Aucune limite RFU n'est sélectionnée !\nVeuillez sélectionner une limite RFU existante (étape 1) avant de valider la création du découpage."
]
cutlim_toomuchlim_msg = [ "Trop de limites RFU sélectionnées",
"Vous avez sélectionné plusieurs limites RFU à découper !\nUne seule limite peut être sélectionnée pour le découpage !\nVeuillez resélectionner une seule limite RFU."
]
cutlim_nonwvtx_msg = [ "Aucun sommet nouveau sélectionné",
"Vous n'avez sélectionné aucun sommet nouveau !\nVeuillez sélectionner au moins un sommet nouveau (étape 2) avant de valider la création du découpage."
]
cutlim_vtxout_msg = [ "Sommet nouveau hors ligne",
"Le sommet {0:d} se situe au-delà des extrémités de la limites RFU !\nCe sommet ne sera pas pris en compte."
]
cutlim_vtxdist_msg = ["Confirmation modification limite RFU",
"Distance des sommets nouveaux à la limite ancienne:<br/>{0:s}<br/><b>Confirmez-vous la suppression de la limite RFU existante et son remplacement par une nouvelle limite passant par ces sommets nouveaux ?</b>"
]
cutlim_end_msg = ["Modification limite RFU terminée",
"Ancienne limite RFU supprimée et nouvelles limites passant par les sommets nouveaux créées !"
]
cutlim_noncre_msg = [ "Aucun sommet nouveau",
"Aucun sommet nouveau ne peut être pris en compte !\nVeuillez sélectionner au moins un sommet nouveau situté proche de la limite (étape 2) avant de valider la création du découpage."
]
msg_dist = "Point n°{0:d}: distance à la limite RFU = {1:.2f}m<br/>"
edge_crea_txt = ["Création d'une nouvelle limite", "Cliquez sur le sommet de départ, puis sur le sommet d'arrivée, modifiez ensuite les données (en bas à gauche), et validez la création en cliquant sur [OK]"]
# Comment default text
cmt_dft = "Versement depuis QGIS - Dossier %s"
# Message for DXF Import block choice
no_blk = "Pas de bloc associé"
# Message for all blocks DXF Import)
all_blks = "Tous les blocs du calque"
# Message for DXF Import limits choice
no_lyr = "Pas de calque associé"
# LineEdit placeholder text for new nature
le_phtxt = "Nature personnalisée"
# Parameters of the layer created for eliminated limits
elimedge_mono = False
elimedge_lname = "Limite éliminée (non exportable)"
elimedge_col = '#ff4201'
elimedge_col2 = '#ffa500'
elimedge_opc = 0.7
elimedge_wdt = 1.0
inter_rfu = "Intersecte une limite du RFU"
inter_new = "Intersecte une limite nouvelle"
# Parameters of the layer created for the vertices out of the bbox when exporting
vtx_outofbbox_lname = "Sommets hors zone"
vtx_outofbbox_color = '#ffb7b7'
vtx_outofbbox_size = 2.5
vtx_outofbbox_opc = 0.7
# Parameters of the layer created for the edges out of the bbox when exporting
edge_outofbbox_lname = "Limites hors zone"
edge_outofbbox_color = '#ffb7b7'
edge_outofbbox_width = 1.0
edge_outofbbox_opc = 0.7
# Parameters for scale check of imported area
scale_limit = 5000
wrong_scale_txt = "L'échelle du permalien est trop grande ! Elle ne doit pas être supérieure à {0:s}."
# Parameter for scale limit in the canvas
cvs_scale_limit = 25000
# List of headers of the capabilities table (in the desired order displayed)
# Each item is a list [index of variable, text of header]
captbl_table_hd = [
[0, "Système géodésique"],
[1, "Classes de précision de rattachement"],
[2, "Représentations planes acceptées"],
[3, "Typologies de nature de sommet"],
[4, "Natures de sommet conseillées"],
[5, "Typologies de nature de limites"],
[6, "Géomètres-experts modificateurs"],
[7, "Tolérance points identiques"]
]
# List of headers of the pt plots table (in the desired order displayed)
# Each item is a list [index of variable, text of header]
ptplottbl_table_hd = [
[0, "Identifiant détermination"],
[1, "GE créateur"],
[2, "Coord. EST"],
[3, "Coord. NORD"],
[4, "Classe de précision"],
[5, "Système de coordonnées"],
[6, "Date détermination"],
[7, "Distance à la position de référence"],
[8, "Tolérance"],
[9, "Attestation de qualité"],
[10, "Changeset associé"],
[11, "Statut"],
[12, "Date d'annulation"]
]
rpl_true = ["True", "Valide", "Oui"]
rpl_false = ["False", "Annulée", "Non"]
st_true_bkgcol = '#b6ffa7'
st_false_bkgcol = '#ffa7a7'
# Modified in v2.1 <<
# List of attributes for vertex and edge layers
vtx_atts = [
QgsField(r"@id_noeud", QVariant.LongLong),
QgsField(r"@version", QVariant.Int),
QgsField(r"som_ge_createur", QVariant.String),
QgsField(r"som_delimitation_publique", QVariant.String),
QgsField(r"som_typologie_nature", QVariant.String),
QgsField(r"som_nature", QVariant.String),
QgsField(r"som_precision_rattachement", QVariant.Int),
QgsField(r"som_coord_est", QVariant.Double),
QgsField(r"som_coord_nord", QVariant.Double),
QgsField(r"som_representation_plane", QVariant.String),
QgsField(r"som_tolerance", QVariant.Double),
QgsField(r"attestation_qualite", QVariant.String),
QgsField(r"point_rfu_proche", QVariant.LongLong)
]
edge_atts = [
QgsField(r"@id_arc", QVariant.LongLong),
QgsField(r"@version", QVariant.Int),
QgsField(r"lim_ge_createur", QVariant.String),
QgsField(r"lim_delimitation_publique", QVariant.String),
QgsField(r"lim_typologie_nature", QVariant.String)
]
elimlyr_atts = [
QgsField(r"pb_type", QVariant.String),
QgsField(r"lim_ge_createur", QVariant.String),
QgsField(r"lim_delimitation_publique", QVariant.String),
QgsField(r"lim_typologie_nature", QVariant.String)
]
# List of lim_typologie_nature hardcoded
lim_typo_nat_vals = ['Limite privée', 'Limite naturelle']
# default som_typologie_nature
dft_som_typo_nat = 'Borne'
# >>
# List of attributes to transfer in case of new vertex to plot
tr_toplot_atts = [
"som_ge_createur",
"som_nature",
"som_precision_rattachement",
"som_coord_est",
"som_coord_nord",
"som_representation_plane"
]
# List of attributes to show when transforming new point to plot
tr_vtx_atts = list(tr_toplot_atts)
tr_vtx_atts.append("point_rfu_proche")
# Default size of dlgs
dlg_show_capabilities_sw = 1000
dlg_show_capabilities_sh = 400
dlg_show_ptplots_sw = 1000
dlg_show_ptplots_sh = 400
dlg_transfo_pt_to_plots_sw = 973
dlg_transfo_pt_to_plots_sh = 400
dlg_cut_oldlimit_sw = 973
dlg_cut_oldlimit_sh = 400
# For debug
pc_cor = { '%20': ' ',
'%21': '!',
'%22': '"',
'%23': '#',
'%24': '$',
'%25': '%',
'%26': '&',
'%27': '\'',
'%28': '(',
'%29': ')',
'%2A': '*',
'%2B': '+',
'%2C': ',',
'%2D': '-',
'%2E': '.',
'%2F': '/',
'%3A': ':',
'%3B': ';',
'%3C': '<',
'%3D': '=',
'%3E': '>',
'%3F': '?',
'%40': '@',
'%5B': '[',
'%5C': '\\',
'%5D': ']',
'%5E': ']',
'%5F': '_',
'%7B': '{',
'%7C': '|',
'%7D': '}',
'%7E': '~'
}