From victor.montes en alicante-ayto.es Mon Oct 7 14:03:43 2019 From: victor.montes en alicante-ayto.es (Montes =?utf-8?B?Q8OhbWFyYSw=?= Victor) Date: Mon, 7 Oct 2019 14:03:43 +0200 (CEST) Subject: [Gvsig_desarrolladores] Crear una capa tipo shapefile a partir de una tabla de Oracle Spatial In-Reply-To: <436419362.5788675.1570448822456.JavaMail.zimbra@alicante-ayto.es> Message-ID: <1463481914.5802945.1570449823781.JavaMail.zimbra@alicante-ayto.es> Necesito crear una capa de tipo shapefile a partir de una tabla de Oracle Spatial. Hago lo siguiente: os = openStore('Oracle',port='1234', URL='jdbc:oracle:thin:@bdoratest.prueba.es:1234:test', CRS='EPSG:25830', PKFields='ID', BaseFilter='', DefaultGeometryField='GEOMETRY', Fields='', Table=nombre_tabla, password='xxx', dbname='test', host='bdoratest.prueba.es', dbuser='prueba', ProviderName='Oracle') schema = createFeatureType() schema.append("ID", "INTEGER") schema.append("GEOMETRY", "GEOMETRY") schema.get("GEOMETRY").setGeometryType(tipo_geom, D2) layer = createLayer(schema=schema, servertype="FilesystemExplorer", layertype="Shape", shpFile="capa_oracle.shp", CRS="EPSG:25830", geometryType=geom.POLYGON ) layer.edit() features = os.features() for f in features: value_id = f.get('ID) value_geom = f.get('GEOMETRY') layer.append(ID=value_id,GEOMETRY=value_geom) layer.commit() currentView().getMapContext().getLayers().removeLayer(nombre_capa) currentView().addLayer(layer) Con tablas pequeña funciona bien, pero con tablas grandes tarda mucho y al final da un error de memoria. Hay alguna forma de hacerlo directamente, sin necesidad de recorrer el FeatureSet, con algún comando tipo "Export", similar a lo que se hace desde el entorno de usuario para exportar capas de un tipo a otro. Un saludo. Víctor Montes. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From press en gvsig.com Tue Oct 15 16:13:40 2019 From: press en gvsig.com (gvSIG News) Date: Tue, 15 Oct 2019 16:13:40 +0200 Subject: [Gvsig_desarrolladores] =?utf-8?q?Ya_est=C3=A1_disponible_el_prog?= =?utf-8?q?rama_de_las_15as_Jornadas_Internacionales_gvSIG?= Message-ID: <21834848-6622-c2c0-9b10-c12c299d74d6@gvsig.com> El programa de las 15as Jornadas Internacionales gvSIG [1] está ya disponible con una gran variedad de ponencias y varios talleres gratuitos, tanto para usuarios como para desarrolladores. Las jornadas tendrán lugar del 6 al 8 de noviembre en la Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica y Topográfica (Universitat Politècnica de València, España), y para poder asistir es necesario inscribirse previamente desde el formulario habilitado en la web del evento [2]. Se recomienda no esperar al último momento, ya que las salas cuentan con un aforo limitado. Para los talleres gratuitos se deberá realizar una inscripción independiente desde el apartado correspondiente de la web del evento [3]. En los próximos días se irá publicando una serie de posts con los contenidos de cada taller en el blog de gvSIG [4]. Los talleres que habrá durante las jornadas son: - Taller 1: ConvertGISEpanet - RunEpanetGIS - gvSIG. Herramientas para el tratamiento de la información en redes de abastecimiento de agua - Taller 2: gvSIG Desktop para principiantes - Taller 3:  Análisis de datos con gvSIG - Taller 4: Introducción a la programación en aplicaciones geoespaciales: de Python a Jython - Taller 5: Introducción a gvSIG Online - Taller 6: Teledetección térmica con gvSIG [1] http://www.gvsig.com/es/eventos/jornadas-gvsig/15as-jornadas-gvsig/programa [2] http://www.gvsig.com/es/eventos/jornadas-gvsig/15as-jornadas-gvsig/inscripcion [3] http://www.gvsig.com/es/eventos/jornadas-gvsig/15as-jornadas-gvsig/inscripcion-talleres [4] https://blog.gvsig.org From victor.montes en alicante-ayto.es Fri Oct 18 10:43:24 2019 From: victor.montes en alicante-ayto.es (Montes =?utf-8?B?Q8OhbWFyYSw=?= Victor) Date: Fri, 18 Oct 2019 10:43:24 +0200 (CEST) Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <869302358.9559395.1571388051214.JavaMail.zimbra@alicante-ayto.es> Message-ID: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> Buenos días, Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir de tablas en Oracle Spatial. Me gustaría saber como cambiar, a través de scripting, las propiedades de la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar capas. Un saludo. Víctor Montes ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From omartinez en gvsig.com Mon Oct 21 14:22:16 2019 From: omartinez en gvsig.com (=?UTF-8?Q?=c3=93scar_Mart=c3=adnez?=) Date: Mon, 21 Oct 2019 14:22:16 +0200 Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> Message-ID: <3b10668e-b643-f35b-7e75-0912b97a2f83@gvsig.com> Buenas, Voy a irte respondiendo en varios emails a los diferentes casos que planteas. Para el caso de cambiar el color de la capa: En gvSIG la capa no lleva directamente aplicado un color, sino que cada capa lleva aplicada un tipo de leyenda y esta es la que se encarga de la simbología que tiene dicha capa. Por ejemplo, al crear una capa nueva por defecto gvSIG le aplica una simbología de símbolo único (SingleSymbolLegend), pero en gvSIG hay más tipos de leyendas como la de intervalos, etc. Si estás creando capas nuevas y deseas cambiarle el color de este tipo de simbología puedes aprovecharte de que ya le estará asignando una simbología de símbolo único por defecto y cambiarle a esa el color. Debes de acceder a la capa, de ahí a su leyenda y de ahí acceder al Símbolo que está utilizando para pintarla. En este caso no debería de importarnos si la capa que creamos es de tipo puntos, lineas, polígonos.. el color es aplicable a todos los símbolos. Puedes ver un ejemplo en el siguiente script (está preparado para que pueda ejecutarse y añada una capa a la Vista asignándole un color determinado): # encoding: utf-8 import gvsig from gvsig import geom from java.awt import Color def main(*args):   # Creating new layer   ft = gvsig.createSchema()   ft.append("ID", "INTEGER")   ft.append("GEOMETRY", "GEOMETRY")   ft.get('GEOMETRY').setGeometryType(geom.MULTIPOLYGON,geom.D2)   layer = gvsig.createShape(ft, prefixname="testSymbol")   store = layer.getFeatureStore()   gvsig.currentView().addLayer(layer)   # Change legend   legend = layer.getLegend()   print "legend: ", legend #SingleSymbolLegend por defecto   symbol = legend.getDefaultSymbol()   print "symbol:", symbol # SimpleFillSymbol en capas de poligonos   #Como es un ISimbol podemos..   #symbol.setColor(Color.GREEN)   symbol.setColor(Color(200,100,200)) Puedes ver en otro ejemplo que tenemos en la documentación de scripting ?omo creamos otro tipo de simbología diferente a la de por defecto y se la aplicamos a una capa. http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.4/leyendas.html#en-capas-vectoriales Cualquier duda nos comentas Saludos, Óscar El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: >     Buenos días, > > Tengo un desarrollo en el que creo capas shapefile dinámicamente a > partir de tablas en Oracle Spatial. > Me gustaría saber como cambiar, a través de scripting, las propiedades > de la capa, tales como color, etiquetas, zoom mínimo o incluso como > agrupar capas. > > Un saludo. > Víctor Montes > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores 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_desarrolladores -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From omartinez en gvsig.com Mon Oct 21 17:54:47 2019 From: omartinez en gvsig.com (=?UTF-8?Q?=c3=93scar_Mart=c3=adnez?=) Date: Mon, 21 Oct 2019 17:54:47 +0200 Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> Message-ID: Buenas, Para establecer los límites del zoom se hace directamente sobre la capa. Solo son necesarias dos líneas.   layer.setMinScale(integer)   layer.setMaxScale(integer) Por ejemplo en el siguiente script se crea una capa de puntos y se establece que solo sea visible por debajo de 1:5.000 y por encima de 1:1.000 # encoding: utf-8 import gvsig from gvsig import geom def main(*args):   # Creating new layer   ft = gvsig.createSchema()   ft.append("ID", "INTEGER")   ft.append("GEOMETRY", "GEOMETRY")   ft.get('GEOMETRY').setGeometryType(geom.POINT,geom.D2)   layer = gvsig.createShape(ft, prefixname="testScale")   store = layer.getFeatureStore()   layer.edit()   layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)})   layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)})   layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)})   layer.commit()   gvsig.currentView().addLayer(layer)   #Change zoom   layer.setMinScale(1000)   layer.setMaxScale(5000) https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: >     Buenos días, > > Tengo un desarrollo en el que creo capas shapefile dinámicamente a > partir de tablas en Oracle Spatial. > Me gustaría saber como cambiar, a través de scripting, las propiedades > de la capa, tales como color, etiquetas, zoom mínimo o incluso como > agrupar capas. > > Un saludo. > Víctor Montes > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores 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_desarrolladores -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From omartinez en gvsig.com Tue Oct 22 11:17:44 2019 From: omartinez en gvsig.com (=?UTF-8?Q?=c3=93scar_Mart=c3=adnez?=) Date: Tue, 22 Oct 2019 11:17:44 +0200 Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <1044180851.10649718.1571734323015.JavaMail.zimbra@alicante-ayto.es> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> <3b10668e-b643-f35b-7e75-0912b97a2f83@gvsig.com> <1044180851.10649718.1571734323015.JavaMail.zimbra@alicante-ayto.es> Message-ID: Cada símbolo (SimpleFillSymbol) que es el utilizado en los polígonos por defecto tiene un Outline definido para el borde que viene a ser un símbolo de tipo línea. Añadiendo las siguientes líneas al script anterior puedes cambiarle el color o el tamaño de grosor:   outline = symbol.getOutline()   outline.setColor(Color.RED)   outline.setLineWidth(2) Saludos El 22/10/19 a las 10:52, Montes Cámara, Victor escribió: > Muchas gracias Óscar, > > Funciona muy bien. Ahora me falta el color del borde en las capa de > tipo polígono. > > Un saludo, > Víctor Montes. > > ------------------------------------------------------------------------ > *De: *"Óscar Martínez" > *Para: *"gvsig desarrolladores" > *Enviados: *Lunes, 21 de Octubre 2019 14:22:16 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > Buenas, > > Voy a irte respondiendo en varios emails a los diferentes casos que > planteas. > > Para el caso de cambiar el color de la capa: En gvSIG la capa no lleva > directamente aplicado un color, sino que cada capa lleva aplicada un > tipo de leyenda y esta es la que se encarga de la simbología que tiene > dicha capa. Por ejemplo, al crear una capa nueva por defecto gvSIG le > aplica una simbología de símbolo único (SingleSymbolLegend), pero en > gvSIG hay más tipos de leyendas como la de intervalos, etc. > > Si estás creando capas nuevas y deseas cambiarle el color de este tipo > de simbología puedes aprovecharte de que ya le estará asignando una > simbología de símbolo único por defecto y cambiarle a esa el color. > Debes de acceder a la capa, de ahí a su leyenda y de ahí acceder al > Símbolo que está utilizando para pintarla. > > En este caso no debería de importarnos si la capa que creamos es de > tipo puntos, lineas, polígonos.. el color es aplicable a todos los > símbolos. > > Puedes ver un ejemplo en el siguiente script (está preparado para que > pueda ejecutarse y añada una capa a la Vista asignándole un color > determinado): > > # encoding: utf-8 > > import gvsig > from gvsig import geom > from java.awt import Color > > def main(*args): > >   # Creating new layer >   ft = gvsig.createSchema() >   ft.append("ID", "INTEGER") >   ft.append("GEOMETRY", "GEOMETRY") >   ft.get('GEOMETRY').setGeometryType(geom.MULTIPOLYGON,geom.D2) > >   layer = gvsig.createShape(ft, prefixname="testSymbol") >   store = layer.getFeatureStore() >   gvsig.currentView().addLayer(layer) >   # Change legend >   legend = layer.getLegend() >   print "legend: ", legend #SingleSymbolLegend por defecto >   symbol = legend.getDefaultSymbol() >   print "symbol:", symbol # SimpleFillSymbol en capas de poligonos >   #Como es un ISimbol podemos.. >   #symbol.setColor(Color.GREEN) >   symbol.setColor(Color(200,100,200)) > > Puedes ver en otro ejemplo que tenemos en la documentación de > scripting ?omo creamos otro tipo de simbología diferente a la de por > defecto y se la aplicamos a una capa. > > http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.4/leyendas.html#en-capas-vectoriales > > Cualquier duda nos comentas > > Saludos, > > Óscar > > El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: > >     Buenos días, > > Tengo un desarrollo en el que creo capas shapefile dinámicamente a > partir de tablas en Oracle Spatial. > Me gustaría saber como cambiar, a través de scripting, las > propiedades de la capa, tales como color, etiquetas, zoom mínimo o > incluso como agrupar capas. > > Un saludo. > Víctor Montes > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores 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_desarrolladores > > -- > -- > gvSIG Association > Óscar Martínez > omartinez en gvsig.com > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores 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_desarrolladores > -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From victor.montes en alicante-ayto.es Tue Oct 22 10:52:03 2019 From: victor.montes en alicante-ayto.es (Montes =?utf-8?B?Q8OhbWFyYSw=?= Victor) Date: Tue, 22 Oct 2019 10:52:03 +0200 (CEST) Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <3b10668e-b643-f35b-7e75-0912b97a2f83@gvsig.com> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> <3b10668e-b643-f35b-7e75-0912b97a2f83@gvsig.com> Message-ID: <1044180851.10649718.1571734323015.JavaMail.zimbra@alicante-ayto.es> Muchas gracias Óscar, Funciona muy bien. Ahora me falta el color del borde en las capa de tipo polígono. Un saludo, Víctor Montes. ----- Mensaje original ----- De: "Óscar Martínez" Para: "gvsig desarrolladores" Enviados: Lunes, 21 de Octubre 2019 14:22:16 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Buenas, Voy a irte respondiendo en varios emails a los diferentes casos que planteas. Para el caso de cambiar el color de la capa: En gvSIG la capa no lleva directamente aplicado un color, sino que cada capa lleva aplicada un tipo de leyenda y esta es la que se encarga de la simbología que tiene dicha capa. Por ejemplo, al crear una capa nueva por defecto gvSIG le aplica una simbología de símbolo único (SingleSymbolLegend), pero en gvSIG hay más tipos de leyendas como la de intervalos, etc. Si estás creando capas nuevas y deseas cambiarle el color de este tipo de simbología puedes aprovecharte de que ya le estará asignando una simbología de símbolo único por defecto y cambiarle a esa el color. Debes de acceder a la capa, de ahí a su leyenda y de ahí acceder al Símbolo que está utilizando para pintarla. En este caso no debería de importarnos si la capa que creamos es de tipo puntos, lineas, polígonos.. el color es aplicable a todos los símbolos. Puedes ver un ejemplo en el siguiente script (está preparado para que pueda ejecutarse y añada una capa a la Vista asignándole un color determinado): # encoding: utf-8 import gvsig from gvsig import geom from java.awt import Color def main(*args):   # Creating new layer   ft = gvsig.createSchema()   ft.append("ID", "INTEGER")   ft.append("GEOMETRY", "GEOMETRY")   ft.get('GEOMETRY').setGeometryType(geom.MULTIPOLYGON,geom.D2)   layer = gvsig.createShape(ft, prefixname="testSymbol")   store = layer.getFeatureStore()   gvsig.currentView().addLayer(layer)   # Change legend   legend = layer.getLegend()   print "legend: ", legend #SingleSymbolLegend por defecto   symbol = legend.getDefaultSymbol()   print "symbol:", symbol # SimpleFillSymbol en capas de poligonos   #Como es un ISimbol podemos..   #symbol.setColor(Color.GREEN)   symbol.setColor(Color(200,100,200)) Puedes ver en otro ejemplo que tenemos en la documentación de scripting ?omo creamos otro tipo de simbología diferente a la de por defecto y se la aplicamos a una capa. http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.4/leyendas.html#en-capas-vectoriales Cualquier duda nos comentas Saludos, Óscar El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: Buenos días, Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir de tablas en Oracle Spatial. Me gustaría saber como cambiar, a través de scripting, las propiedades de la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar capas. Un saludo. Víctor Montes _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From victor.montes en alicante-ayto.es Wed Oct 23 10:13:20 2019 From: victor.montes en alicante-ayto.es (Montes =?utf-8?B?Q8OhbWFyYSw=?= Victor) Date: Wed, 23 Oct 2019 10:13:20 +0200 (CEST) Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> Message-ID: <1739636502.11084990.1571818400755.JavaMail.zimbra@alicante-ayto.es> Gracias Óscar, Sí, eso es sencillo, ya lo había descubierto. Ahora estoy con el tema del etiquetado. Tengo una capa de calles donde quiero poner como etiqueta un campo definido en tabla, el ángulo otro campo, tamaño y negrita. Equivalente a lo siguiente en modo diseño: También tengo una capa de números de policía donde quiero establecer unas propiedades concretas, que en modo diseño establecería de la siguiente manera: "Etiquetas definidas por el usuario", "Etiquetar todas las entidades de la misma manera" y las siguientes propiedades: Y eligiendo un campo de tabla para visualizar. Por ahora he conseguido activar el etiquetado con la instrucción: layer.setIsLabeled(1) Para lo demás supongo que habrá que utilizar los métodos setLabelingStrategy o drawLabels, pero no tengo claro como. Un saludo, Víctor Montes. ----- Mensaje original ----- De: "Óscar Martínez" Para: "gvsig desarrolladores" Enviados: Lunes, 21 de Octubre 2019 17:54:47 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Buenas, Para establecer los límites del zoom se hace directamente sobre la capa. Solo son necesarias dos líneas. layer.setMinScale(integer) layer.setMaxScale(integer) Por ejemplo en el siguiente script se crea una capa de puntos y se establece que solo sea visible por debajo de 1:5.000 y por encima de 1:1.000 # encoding: utf-8 import gvsig from gvsig import geom def main(*args):   # Creating new layer   ft = gvsig.createSchema()   ft.append("ID", "INTEGER")   ft.append("GEOMETRY", "GEOMETRY")   ft.get('GEOMETRY').setGeometryType(geom.POINT,geom.D2)   layer = gvsig.createShape(ft, prefixname="testScale")   store = layer.getFeatureStore()   layer.edit()   layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)})   layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)})   layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)})   layer.commit()   gvsig.currentView().addLayer(layer)   #Change zoom   layer.setMinScale(1000)   layer.setMaxScale(5000) https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: Buenos días, Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir de tablas en Oracle Spatial. Me gustaría saber como cambiar, a través de scripting, las propiedades de la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar capas. Un saludo. Víctor Montes _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 216729.02999981306 Type: image/png Size: 38087 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 410523.79999984987 Type: image/png Size: 43089 bytes Desc: no disponible URL: From victor.montes en alicante-ayto.es Wed Oct 23 11:01:27 2019 From: victor.montes en alicante-ayto.es (Montes =?utf-8?B?Q8OhbWFyYSw=?= Victor) Date: Wed, 23 Oct 2019 11:01:27 +0200 (CEST) Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <1739636502.11084990.1571818400755.JavaMail.zimbra@alicante-ayto.es> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> <1739636502.11084990.1571818400755.JavaMail.zimbra@alicante-ayto.es> Message-ID: <201691754.11123273.1571821287310.JavaMail.zimbra@alicante-ayto.es> Me contesto yo mismo, Para la primera parte, siguiendo el ejemplo en http://osgeo-org.1560.x6.nabble.com/Re-Etiquetas-desde-scripting-td5400766.html sería symbologyManager = SymbologyLocator.getSymbologyManager() labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("TEXTO") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True) labeling.setHeightField(None) labeling.setRotationField("ANGULO") labeling.setFixedColor(Color(255,255,255)) # RGB labeling.setFont(Font("Arial", Font.PLAIN, 12)) labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 labeling.setFixedSize(15) labeling.setUnit(-1) # PIXELS layer.setLabelingStrategy(labeling) layer.setIsLabeled(True) Voy con la segunda parte. ----- Mensaje original ----- De: "Montes Cámara, Victor" Para: "Lista de Desarrolladores de gvSIG" CC: omartinez en gvsig.com Enviados: Miércoles, 23 de Octubre 2019 10:13:20 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Gracias Óscar, Sí, eso es sencillo, ya lo había descubierto. Ahora estoy con el tema del etiquetado. Tengo una capa de calles donde quiero poner como etiqueta un campo definido en tabla, el ángulo otro campo, tamaño y negrita. Equivalente a lo siguiente en modo diseño: También tengo una capa de números de policía donde quiero establecer unas propiedades concretas, que en modo diseño establecería de la siguiente manera: "Etiquetas definidas por el usuario", "Etiquetar todas las entidades de la misma manera" y las siguientes propiedades: Y eligiendo un campo de tabla para visualizar. Por ahora he conseguido activar el etiquetado con la instrucción: layer.setIsLabeled(1) Para lo demás supongo que habrá que utilizar los métodos setLabelingStrategy o drawLabels, pero no tengo claro como. Un saludo, Víctor Montes. ----- Mensaje original ----- De: "Óscar Martínez" Para: "gvsig desarrolladores" Enviados: Lunes, 21 de Octubre 2019 17:54:47 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Buenas, Para establecer los límites del zoom se hace directamente sobre la capa. Solo son necesarias dos líneas. layer.setMinScale(integer) layer.setMaxScale(integer) Por ejemplo en el siguiente script se crea una capa de puntos y se establece que solo sea visible por debajo de 1:5.000 y por encima de 1:1.000 # encoding: utf-8 import gvsig from gvsig import geom def main(*args):   # Creating new layer   ft = gvsig.createSchema()   ft.append("ID", "INTEGER")   ft.append("GEOMETRY", "GEOMETRY")   ft.get('GEOMETRY').setGeometryType(geom.POINT,geom.D2)   layer = gvsig.createShape(ft, prefixname="testScale")   store = layer.getFeatureStore()   layer.edit()   layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)})   layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)})   layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)})   layer.commit()   gvsig.currentView().addLayer(layer)   #Change zoom   layer.setMinScale(1000)   layer.setMaxScale(5000) https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: Buenos días, Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir de tablas en Oracle Spatial. Me gustaría saber como cambiar, a través de scripting, las propiedades de la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar capas. Un saludo. Víctor Montes _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 216729.02999981306 Type: image/png Size: 38087 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 410523.79999984987 Type: image/png Size: 43089 bytes Desc: no disponible URL: From victor.montes en alicante-ayto.es Wed Oct 23 13:49:46 2019 From: victor.montes en alicante-ayto.es (Montes =?utf-8?B?Q8OhbWFyYSw=?= Victor) Date: Wed, 23 Oct 2019 13:49:46 +0200 (CEST) Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <201691754.11123273.1571821287310.JavaMail.zimbra@alicante-ayto.es> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> <1739636502.11084990.1571818400755.JavaMail.zimbra@alicante-ayto.es> <201691754.11123273.1571821287310.JavaMail.zimbra@alicante-ayto.es> Message-ID: <239820357.11277095.1571831386884.JavaMail.zimbra@alicante-ayto.es> De la segunda parte, realmente lo que más te interesa es situar la etiqueta sobre el punto, es decir la opción siguiente de las propiedades de colocación: ----- Mensaje original ----- De: "Montes Cámara, Victor" Para: "Lista de Desarrolladores de gvSIG" CC: omartinez en gvsig.com Enviados: Miércoles, 23 de Octubre 2019 11:01:27 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Me contesto yo mismo, Para la primera parte, siguiendo el ejemplo en http://osgeo-org.1560.x6.nabble.com/Re-Etiquetas-desde-scripting-td5400766.html sería symbologyManager = SymbologyLocator.getSymbologyManager() labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("TEXTO") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True) labeling.setHeightField(None) labeling.setRotationField("ANGULO") labeling.setFixedColor(Color(255,255,255)) # RGB labeling.setFont(Font("Arial", Font.PLAIN, 12)) labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 labeling.setFixedSize(15) labeling.setUnit(-1) # PIXELS layer.setLabelingStrategy(labeling) layer.setIsLabeled(True) Voy con la segunda parte. ----- Mensaje original ----- De: "Montes Cámara, Victor" Para: "Lista de Desarrolladores de gvSIG" CC: omartinez en gvsig.com Enviados: Miércoles, 23 de Octubre 2019 10:13:20 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Gracias Óscar, Sí, eso es sencillo, ya lo había descubierto. Ahora estoy con el tema del etiquetado. Tengo una capa de calles donde quiero poner como etiqueta un campo definido en tabla, el ángulo otro campo, tamaño y negrita. Equivalente a lo siguiente en modo diseño: También tengo una capa de números de policía donde quiero establecer unas propiedades concretas, que en modo diseño establecería de la siguiente manera: "Etiquetas definidas por el usuario", "Etiquetar todas las entidades de la misma manera" y las siguientes propiedades: Y eligiendo un campo de tabla para visualizar. Por ahora he conseguido activar el etiquetado con la instrucción: layer.setIsLabeled(1) Para lo demás supongo que habrá que utilizar los métodos setLabelingStrategy o drawLabels, pero no tengo claro como. Un saludo, Víctor Montes. ----- Mensaje original ----- De: "Óscar Martínez" Para: "gvsig desarrolladores" Enviados: Lunes, 21 de Octubre 2019 17:54:47 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Buenas, Para establecer los límites del zoom se hace directamente sobre la capa. Solo son necesarias dos líneas. layer.setMinScale(integer) layer.setMaxScale(integer) Por ejemplo en el siguiente script se crea una capa de puntos y se establece que solo sea visible por debajo de 1:5.000 y por encima de 1:1.000 # encoding: utf-8 import gvsig from gvsig import geom def main(*args):   # Creating new layer   ft = gvsig.createSchema()   ft.append("ID", "INTEGER")   ft.append("GEOMETRY", "GEOMETRY")   ft.get('GEOMETRY').setGeometryType(geom.POINT,geom.D2)   layer = gvsig.createShape(ft, prefixname="testScale")   store = layer.getFeatureStore()   layer.edit()   layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)})   layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)})   layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)})   layer.commit()   gvsig.currentView().addLayer(layer)   #Change zoom   layer.setMinScale(1000)   layer.setMaxScale(5000) https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: Buenos días, Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir de tablas en Oracle Spatial. Me gustaría saber como cambiar, a través de scripting, las propiedades de la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar capas. Un saludo. Víctor Montes _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 13627224.879999878 Type: image/png Size: 27426 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 216729.02999981306 Type: image/png Size: 38087 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 410523.79999984987 Type: image/png Size: 43089 bytes Desc: no disponible URL: From omartinez en gvsig.com Mon Oct 28 15:58:08 2019 From: omartinez en gvsig.com (=?UTF-8?B?w5NzY2FyIE1hcnTDrW5leg==?=) Date: Mon, 28 Oct 2019 15:58:08 +0100 Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <239820357.11277095.1571831386884.JavaMail.zimbra@alicante-ayto.es> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> <1739636502.11084990.1571818400755.JavaMail.zimbra@alicante-ayto.es> <201691754.11123273.1571821287310.JavaMail.zimbra@alicante-ayto.es> <239820357.11277095.1571831386884.JavaMail.zimbra@alicante-ayto.es> Message-ID: Buenas, Aquí te he puesto un ejemplo de lo que sería establecer un etiquetado avanzado, con la colocación sobre el punto, con una expresión de etiquetado,si solo quieres por un campo sería algo como (["CAMPO1"]) y lo del halo con un color y tamaño. https://gist.github.com/oscar9/5393823cb2d49ef9467b932fbf50ee29 Ya me comentas si te funciona bien. Saludos, Óscar PD: Lo envío también a las listas El mié., 23 oct. 2019 a las 13:49, Montes Cámara, Victor (< victor.montes en alicante-ayto.es>) escribió: > De la segunda parte, realmente lo que más te interesa es situar la > etiqueta sobre el punto, es decir la opción siguiente de las propiedades de > colocación: > > > ------------------------------ > *De: *"Montes Cámara, Victor" > *Para: *"Lista de Desarrolladores de gvSIG" < > gvsig_desarrolladores en listserv.gva.es> > *CC: *omartinez en gvsig.com > *Enviados: *Miércoles, 23 de Octubre 2019 11:01:27 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > > Me contesto yo mismo, > > Para la primera parte, siguiendo el ejemplo en > http://osgeo-org.1560.x6.nabble.com/Re-Etiquetas-desde-scripting-td5400766.html > sería > > symbologyManager = SymbologyLocator.getSymbologyManager() > labeling = symbologyManager.createDefaultLabelingStrategy() > > > labeling.setTextField("TEXTO") > labeling.setUsesFixedColor(True) > labeling.setUsesFixedSize(True) > labeling.setHeightField(None) > labeling.setRotationField("ANGULO") > labeling.setFixedColor(Color(255,255,255)) # RGB > labeling.setFont(Font("Arial", Font.PLAIN, 12)) > labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 > labeling.setFixedSize(15) > labeling.setUnit(-1) # PIXELS > > layer.setLabelingStrategy(labeling) > layer.setIsLabeled(True) > > Voy con la segunda parte. > ------------------------------ > *De: *"Montes Cámara, Victor" > *Para: *"Lista de Desarrolladores de gvSIG" < > gvsig_desarrolladores en listserv.gva.es> > *CC: *omartinez en gvsig.com > *Enviados: *Miércoles, 23 de Octubre 2019 10:13:20 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > > Gracias Óscar, > > Sí, eso es sencillo, ya lo había descubierto. > Ahora estoy con el tema del etiquetado. > > Tengo una capa de calles donde quiero poner como etiqueta un campo > definido en tabla, el ángulo otro campo, tamaño y negrita. > Equivalente a lo siguiente en modo diseño: > > > También tengo una capa de números de policía donde quiero establecer unas > propiedades concretas, que en modo diseño establecería de la siguiente > manera: > "Etiquetas definidas por el usuario", "Etiquetar todas las entidades de la > misma manera" y las siguientes propiedades: > > > Y eligiendo un campo de tabla para visualizar. > > Por ahora he conseguido activar el etiquetado con la instrucción: > > layer.setIsLabeled(1) > > Para lo demás supongo que habrá que utilizar los > métodos setLabelingStrategy o drawLabels, pero no tengo claro como. > > Un saludo, > > Víctor Montes. > ------------------------------ > *De: *"Óscar Martínez" > *Para: *"gvsig desarrolladores" > *Enviados: *Lunes, 21 de Octubre 2019 17:54:47 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > Buenas, > > Para establecer los límites del zoom se hace directamente sobre la capa. > Solo son necesarias dos líneas. > > layer.setMinScale(integer) > layer.setMaxScale(integer) > > Por ejemplo en el siguiente script se crea una capa de puntos y se > establece que solo sea visible por debajo de 1:5.000 y por encima de 1:1.000 > > # encoding: utf-8 > > import gvsig > from gvsig import geom > > def main(*args): > > # Creating new layer > ft = gvsig.createSchema() > ft.append("ID", "INTEGER") > ft.append("GEOMETRY", "GEOMETRY") > ft.get('GEOMETRY').setGeometryType(geom.POINT,geom.D2) > > layer = gvsig.createShape(ft, prefixname="testScale") > store = layer.getFeatureStore() > layer.edit() > layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)}) > layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)}) > layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)}) > layer.commit() > gvsig.currentView().addLayer(layer) > > #Change zoom > layer.setMinScale(1000) > layer.setMaxScale(5000) > https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 > > > El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: > > Buenos días, > > Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir > de tablas en Oracle Spatial. > Me gustaría saber como cambiar, a través de scripting, las propiedades de > la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar > capas. > > Un saludo. > Víctor Montes > > _______________________________________________ > gvSIG_desarrolladores mailing listgvSIG_desarrolladores 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_desarrolladores > > -- > -- > gvSIG Association > Óscar Martínezomartinez en gvsig.com > > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores 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_desarrolladores > > > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 13627224.879999878 Type: image/png Size: 27426 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 216729.02999981306 Type: image/png Size: 38087 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 410523.79999984987 Type: image/png Size: 43089 bytes Desc: no disponible URL: From victor.montes en alicante-ayto.es Tue Oct 29 13:59:40 2019 From: victor.montes en alicante-ayto.es (Montes =?utf-8?B?Q8OhbWFyYSw=?= Victor) Date: Tue, 29 Oct 2019 13:59:40 +0100 (CET) Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> <1739636502.11084990.1571818400755.JavaMail.zimbra@alicante-ayto.es> <201691754.11123273.1571821287310.JavaMail.zimbra@alicante-ayto.es> <239820357.11277095.1571831386884.JavaMail.zimbra@alicante-ayto.es> Message-ID: <1663462614.13330241.1572353980905.JavaMail.zimbra@alicante-ayto.es> Hola Óscar, Funciona bien. He añadido las llamadas a los métodos correspondientes para cambiar los parámetros de fuente: textSymbol.setFont(Font("Arial", Font.BOLD, 10)) textSymbol.setFontSize(10) textSymbol.setTextColor(Color(r,g,b)) # RGB Lo que he visto es que la clase ITextSymbol ( http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/fmap/mapcontext/rendering/symbols/ITextSymbol.html ) no tiene ningún método para establecer el ángulo del texto. No es muy grave porque lo uso para los números de policía y no me importa que no estén girados, lo importante es ponerle el origen en el centro. Para el texto del nombre de calles pasa lo contrario, tengo que usar el ángulo, pero no me preocupa el origen. Por lo que al final tengo que hacer lo siguiente: layer.setIsLabeled(True) symbologyManager = SymbologyLocator.getSymbologyManager() if nombre_capa == "CALLES": labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("TEXTO") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True) labeling.setHeightField(None) labeling.setRotationField("ANGULO") labeling.setFixedColor(Color(r,g,b)) # RGB labeling.setFont(Font("Arial", Font.BOLD, 15)) labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 labeling.setFixedSize(15) labeling.setUnit(-1) # PIXELS labeling.setReferenceSystem(1) layer.setLabelingStrategy(labeling) elif nombre_capa == "NUMEROS": glf = GeneralLabelingFactory() gls = glf.createStrategy(layer, None, None, None) placementc = gls.getPlacementConstraints() placementc.setPlacementMode(IPlacementConstraints.ON_TOP_OF_THE_POINT) defaultLabel = symbologyManager.createDefaultLabel() defaultLabel.setLabelExpressions(["TEXTO"]) textSymbol = symbologyManager.createSimpleTextSymbol() textSymbol.setFont(Font("Arial", Font.BOLD, 10)) textSymbol.setFontSize(10) textSymbol.setTextColor(Color(r,g,b)) # RGB textSymbol.setDrawWithHalo(True) textSymbol.setHaloColor(Color.WHITE) textSymbol.setHaloWidth(2) defaultLabel.setTextSymbol(textSymbol) resp = gls.getLabelingMethod() #ILabelingMethod resp.addLabelClass(defaultLabel) gls.setLabelingMethod(resp) layer.setLabelingStrategy(gls) Pasa como al hacerlo en modo diseño, si el ángulo es obligatorio tengo que utilizar el modo "Atributos de la etiqueta definidos en tabla", aunque no pueda cambiar el origen, y si es necesario cambiar el origen hay que usar el modo "Etiquetas definidas por el usuario", aunque no puede establecer un ángulo. Lo que me falta ahora es agrupar capas. ¿Alguna idea? Muchas gracias. Un saludo, Víctor Montes. ----- Mensaje original ----- De: "Óscar Martínez" Para: "Montes Cámara, Victor" CC: "Lista de Desarrolladores de gvSIG" Enviados: Lunes, 28 de Octubre 2019 15:58:08 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Buenas, Aquí te he puesto un ejemplo de lo que sería establecer un etiquetado avanzado, con la colocación sobre el punto, con una expresión de etiquetado,si solo quieres por un campo sería algo como (["CAMPO1"]) y lo del halo con un color y tamaño. https://gist.github.com/oscar9/5393823cb2d49ef9467b932fbf50ee29 Ya me comentas si te funciona bien. Saludos, Óscar PD: Lo envío también a las listas El mié., 23 oct. 2019 a las 13:49, Montes Cámara, Victor (< victor.montes en alicante-ayto.es >) escribió: De la segunda parte, realmente lo que más te interesa es situar la etiqueta sobre el punto, es decir la opción siguiente de las propiedades de colocación: De: "Montes Cámara, Victor" < victor.montes en alicante-ayto.es > Para: "Lista de Desarrolladores de gvSIG" < gvsig_desarrolladores en listserv.gva.es > CC: omartinez en gvsig.com Enviados: Miércoles, 23 de Octubre 2019 11:01:27 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Me contesto yo mismo, Para la primera parte, siguiendo el ejemplo en http://osgeo-org.1560.x6.nabble.com/Re-Etiquetas-desde-scripting-td5400766.html sería symbologyManager = SymbologyLocator.getSymbologyManager() labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("TEXTO") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True) labeling.setHeightField(None) labeling.setRotationField("ANGULO") labeling.setFixedColor(Color(255,255,255)) # RGB labeling.setFont(Font("Arial", Font.PLAIN, 12)) labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 labeling.setFixedSize(15) labeling.setUnit(-1) # PIXELS layer.setLabelingStrategy(labeling) layer.setIsLabeled(True) Voy con la segunda parte. De: "Montes Cámara, Victor" < victor.montes en alicante-ayto.es > Para: "Lista de Desarrolladores de gvSIG" < gvsig_desarrolladores en listserv.gva.es > CC: omartinez en gvsig.com Enviados: Miércoles, 23 de Octubre 2019 10:13:20 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Gracias Óscar, Sí, eso es sencillo, ya lo había descubierto. Ahora estoy con el tema del etiquetado. Tengo una capa de calles donde quiero poner como etiqueta un campo definido en tabla, el ángulo otro campo, tamaño y negrita. Equivalente a lo siguiente en modo diseño: También tengo una capa de números de policía donde quiero establecer unas propiedades concretas, que en modo diseño establecería de la siguiente manera: "Etiquetas definidas por el usuario", "Etiquetar todas las entidades de la misma manera" y las siguientes propiedades: Y eligiendo un campo de tabla para visualizar. Por ahora he conseguido activar el etiquetado con la instrucción: layer.setIsLabeled(1) Para lo demás supongo que habrá que utilizar los métodos setLabelingStrategy o drawLabels, pero no tengo claro como. Un saludo, Víctor Montes. De: "Óscar Martínez" < omartinez en gvsig.com > Para: "gvsig desarrolladores" < gvsig_desarrolladores en listserv.gva.es > Enviados: Lunes, 21 de Octubre 2019 17:54:47 Asunto: Re: [Gvsig_desarrolladores] Establecer propiedades de capas Buenas, Para establecer los límites del zoom se hace directamente sobre la capa. Solo son necesarias dos líneas. layer.setMinScale(integer) layer.setMaxScale(integer) Por ejemplo en el siguiente script se crea una capa de puntos y se establece que solo sea visible por debajo de 1:5.000 y por encima de 1:1.000 # encoding: utf-8 import gvsig from gvsig import geom def main(*args):   # Creating new layer   ft = gvsig.createSchema()   ft.append("ID", "INTEGER")   ft.append("GEOMETRY", "GEOMETRY")   ft.get('GEOMETRY').setGeometryType(geom.POINT,geom.D2)   layer = gvsig.createShape(ft, prefixname="testScale")   store = layer.getFeatureStore()   layer.edit()   layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)})   layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)})   layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)})   layer.commit()   gvsig.currentView().addLayer(layer)   #Change zoom   layer.setMinScale(1000)   layer.setMaxScale(5000) https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 El 18/10/19 a las 10:43, Montes Cámara, Victor escribió:
Buenos días, Tengo un desarrollo en el que creo capas shapefile dinámicamente a partir de tablas en Oracle Spatial. Me gustaría saber como cambiar, a través de scripting, las propiedades de la capa, tales como color, etiquetas, zoom mínimo o incluso como agrupar capas. Un saludo. Víctor Montes _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores 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_desarrolladores
------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 13627224.879999878 Type: image/png Size: 27426 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 216729.02999981306 Type: image/png Size: 38087 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 410523.79999984987 Type: image/png Size: 43089 bytes Desc: no disponible URL: From omartinez en gvsig.com Wed Oct 30 12:50:42 2019 From: omartinez en gvsig.com (=?UTF-8?Q?=c3=93scar_Mart=c3=adnez?=) Date: Wed, 30 Oct 2019 12:50:42 +0100 Subject: [Gvsig_desarrolladores] Establecer propiedades de capas In-Reply-To: <1663462614.13330241.1572353980905.JavaMail.zimbra@alicante-ayto.es> References: <987339643.9560971.1571388204287.JavaMail.zimbra@alicante-ayto.es> <1739636502.11084990.1571818400755.JavaMail.zimbra@alicante-ayto.es> <201691754.11123273.1571821287310.JavaMail.zimbra@alicante-ayto.es> <239820357.11277095.1571831386884.JavaMail.zimbra@alicante-ayto.es> <1663462614.13330241.1572353980905.JavaMail.zimbra@alicante-ayto.es> Message-ID: Buenas, Creo que ya teníamos localizada esa limitación del ángulo según el etiquetado que eligieras, me la apunto para echarle un vistazo. Respecto a los del grupo de capas he preparado el siguiente script, creo que hace lo que deseas hacer. https://gist.github.com/oscar9/293550287ff9e933d1d2d6e9719c758f He insertado un pequeño comentario de un método nuevo que vamos a crear para la 2.5 final que facilite esa creación del flayers y que no se le tengan que asignar esos parámetros. Creo que con esto resolvíamos todas las dudas, ya nos dices si algo no funciona o falta algo. Saludos! El 29/10/19 a las 13:59, Montes Cámara, Victor escribió: > Hola Óscar, > > Funciona bien. He añadido las llamadas a los métodos correspondientes > para cambiar los parámetros de fuente: > > textSymbol.setFont(Font("Arial", Font.BOLD, 10)) > textSymbol.setFontSize(10) > textSymbol.setTextColor(Color(r,g,b)) # RGB > > > Lo que he visto es que la clase ITextSymbol > (http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/fmap/mapcontext/rendering/symbols/ITextSymbol.html) > no tiene ningún método para establecer el ángulo del texto. > > No es muy grave porque lo uso para los números de policía y no me > importa que no estén girados, lo importante es ponerle el origen en el > centro. > > Para el texto del nombre de calles pasa lo contrario, tengo que usar > el ángulo, pero no me preocupa el origen. Por lo que al final tengo > que hacer lo siguiente: > > > layer.setIsLabeled(True) > symbologyManager = SymbologyLocator.getSymbologyManager() > if nombre_capa == "CALLES": >     labeling = symbologyManager.createDefaultLabelingStrategy() >     labeling.setTextField("TEXTO") >     labeling.setUsesFixedColor(True) >     labeling.setUsesFixedSize(True) >     labeling.setHeightField(None) >     labeling.setRotationField("ANGULO") >     labeling.setFixedColor(Color(r,g,b)) # RGB >     labeling.setFont(Font("Arial", Font.BOLD, 15)) >     labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 >     labeling.setFixedSize(15) >     labeling.setUnit(-1) # PIXELS >     labeling.setReferenceSystem(1) >     layer.setLabelingStrategy(labeling) > elif nombre_capa == "NUMEROS": >     glf = GeneralLabelingFactory() >     gls = glf.createStrategy(layer, None, None, None) >     placementc = gls.getPlacementConstraints() >     placementc.setPlacementMode(IPlacementConstraints.ON_TOP_OF_THE_POINT) >     defaultLabel = symbologyManager.createDefaultLabel() >     defaultLabel.setLabelExpressions(["TEXTO"]) >     textSymbol = symbologyManager.createSimpleTextSymbol() >     textSymbol.setFont(Font("Arial", Font.BOLD, 10)) >     textSymbol.setFontSize(10) >     textSymbol.setTextColor(Color(r,g,b)) # RGB >     textSymbol.setDrawWithHalo(True) >     textSymbol.setHaloColor(Color.WHITE) >     textSymbol.setHaloWidth(2) >     defaultLabel.setTextSymbol(textSymbol) >     resp = gls.getLabelingMethod() #ILabelingMethod >     resp.addLabelClass(defaultLabel) >     gls.setLabelingMethod(resp) >     layer.setLabelingStrategy(gls) > > Pasa como al hacerlo en modo diseño, si el ángulo es obligatorio tengo > que utilizar el modo "Atributos de la etiqueta definidos en tabla", > aunque no pueda cambiar el origen, y si es necesario cambiar el origen > hay que usar el modo "Etiquetas definidas por el usuario", aunque no > puede establecer un ángulo. > > Lo que me falta ahora es agrupar capas. ¿Alguna idea? > > Muchas gracias. > > Un saludo, > > Víctor Montes. > > ------------------------------------------------------------------------ > *De: *"Óscar Martínez" > *Para: *"Montes Cámara, Victor" > *CC: *"Lista de Desarrolladores de gvSIG" > > *Enviados: *Lunes, 28 de Octubre 2019 15:58:08 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > Buenas, > Aquí te he puesto un ejemplo de lo que sería establecer un etiquetado > avanzado, con la colocación sobre el punto, con una expresión de > etiquetado,si solo quieres por un campo sería algo como (["CAMPO1"]) y > lo del halo con un color y tamaño. > https://gist.github.com/oscar9/5393823cb2d49ef9467b932fbf50ee29 > Ya me comentas si te funciona bien. > Saludos, > Óscar > PD: Lo envío también a las listas > > El mié., 23 oct. 2019 a las 13:49, Montes Cámara, Victor > ( >) escribió: > > De la segunda parte, realmente lo que más te interesa es situar la > etiqueta sobre el punto, es decir la opción siguiente de las > propiedades de colocación: > > > ------------------------------------------------------------------------ > *De: *"Montes Cámara, Victor" > > *Para: *"Lista de Desarrolladores de gvSIG" > > > *CC: *omartinez en gvsig.com > *Enviados: *Miércoles, 23 de Octubre 2019 11:01:27 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > > Me contesto yo mismo, > > Para la primera parte, siguiendo el ejemplo en > http://osgeo-org.1560.x6.nabble.com/Re-Etiquetas-desde-scripting-td5400766.html sería > > symbologyManager = SymbologyLocator.getSymbologyManager() > labeling = symbologyManager.createDefaultLabelingStrategy() > > > labeling.setTextField("TEXTO") > labeling.setUsesFixedColor(True) > labeling.setUsesFixedSize(True) > labeling.setHeightField(None) > labeling.setRotationField("ANGULO") > labeling.setFixedColor(Color(255,255,255)) # RGB > labeling.setFont(Font("Arial", Font.PLAIN, 12)) > labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 > labeling.setFixedSize(15) > labeling.setUnit(-1) # PIXELS > > layer.setLabelingStrategy(labeling) > > layer.setIsLabeled(True) > > Voy con la segunda parte. > ------------------------------------------------------------------------ > *De: *"Montes Cámara, Victor" > > *Para: *"Lista de Desarrolladores de gvSIG" > > > *CC: *omartinez en gvsig.com > *Enviados: *Miércoles, 23 de Octubre 2019 10:13:20 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > > Gracias Óscar, > > Sí, eso es sencillo, ya lo había descubierto. > Ahora estoy con el tema del etiquetado. > > Tengo una capa de calles donde quiero poner como etiqueta un campo > definido en tabla, el ángulo otro campo, tamaño y negrita. > Equivalente a lo siguiente en modo diseño: > > > También tengo una capa de números de policía donde quiero > establecer unas propiedades concretas, que en modo diseño > establecería de la siguiente manera: > "Etiquetas definidas por el usuario", "Etiquetar todas las > entidades de la misma manera" y las siguientes propiedades: > > > Y eligiendo un campo de tabla para visualizar. > > Por ahora he conseguido activar el etiquetado con la instrucción: > > layer.setIsLabeled(1) > > Para lo demás supongo que habrá que utilizar los > métodos setLabelingStrategy o drawLabels, pero no tengo claro como. > > Un saludo, > > Víctor Montes. > ------------------------------------------------------------------------ > *De: *"Óscar Martínez" > > *Para: *"gvsig desarrolladores" > > > *Enviados: *Lunes, 21 de Octubre 2019 17:54:47 > *Asunto: *Re: [Gvsig_desarrolladores] Establecer propiedades de capas > > Buenas, > > Para establecer los límites del zoom se hace directamente sobre la > capa. Solo son necesarias dos líneas. > >   layer.setMinScale(integer) >   layer.setMaxScale(integer) > > Por ejemplo en el siguiente script se crea una capa de puntos y se > establece que solo sea visible por debajo de 1:5.000 y por encima > de 1:1.000 > > # encoding: utf-8 > > import gvsig > from gvsig import geom > > def main(*args): > >   # Creating new layer >   ft = gvsig.createSchema() >   ft.append("ID", "INTEGER") >   ft.append("GEOMETRY", "GEOMETRY") >   ft.get('GEOMETRY').setGeometryType(geom.POINT,geom.D2) > >   layer = gvsig.createShape(ft, prefixname="testScale") >   store = layer.getFeatureStore() >   layer.edit() >   layer.append({"ID":1,"GEOMETRY":geom.createPoint(geom.D2, 10, 20)}) >   layer.append({"ID":2,"GEOMETRY":geom.createPoint(geom.D2, 20, 20)}) >   layer.append({"ID":3,"GEOMETRY":geom.createPoint(geom.D2, 20, 30)}) >   layer.commit() >   gvsig.currentView().addLayer(layer) > >   #Change zoom >   layer.setMinScale(1000) >   layer.setMaxScale(5000) > > https://gist.github.com/oscar9/296125be4e58e87d978c578ea3996000 > > > El 18/10/19 a las 10:43, Montes Cámara, Victor escribió: > >     Buenos días, > > Tengo un desarrollo en el que creo capas shapefile > dinámicamente a partir de tablas en Oracle Spatial. > Me gustaría saber como cambiar, a través de scripting, las > propiedades de la capa, tales como color, etiquetas, zoom > mínimo o incluso como agrupar capas. > > Un saludo. > Víctor Montes > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores 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_desarrolladores > > -- > -- > gvSIG Association > Óscar Martínez > omartinez en gvsig.com > > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores 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_desarrolladores > > > > -- -- gvSIG Association Óscar Martínez omartinez en gvsig.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 13627224.879999878 Type: image/png Size: 27426 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 216729.02999981306 Type: image/png Size: 38087 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 410523.79999984987 Type: image/png Size: 43089 bytes Desc: no disponible URL: