[Gvsig_usuarios] rellenar campos con una sintaxis string

Vicent domenech_vicmat en gva.es
Mar Nov 20 10:17:14 CET 2012


Hola Pau,

Creo que con el último mensage de Joaquín queda bastante claro, 
resumiendo sería algo así:

     1) Instalar el último build de gvSIG 2058 desde los siguientes links:

             windows: 
http://downloads.gvsig.org/download/gvsig-desktop/dists/2.0.0/builds/2058/gvSIG-desktop-2.0.0-2058-testing-win-x86-standard-withjre.exe
             linux: 
http://downloads.gvsig.org/download/gvsig-desktop/dists/2.0.0/builds/2058/gvSIG-desktop-2.0.0-2058-testing-lin-x86-standard-withjre.bin

     2) Proceder a su instalación, dependiendo del SO, y desde la 
instalación personalizada se añade únicamente el complemento de Scripting.

     3) Inicar gvSIG.

     4) Se accede al compositor desde Menú / Herramientas / Scripting / 
Scripting Composer.

     5) Creamos un nuevo script desde File / New, se pone el nombre 
deseado; Type y Language lo dejamos por defecto.

     6) Machacamos el texto que aparece por defecto por el script que ha 
elaborado Víctor.

     7) Se guardan los cambios y se ejecuta el Script desde File / Run. 
Debería resolver lo que pides. Siempre teniendo el shape cargado en la 
vista y seleccionado como activo.

Saludos,
Vicent


