Le traçage dans le UT Editor, dans le UT Asset Manager et via le Web Map Plot Service utilise l'interface d'impression ArcGIS. Celui-ci est basé sur l'interface de périphérique graphique (GDI) de Microsoft Windows.
La GDI comporte certaines limitations qui affectent le traçage avec ArcGIS.
Si vous ne pouvez ou ne voulez pas tracer à l'aide des nouvelles interfaces d'ArcGIS Pro, les articles "Problèmes lors du traçage ..." vous aideront à comprendre les effets et vous donneront des conseils sur la façon d'améliorer le tracé.
Rastérisation de données vectorielles :
La rastérisation est effectuée afin de contourner les déficits de l'interface utilisée au moyen du raster.
Le premier déficit est qu'une couche de dessin et une couche de dessin composite ne peuvent contenir que des données vectorielles ou des données matricielles. Si les deux types de données sont présents, ce sont les données matricielles qui sont traitées. Il en résulte les limitations suivantes pour une représentation optimale :
- la séparation stricte des couches matricielles (en bas de l'ordre d'affichage) et des couches vectorielles (en haut de l'ordre d'affichage),
- la pureté des couches de groupe et
- l'évitement des symboles d'images bitmap, qui sont de petites images matricielles.
Le deuxième déficit est que la transparence est résolue par le tramage. On peut imaginer qu'avec une transparence de 50%, seul un pixel sur deux de la trame est affiché. Par conséquent, l'image sous-jacente transparaît. Les limitations qui en résultent pour un affichage optimal sont :
- l'absence de transparence des couches et
- l'évitement de la transparence des symboles de remplissage de zone.
Précision des calculs :
Pour réduire la consommation de mémoire et accélérer les calculs, l'interface travaille avec des entiers au lieu de nombres à virgule flottante. Dans les calculs, la position des points intermédiaires est arrondie à l'entier approprié suivant.
La précision des calculs dépend de la "densité" des nombres entiers. Celle-ci est déterminée par la résolution (dpi). Celle-ci influence :
- la précision avec laquelle les symboles des images bitmap sont vectorisés,
- la précision de l'alignement des segments de lignes discontinues,
- la précision de la position des textes sur une ligne.
Importance de la résolution (dpi) :
Contrairement à la visualisation sur un écran, où le zoom conduit à une nouvelle vue avec la résolution de l'écran complet, un graphique a une résolution fixe pour l'ensemble de l'image. Le zoom ne fait qu'agrandir la représentation déjà existante et fait apparaître les déficits existants.
Par conséquent, le choix correct de la résolution (dpi) est d'une grande importance tant pour la représentation des images matricielles que pour la précision des calculs. Les deux aspects peuvent être séparés dans une certaine mesure par le commutateur de ratio (resampleRatio).
Conseils pour l'analyse des problèmes :
La fonction d'exportation de carte d'ArcMap est un bon test pour les problèmes de traçage, car les fonctionnalités qui y sont utilisées constituent la base du traçage dans UT. L'approche du test est la suivante : Le problème se produit-il dans la fonction ArcMap de la même manière que dans la fonction UT ?
Pour une déclaration claire, les paramètres doivent être identiques.
Veuillez noter que la vue de la carte dans le bureau (stockée dans la base de données) et la vue de la carte dans le WMPS (stockée dans un MXD préparé) peuvent différer.
Paramètres dans WMPS :
Les paramètres suivants sont décrits pour WMPS 10.2 dans le "Manuel d'utilisation WebMapPlotService" au chapitre 4.3.2.17 "Sortie des paramètres". (Pour les autres versions de WMPS, le numéro de chapitre et le contenu peuvent différer).
Cette section sert à montrer que et comment vous pouvez influencer le comportement du tracé PDF. Cependant, vous devez définir vous-même les paramètres en fonction des circonstances. Nous espérons que cette série d'articles vous aidera à effectuer les réglages optimaux.
<output>
<formats>
<format longname="Portable Document Format (PDF)" value="pdf">
<!-- formatparameters: parameter count ->
<formatparameters value="7">
<!-- polygonizeMarkers: [true|false] ->
<parameter name="polygonizeMarkers" value="true"/>
<!-- imageCompression:[deflate|adaptive|jpeg|lzw|none|rle] ->
<parameter name="imageCompression" value="deflate"/>
<!-- dpi: if specified this value takes precedence over the value within XML request ->
<parameter name="dpi" value="300"/>
<!-- resampleRatio: [best|normal|draft] ->
<parameter name="resampleRatio" value="best"/>
<!-- embedFonts: [true|false] ->
<parameter name="embedFonts" value="true"/>
<!-- colorSpace: [RGB|CMYK] ->
<parameter name="colorSpace" value="RGB"/>
<!-- pictureSymbolOptions: [rasterize|rasterizeIfRasterData|vectorize] ->
<parameter name="pictureSymbolOptions" value="vectorize"/>
</formatparameters>
</format>
<format longname="Portable Network Graphices (PNG)" value="png"/>
<format longname="Tagged Image File Format (TIFF)" value="tif"/>
</formats>
</output>
Script de test pour détecter la rastérisation :
La documentation ArcGIS contient un script Python qui peut être utilisé pour vérifier le tramage d'une carte. Le script peut être utilisé de deux façons :
- Appel dans ArcMap pour la carte courante.
mxd = arcpy.mapping.MapDocument("CURRENT") - Appeler en dehors d'ArcMap pour n'importe quelle carte avec le chemin complet
mxd = arcpy.mapping.MapDocument("C:\Temp\Test.mxd")
import arcpy
def DetectRasterization():
mxd = arcpy.mapping.MapDocument("CURRENT")
df_list = arcpy.mapping.ListDataFrames(mxd)
foundRasterization = False
noneFoundMsg = "No rasterizing layers were detected."
for df in df_list:
lyr_list = arcpy.mapping.ListLayers(mxd, data_frame=df)
for lyr in lyr_list:
if lyr.isRasterizingLayer or lyr.supports("BRIGHTNESS"):
foundRasterization = True
if lyr.isGroupLayer and lyr.transparency > 0:
print "In data frame '" + df.name + "', the group layer '" + \
lyr.longName + "' is a rasterizing layer:\r",
print "\tVisibility is " + str(lyr.visible) + ".\n" + \
"\tTransparency is " + str(lyr.transparency) + " percent.\n"
elif not lyr.isGroupLayer:
print "In data frame '" + df.name + "', the layer '" + \
lyr.longName + "' is a rasterizing layer:\r",
if lyr.transparency > 0:
print "\tVisibility is " + str(lyr.visible) + ".\n" + \
"\tTransparency is " + str(lyr.transparency) + " percent.\n"
else:
print "\tVisibility is " + str(lyr.visible) + ".\n" + \
"\tTransparency is 0 percent, but the layer may be a\n" + \
"\traster layer or contain rasterizing symbology such\n" + \
"\tas bitmap picture symbols.\n"
del lyr
del lyr_list
del df
if not foundRasterization:
print noneFoundMsg
del df_list
del mxd
DetectRasterization()
Documentation ArcGIS :
La sélection suivante de liens vers la documentation ArcGIS peut aider à approfondir ce sujet.
A propos de l'impression d'une carte
Vue d'ensemble de la conception de cartes pour des performances optimales
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.