gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / scripts / examples / layout / personalizar_mapa1.py @ 478
History | View | Annotate | Download (1.71 KB)
1 |
|
---|---|
2 |
use_plugin("org.gvsig.app.document.layout2.app.mainplugin")
|
3 |
|
4 |
from gvsig import * |
5 |
from org.gvsig.app.project.documents.layout import DefaultLayoutManager |
6 |
from javax.imageio import ImageIO |
7 |
|
8 |
def main(*args): |
9 |
|
10 |
# Obtenemos la capa activa de la vista activa
|
11 |
capa = currentLayer() |
12 |
|
13 |
# Obtenemos el primer elemento seleccionado de la capa
|
14 |
seleccion = list()
|
15 |
seleccion.extend(capa.getSelection()) |
16 |
entidad = seleccion[0]
|
17 |
|
18 |
# Obtenemos el encuadre del elemento seleccionado,
|
19 |
# el rotulo y el logo a mostrar en el mapa.
|
20 |
encuadre = entidad.geometry().getEnvelope() |
21 |
titulo = "Provincias de %s %s" % (entidad.NAMEUNIT, entidad.NATCODE[2:4]) |
22 |
logo = ImageIO.read(script.getResource("datos/logos/"+ entidad.NATCODE[2:4]+".png")) |
23 |
|
24 |
# Obtenemos el objeto que se corresponde con el proyecto.
|
25 |
proyecto = currentProject()() # Ojo con los dobles perentesis
|
26 |
|
27 |
# Localizamos el mapa de nombre "Plantilla" de entre los documentos del proyecto
|
28 |
plantilla = proyecto.getDocument("Plantilla",DefaultLayoutManager.TYPENAME )
|
29 |
|
30 |
context = plantilla.getLayoutContext() |
31 |
|
32 |
# Nos recorremos todos los elementos del mapa buscando los que hemos etiquetado
|
33 |
for elemento in context.getAllFFrames(): |
34 |
if elemento.getTag() == "Vista": |
35 |
# Ajustamos el encuadre de la vista al del elemento seleccionado
|
36 |
mapContext = elemento.getMapContext() |
37 |
mapContext.getViewPort().setEnvelope(encuadre) |
38 |
mapContext.invalidate() |
39 |
|
40 |
elif elemento.getTag() == "Titulo": |
41 |
# Cambiamos el rotulo del texto que habiamos etiquetado en el mapa
|
42 |
elemento.clearText() |
43 |
elemento.addText(titulo) |
44 |
|
45 |
elif elemento.getTag() == "Logotipo": |
46 |
# Cambiamos la imagen del logotipo
|
47 |
elemento.setImage(logo) |
48 |
|
49 |
context.fullRefresh() |
50 |
|