[Gvsig_usuarios] rellenar campos con una sintaxis string

pau maudos bonjoch pau.maudos en gmail.com
Lun Nov 19 13:17:00 CET 2012


hay algun enlace donde pueda descargar la extensión de scripting de gvsig
2.0?

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

¿es posible? ¿podrías pasar un enlace por favor?

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/4bd04148/attachment.htm 


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