[Gvsig_usuarios] Añadis capa Postgis con script

Óscar Martínez omartinez en gvsig.com
Vie Nov 4 16:16:08 CET 2016


Buenas,

El camino es correcto, te falta un paso. Con el openStore abres un 
dataStore, para crear una capa desde un data store necesitas añadir las 
siguientes líneas (y el import al princpio):

     layer = MapContextLocator.getMapContextManager().createLayer(
         "pglayer",
         os.getStore()
       )

     currentView().addLayer(layer)

http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/fmap/mapcontext/MapContextManager.html#createLayer(java.lang.String,%20org.gvsig.fmap.dal.DataStore)

El script completo podría quedar algo así:

# encoding: utf-8

import gvsig
from org.gvsig.fmap.mapcontext import MapContextLocator
from gvsig.utils import openStore

def main(*args):

     os = openStore('PostgreSQL',port='5432',
JDBCDriverClass='org.postgresql.Driver',
                                 UseSSL='false',
                                 Schema='public',
                                 Catalog='',
URL='jdbc:postgresql://localhost/ej1',
                                 BaseOrder='',
                                 Workingarea=None,
                                 CRS='EPSG:23030',
                                 PKFields='gid',
                                 BaseFilter='',
                                 DefaultGeometryField='geom',
                                 Fields=None,
                                 Table='ciudades',
                                 SQL='',
                                 password='password',
                                 dbname='ej1',
                                 host='localhost',
                                 dbuser='postgres',
                                 ProviderName='PostgreSQL')

     layer = MapContextLocator.getMapContextManager().createLayer(
         "pglayer",
         os.getStore()
       )

     gvsig.currentView().addLayer(layer)

El 04/11/16 a las 14:08, Javier Galán escribió:
> Hola a todos:
>
> Estoy empezando a hacer algún script con la nueva versión de gvsig  2.3.1
>
> He logrado realizar la conexión mediante
>
> openStore()
> Lo hace correctamente por que le pregunto por las features y me 
> devuelve sus propiedades.
>
> La cosa es que quiero insertarlo en una vista
> /
> /
> /Vista = currentProject().getView("Vista1")
> /
> /os = openStore('PostgreSQL',port='5432'...)/
> /Vista.addLayer(os)/
>
> Me dice
>
> ErrorTypeError: addLayer(): 1st arg can't be coerced to 
> org.gvsig.fmap.mapcontext.layers.FLayer
>
> Seguramente estoy accediendo por el camino incorrecto. Alguien puede 
>  echarme una mano?
>
> Gracias
> Javier
>
>
> _______________________________________________
> 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:
>
> https://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/20161104/454e1165/attachment.html>


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