[Gvsig_usuarios] rellenar campos con una sintaxis string

pau maudos bonjoch pau.maudos en gmail.com
Lun Nov 19 14:15:34 CET 2012


> 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...)
>

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.



luego he provado de descargar el gvsig 2.0 y me da error:
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)


¿ Puedo descargar un paquete o similar de gvsig srcipting framework para
gvsig 1.11 ?
¿de dónde te lo descargaste tu?


>
>
> 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
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20121119/152af6c2/attachment.htm 


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