On 19/11/12 21:54, Joaquin del Cerro wrote:
> El 19/11/12 14:15, pau maudos bonjoch escribió:
>>> si lo hago tal y como me has escrito (el gestor de complementos, menú
>>> Herramientas/Administrador de complementos y luego en la instalación
>>> standard selecciona Scripting Framework).
>>> sí que encuentro el pluguin pero no me deja seleccionarlo y seguir, no
>>> solo eneste pluguin sino en ninguno, por eso preguntaba si lo podia
>>> descargar y instalarlo yo mismo (desde archivo...)
>>>
> Hola Pau,
> no entiendo muy bien lo que intentas decir sobre que no lo puedes instalar desde
> el administrador de complementos. Si puedieses darnos algo mas de informacion
> sobre que has intentado hacer te lo agradeceria ya que podemos intentar ver
> bajo que circunstancias falla esto.
>
> Respecto a de donde descargarte un paquete para la 2.0, puedes hacerlo desde
> aqui:
>
> https://gvsig.org/web/projects/gvsig-desktop/official/gvsig-2.0/complementos
>
> Y luego desde el administrador de complementos usar la opcion de seleccionar
> archivo.
>
>> lo he descargado de www.gvsig.org y aunque en la pagina insiste en que la
>> versión está en prueba si que se encuentra la herramienta, pero me aparece
>> error y no puedo acceder a ella.
>>
> Pues no se que es lo que te has podido desdecargar, si pudieses indicar
> desde que parte de la web te lo agradeceria.
>
>>
>> luego he provado de descargar el gvsig 2.0 y me da error:
> Uhmmmm, vale, entiendo que antes te referias todo sobre la 1.X.
> En la 1.12 ( y me parece recordar en la 1.11), viene instalado el
> plugin de scripting por defecto, por eso no te deja instalarlo
> desde el administrador de complementos, ya que ya esta instalado-
>
>
>> JAVA.LANG.NULLPOINTEREXCEPTION
>> Errors in initialization of application. Can't initialize extension
>> 'org.gvsig.metadata.app.extension.MetadataPreferencesExtension'. Can't
>> initialize extension 'org.gvsig.metadata.app.extension.MetadataExtension'.
>> postInitialize of extension
>> 'org.gvsig.educa.thematicmap.app.viewer.ThematicMapExtension' failed
>> postInitialize of extension 'org.gvsig.app.extension.TableExtension' failed
>> postInitialize of extension 'org.gvsig.app.extension.LayoutMainExtension'
>> failed postInitialize of extension 'org.gvsig.editing.CADExtension' failed
>> org.gvsig.andami.Launcher$LaunchException: Errors in initialization of
>> application. Can't initialize extension
>> 'org.gvsig.metadata.app.extension.MetadataPreferencesExtension'. Can't
>> initialize extension 'org.gvsig.metadata.app.extension.MetadataExtension'.
>> postInitialize of extension
>> 'org.gvsig.educa.thematicmap.app.viewer.ThematicMapExtension' failed
>> postInitialize of extension 'org.gvsig.app.extension.TableExtension' failed
>> postInitialize of extension 'org.gvsig.app.extension.LayoutMainExtension'
>> failed postInitialize of extension 'org.gvsig.editing.CADExtension' failed
>>      org.gvsig.andami.Launcher.addError(Launcher.java:283)
>>      org.gvsig.andami.Launcher.addError(Launcher.java:290)
>>      org.gvsig.andami.Launcher.initializeExtensions(Launcher.java:1272)
>>      org.gvsig.andami.Launcher.access$000(Launcher.java:196)
>>      org.gvsig.andami.Launcher$3.run(Launcher.java:470)
>>      java.awt.event.InvocationEvent.dispatch(Unknown Source)
>>      java.awt.EventQueue.dispatchEventImpl(Unknown Source)
>>      java.awt.EventQueue.access$000(Unknown Source)
>>      java.awt.EventQueue$3.run(Unknown Source)
>>      java.awt.EventQueue$3.run(Unknown Source)
>>      java.security.AccessController.doPrivileged(Native Method)
>>      java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
>>      java.awt.EventQueue.dispatchEvent(Unknown Source)
>>      org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:67)
>>      java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>      java.awt.EventDispatchThread.run(Unknown Source)
>> java.lang.NullPointerException
>> java.lang.NullPointerException
>> java.lang.NullPointerException: null
>>      org.gvsig.app.project.documents.layout.DefaultLayoutManager.getDefinition(DefaultLayoutManager.java:374)
>>      org.gvsig.tools.persistence.impl.DefaultFactories.get(DefaultFactories.java:75)
>>      org.gvsig.tools.persistence.impl.AbstractPersistenceManager.getDynObjectDefinition(AbstractPersistenceManager.java:127)
>>      org.gvsig.andami.PluginServices.getPluginProperties(PluginServices.java:732)
>>      org.gvsig.scripting.app.extension.ScriptingExtension.execute(ScriptingExtension.java:53)
>>      org.gvsig.andami.actioninfo.impl.DefaultActionInfo.execute(DefaultActionInfo.java:215)
>>      org.gvsig.andami.actioninfo.impl.DefaultActionInfo.actionPerformed(DefaultActionInfo.java:245)
>>      javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
>>      javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
>>      javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
>>      javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>>      javax.swing.AbstractButton.doClick(Unknown Source)
>>      javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
>>      javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
>> Source)
>>      java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
>>      java.awt.Component.processMouseEvent(Unknown Source)
>>      javax.swing.JComponent.processMouseEvent(Unknown Source)
>>      java.awt.Component.processEvent(Unknown Source)
>>      java.awt.Container.processEvent(Unknown Source)
>>      java.awt.Component.dispatchEventImpl(Unknown Source)
>>      java.awt.Container.dispatchEventImpl(Unknown Source)
>>      java.awt.Component.dispatchEvent(Unknown Source)
>>      java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
>>      java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
>>      java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>>      java.awt.Container.dispatchEventImpl(Unknown Source)
>>      java.awt.Component.dispatchEvent(Unknown Source)
>>      java.awt.EventQueue.dispatchEventImpl(Unknown Source)
>>      java.awt.EventQueue.access$000(Unknown Source)
>>      java.awt.EventQueue$3.run(Unknown Source)
>>      java.awt.EventQueue$3.run(Unknown Source)
>>      java.security.AccessController.doPrivileged(Native Method)
>>      java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
>>      java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
>>      java.awt.EventQueue$4.run(Unknown Source)
>>      java.awt.EventQueue$4.run(Unknown Source)
>>      java.security.AccessController.doPrivileged(Native Method)
>>      java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
>>      java.awt.EventQueue.dispatchEvent(Unknown Source)
>>      org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:67)
>>      java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>      java.awt.EventDispatchThread.run(Unknown Source)
>> java.lang.NullPointerException
>> java.lang.NullPointerException
>> java.lang.NullPointerException: null
>>      org.gvsig.app.project.documents.layout.DefaultLayoutManager.getDefinition(DefaultLayoutManager.java:374)
>>      org.gvsig.tools.persistence.impl.DefaultFactories.get(DefaultFactories.java:75)
>>      org.gvsig.tools.persistence.impl.AbstractPersistenceManager.getDynObjectDefinition(AbstractPersistenceManager.java:127)
>>      org.gvsig.andami.PluginServices.getPluginProperties(PluginServices.java:732)
>>      org.gvsig.scripting.app.extension.ScriptingExtension.execute(ScriptingExtension.java:53)
>>      org.gvsig.andami.actioninfo.impl.DefaultActionInfo.execute(DefaultActionInfo.java:215)
>>      org.gvsig.andami.actioninfo.impl.DefaultActionInfo.actionPerformed(DefaultActionInfo.java:245)
>>      javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
>>      javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
>>      javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
>>      javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>>      javax.swing.AbstractButton.doClick(Unknown Source)
>>      javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
>>      javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
>> Source)
>>      java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
>>      java.awt.Component.processMouseEvent(Unknown Source)
>>      javax.swing.JComponent.processMouseEvent(Unknown Source)
>>      java.awt.Component.processEvent(Unknown Source)
>>      java.awt.Container.processEvent(Unknown Source)
>>      java.awt.Component.dispatchEventImpl(Unknown Source)
>>      java.awt.Container.dispatchEventImpl(Unknown Source)
>>      java.awt.Component.dispatchEvent(Unknown Source)
>>      java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
>>      java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
>>      java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>>      java.awt.Container.dispatchEventImpl(Unknown Source)
>>      java.awt.Component.dispatchEvent(Unknown Source)
>>      java.awt.EventQueue.dispatchEventImpl(Unknown Source)
>>      java.awt.EventQueue.access$000(Unknown Source)
>>      java.awt.EventQueue$3.run(Unknown Source)
>>      java.awt.EventQueue$3.run(Unknown Source)
>>      java.security.AccessController.doPrivileged(Native Method)
>>      java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
>>      java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
>>      java.awt.EventQueue$4.run(Unknown Source)
>>      java.awt.EventQueue$4.run(Unknown Source)
>>      java.security.AccessController.doPrivileged(Native Method)
>>      java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
>>      java.awt.EventQueue.dispatchEvent(Unknown Source)
>>      org.gvsig.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:67)
>>      java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>      java.awt.EventDispatchThread.run(Unknown Source)
>>
>
> Siempre que comuniques un error estaria bien que adjuntases el fichero gvSIG.log
> que hay en la carpeta de tu usuario/gvSIG, nos ayuda a saber que es lo que
> puede estar pasando con mas precision, pero por lo que comentas es muy probable
> que te hayas bajado un gvSIG 2, y durante el proceso de instalacion hayas
> marcado para instalar todos los paquetes. Hay algunos paquetes que se encuentran
> en fase de desarrollo y no funcionan correctamente y otros que simplemente
> son incompatibles entre si. Te recomiendo que instales unicamente los paquetes
> que vienen seleccionados cuando le das a instalacion personalizada y añadas
> unicamente el de scripting. Las pruebas sobre la 2, las estamos haciendo con
> esa configuracion y suele funcionar bastante bien.
>
>
>
>> ¿ Puedo descargar un paquete o similar de gvsig srcipting framework para
>> gvsig 1.11 ?
> El plugin de scripting viene de base con gvSIG 1.11, no recuerdo si viene o
> no activado, pero tiene muchas limitaciones, carece de ningun tipo de interface
> de usuario para poder crear tus scripts y no hay nada de documentacion sobre
> el. Ademas de que la solucion que te ha apuntado Victor es unicamente para
> la version 2 de gvSIG (si no esta activado en la 1.11 puedes hacerlo desde
> las preferencias).
>
>> ¿de dónde te lo descargaste tu?
> Victor, se ha ofrecido a mantener y potenciar el plugin de scripting para
> gvSIG 2.0, en general, todo lo que cuenta lo va probando sobre el ultimo
> build de desarrollo de gvSIG 2.0 con el plugin de scripting instalado.
>
> Puedes descargarte esa version de gvSIG desde:
>
> https://gvsig.org/web/projects/gvsig-desktop/official/gvsig-2.0/descargas
>
> siguiendo el enlace de "ultimo build en desarrollo". Actualmente el ultimo
> build es el 2058, y para instalar te recomendaria:
>
> - gvSIG-desktop-2.0.0-2058-testing-lin-x86-standard-withjre.bin
> - gvSIG-desktop-2.0.0-2058-testing-win-x86-standard-withjre.exe
>
> Segun estes en windows o linux.
>
> Un saludo
> Joaquin
>
>
>
>>>
>>> gracias
>>>
>>>
>>> 2012/11/19 Victor Acevedo <vacevedo.gvsig.org en gmail.com>
>>>
>>>> El 19/11/12 10:04, pau maudos bonjoch escribió:
>>>>
>>>>> otra cosa como lo has ejecutado, ¿mediante un compliador de Phyton?
>>>> ¿Cual?
>>>> Hola de nuevo,
>>>>
>>>> a esto no te he respondido. Python es un lenguaje interpretado, no
>>>> necesita compilarse. Lo que necesitas es tener instalado el intérprete.
>>>> Puedes obtener más información desde la página del proyecto [1].
>>>> De todas formas, verás que la extensión de scripting lleva incorporado
>>>> un terminal desde el que puedes hacer pruebas y tiene la ventaja de
>>>> estar integrado en gvSIG, por lo que puedes acceder a lo que tengas
>>>> cargado desde este terminal.
>>>>
>>>> Saludos,
>>>> Victor Acevedo
>>>>
>>>>
>>>> [1] http://www.python.org/
>>>>
>>>>
>>>>> Saludos y gracias de antemano,
>>>>>
>>>>> Pau
>>>>>
>>>>> PD: Si a otros usuarios se os ocurre como hacerlo promonerlo!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2012/11/16 Victor Acevedo <vacevedo.gvsig.org en gmail.com>
>>>>>
>>>>>> El 16/11/12 12:25, pau maudos bonjoch escribió:
>>>>>>
>>>>>>    Hola soy Pau
>>>>>>> Estoy trabajando con el código de SIOSE y quiero rellenar otro campo
>>>> según
>>>>>>> una serie de parámetros que cito a posteriormente (un poco más abajo).
>>>>>>> Este codigo corresponde al SIOSE que catalogó los usos del suelo de
>>>>>>> España,
>>>>>>> pero la lió muchisima al querer poner demasiada información en un
>>>> mismo
>>>>>>> poligono.
>>>>>>>
>>>>>>> El codigo es algo parecido a esto:
>>>>>>>
>>>>>>> I(90FDPpl_05FDC_05SNE)
>>>>>>> AAR(80EDFva_10CHLsc_10PRDsc)
>>>>>>> A(80MTR_10FDPpl_10SNE)
>>>>>>> FDPpl
>>>>>>> A(70FDC_30MTR)
>>>>>>> AAR(70EDFva_10PRDsc_10CHLsc_**10FDC)
>>>>>>> A(85FDPpl_10FDC_05SNE)
>>>>>>> FDC
>>>>>>> I(40PRDsc_40CHLsc_10FDC_**05EDFva_05VAP)
>>>>>>> A(60MTR_40FDPpl)
>>>>>>> I(35EDFvd_35UEN(45ZAU_35EDFvd_**20VAP)_15PAG(55SNE_35EDFnv_**
>>>>>>> 05OCT_05VAP)_15PRDsc)
>>>>>>> I(50PST_25ECM(75OCT_15ZAU_**10VAP)_25SNE)
>>>>>>> A(85CNFpl_15MTR)
>>>>>>> I(50FDC_40PRDsc_10EDFva)
>>>>>>> A(60MTR_30PST_10SNE)
>>>>>>> UEN(40EDFvd_40ZAU_20VAP)
>>>>>>> NRV(85VAP_15ZAU)
>>>>>>> A(70MTR_30SNE)
>>>>>>> I(75PRDsc_25IAS(80EDFnv_20ZEV)**)
>>>>>>> A(55MTR_30FDC_15SNE)
>>>>>>> A(80CNFpl_20MTR)
>>>>>>> I(70FDCfr_30ACU)
>>>>>>> I(55PRDsc_35MTRpc_05FDPpl_**05SNE)
>>>>>>> A(65MTRpc_35FDC)
>>>>>>> AAR(60EDFva_20PRDsc_10CHLsc_**10FDC)
>>>>>>> A(60FDC_30MTR_10SNE)
>>>>>>> I(35PRDsc_30LOCsc_25IAS(**50EDFnv_25VAP_20SNE_05ZAU)_**10EDFva)
>>>>>>> I(40PRDsc_25EDFva_25IAS(**80EDFnv_20VAP)_10UEN(80EDFvd_**20SNE))
>>>>>>> EDU(35OCT_35SNE_15EDFea_15VAP)
>>>>>>> I(60AAR(90EDFva_05PRDsc_**05CHLsc)_40PRDsc)
>>>>>>> I(35PRDsc_20CHLsc_20FDC_**10EDFva_10EDFnv_05VAP)
>>>>>>> I(80PRDsc_10CHLsc_05FDC_05VAP)
>>>>>>> AAR(70EDFva_10FDC_10CHLsc_**10PRDsc)
>>>>>>> I(40MTR_40FDC_20EDFva)
>>>>>>> FDC
>>>>>>> I(25AAR(EDFva)_25CHLsc_**25PRDsc_15FDC_10EDFva)
>>>>>>> I(30PRDsc_30EDFva_20AAR(**90EDFva_05PRDsc_05CHLsc)_**
>>>>>>> 10UEN(90EDFvd_05ZAU_05VAP)_**05FDC_05LOCsc)
>>>>>>> PAG(80ZEV_15EDFnv_05VAP)
>>>>>>> I(65PRDsc_20CHLsc_10VAP_05FDC)
>>>>>>> I(30PRDsc_30CHLsc_15EDFva_**10MTR_10PAG(80ZEV_20EDFnv)_**05VAP)
>>>>>>> A(75FDC_15PRDsc_10FDPpl)
>>>>>>> A(55MTR_40FDPpl_05SNE)
>>>>>>> A(70MTR_25CNFpl_05SNE)
>>>>>>> I(65PRDsc_25CHLsc_05FDC_**05EDFva)
>>>>>>> A(70CNFpl_15FDPpl_15MTR)
>>>>>>> I(60PRDsc_20CHLsc_10FDC_**05EDFnv_05VAP)
>>>>>>> I(65PRDsc_15FDC_10MTRct_05VAP_**05EDFva)
>>>>>>> I(55PRDsc_30FDC_10FDPpl_05VAP)
>>>>>>> PRDsc
>>>>>>> I(55EDFva_30PRDsc_15FDC)
>>>>>>> EDP(60ZAU_15SNE_10EDFea_10VAP_**05OCT)
>>>>>>> I(65PRDsc_30CHLsc_05SNE)
>>>>>>> PAG(70ZEV_15ZAU_10EDFnv_05VAP)
>>>>>>> AAR(65EDFva_30PRDsc_05CHLsc)
>>>>>>> I(90UEN(75EDFea_10SNE_10VAP_**05ZAU)_10UCS(90EDFva_10ZAU))
>>>>>>> ...
>>>>>>> ...
>>>>>>> ...
>>>>>>> estos son los codigos que pertenecen a distintos poligonos...
>>>>>>>
>>>>>>>
>>>>>>> cada grupo de tres letras le corresponde un uso distinto.
>>>>>>> yo quisiera rellenar en otra columna la siguiente operación
>>>>>>> - haciendo una suma del % del uso predominante (se que este es muy
>>>>>>> complicado, debido a que el codigo es muy complejo...)
>>>>>>> - o bién, otro caso que se aproximaria al objetivo es que se muestren
>>>> en
>>>>>>> otro campo las tres primeras letras MAYUSCULAS, dentro de cada
>>>> parentesis
>>>>>>> si  contienen parentesis, sino las tres que hay en el poligono en
>>>>>>> cuestion.
>>>>>>> El problema es que antes del parentesis puedes encontrarte des de una
>>>>>>> letra
>>>>>>> o tres.
>>>>>>>
>>>>>>> Al final lo deje, el codigo pudo conmigo, si pudieras darle un par de
>>>>>>> vueltas al asunto me harias un gran favor.
>>>>>>> Sé que no es tarea fácil, pero seria de muy gran ayuda. Además,
>>>> pareces
>>>>>>> que
>>>>>>> dominas el tema a la perfección.
>>>>>>>
>>>>>>> gracias de antemano
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Pau
>>>>>>>
>>>>>>>
>>>>>>> PD: perdon en el anterior no tenia asunto
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Hola Pau,
>>>>>>
>>>>>> no he entendido tu primera intención, pero la aproximación
>>>>>>
>>>>>>
>>>>>>> - o bién, otro caso que se aproximaria al objetivo es que se muestren
>>>> en
>>>>>> otro campo las tres primeras letras MAYUSCULAS, dentro de cada
>>>> parentesis
>>>>>> si  contienen parentesis, sino las tres que hay en el poligono en
>>>> cuestion.
>>>>>> El problema es que antes del parentesis puedes encontrarte des de una
>>>> letra
>>>>>> o tres.
>>>>>>
>>>>>> no es tan complicada mediante un script. Si lo he entendido bien.
>>>>>> Necesitas las 3 primeras ocurrencias de letras en mayúsculas después
>>>> de un
>>>>>> paréntesis, y si no hay paréntesis, lo que sea que haya en la cadena.
>>>>>>
>>>>>> Lo que he hecho es copiar los datos que adjuntas en el correo en un
>>>>>> archivo que he dejado en '/tmp/codigos.txt' y montar el siguiente
>>>> script.
>>>>>> Está hecho deprisa y corriendo pero te dará una idea de lo que pudes
>>>> hacer.
>>>>>> {{{
>>>>>>
>>>>>> import re
>>>>>>
>>>>>> def main():
>>>>>>
>>>>>>     f = file("/tmp/codigos.txt", "r")
>>>>>>
>>>>>>     #recorre las lineas del archivo
>>>>>>     for index, line in enumerate(f.readlines()):
>>>>>>       print "%s, %s"%(index,line)
>>>>>>
>>>>>>       #Si no encuentra un "(" devuelve el codigo
>>>>>>       if line.find("(") ==-1:
>>>>>>         print line
>>>>>>         continue
>>>>>>       patron = re.compile("[A-Z]{3}")
>>>>>>       index = 0
>>>>>>
>>>>>>       #busca dentro de la linea todos los "("
>>>>>>       while (line.find("(", index, len(line)) !=-1):
>>>>>>           index = line.find("(", index, len(line)) +1
>>>>>>           dd = line[index:]
>>>>>>
>>>>>>           #busca las 3 primeras mayusculas en la cadena
>>>>>>           r=patron.search(dd)
>>>>>>
>>>>>>           #si se ha encontrado algo imprime el resultado
>>>>>>           if r:
>>>>>>               print r.string[r.start():r.end()]
>>>>>>
>>>>>>     file.close()
>>>>>>
>>>>>> }}}
>>>>>>
>>>>>> El resultado que obtengo de tus datos (10 líneas) es:
>>>>>>
>>>>>> 0, I(90FDPpl_05FDC_05SNE)
>>>>>> FDP
>>>>>>
>>>>>> 1, AAR(80EDFva_10CHLsc_10PRDsc)
>>>>>> EDF
>>>>>>
>>>>>> 2, A(80MTR_10FDPpl_10SNE)
>>>>>> MTR
>>>>>>
>>>>>> 3, FDPpl
>>>>>> FDPpl
>>>>>>
>>>>>> 4, A(70FDC_30MTR)
>>>>>> FDC
>>>>>>
>>>>>> 5, AAR(70EDFva_10PRDsc_10CHLsc_**10FDC)
>>>>>> EDF
>>>>>>
>>>>>> 6, A(85FDPpl_10FDC_05SNE)
>>>>>> FDP
>>>>>>
>>>>>> 7, FDC
>>>>>> FDC
>>>>>>
>>>>>> 8, I(40PRDsc_40CHLsc_10FDC_**05EDFva_05VAP)
>>>>>> PRD
>>>>>>
>>>>>> 9, A(60MTR_40FDPpl)
>>>>>> MTR
>>>>>>
>>>>>> 10, I(35EDFvd_35UEN(45ZAU_35EDFvd_**20VAP)_15PAG(55SNE_35EDFnv_**
>>>>>> 05OCT_05VAP)_15PRDsc)
>>>>>> EDF
>>>>>> ZAU
>>>>>> SNE
>>>>>>
>>>>>> Si resulta que tienes la capa cargada en gvSIG 2.0 puedes crearte una
>>>> capa
>>>>>> nueva con los resultados. Si estas interesado,dímelo y te mando una
>>>>>> aproximación.
>>>>>>
>>>>>> Te adjunto 3 archivos.
>>>>>> - los codigos de tu correo en un txt (codigos.txt)
>>>>>> - los resultados de ejecutar el script usando el archivo anterior
>>>>>> - el código
>>>>>>
>>>>>> Saludos,
>>>>>> Victor Acevedo
>>>>>>
>>>>>>
>>>>>>    ______________________________**_________________
>>>>>>> gvSIG_usuarios mailing list
>>>>>>> gvSIG_usuarios en listserv.gva.es
>>>>>>>
>>>>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>>>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>>>>>
>>>>>>> http://listserv.gva.es/cgi-**bin/mailman/listinfo/gvsig_**usuarios<
>>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> gvSIG_usuarios mailing list
>>>>>> gvSIG_usuarios en listserv.gva.es
>>>>>>
>>>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>> darse
>>>>>> de baja en esta lista, acuda a la siguiente dirección:
>>>>>>
>>>>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gvSIG_usuarios mailing list
>>>>> gvSIG_usuarios en listserv.gva.es
>>>>>
>>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>>>
>>>> _______________________________________________
>>>> gvSIG_usuarios mailing list
>>>> gvSIG_usuarios en listserv.gva.es
>>>>
>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>>
>>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>>
>>>
>>
>>
>> _______________________________________________
>> gvSIG_usuarios mailing list
>> gvSIG_usuarios en listserv.gva.es
>>
>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
>>
>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>


-- 
Vicent Doménech Mata
Ingeniero Técnico en Topografía
Telf: 654 562 474

Proyecto gvSIG
Conselleria d'Infraestructures, Territori i Medi Ambient
València (Spain)

"La crisis es produeix quan lo vell no acaba de morir i lo nou no acaba de néixer"



Más información sobre la lista de distribución gvSIG_usuarios