Welcome to Planet OSGeo

January 31, 2015

Free and Open Source GIS Ramblings

Publishing interactive web maps using QGIS

We all know that QGIS is great for designing maps but did you know that QGIS is also great for interactive we maps? It is! Just check out qgis2leaf and qgis2threejs.

To give these two plugins a test run and try to learn some responsive web design, I developed a small concept page presenting cycle routes in 3D.

Screenshot 2015-01-31 22.20.15

Qgis2leaf makes it possible to generate Leaflet maps from QGIS layers. It provides access to different background maps and it’s easy to replace them in the final HTML file in case you need something more exotic. I also added another layer with custom popups with images but that was done manually.

Daten CC-BY-3.0: Land Kärnten - data.ktn.gv.at

The web maps use data CC-BY-3.0: Land Kärnten – data.ktn.gv.at

Qgis2threejs on the other hand creates 3D visualizations based on three.js which uses WebGL. (If you follow my blog you might remember a post a while back which showcased Qgis2threejs rendering OSM buildings.)

This is a great way to explore elevation data. I also think that the labeling capabilities add an interesting touch. Controlling the 3D environment takes some getting used to, but if you can handle Google Earth in your browser, this is no different.

Image of Heiligenblut by Angie (Self-photographed) (GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY 3.0 (http://creativecommons.org/licenses/by/3.0)), via Wikimedia Commons

Image of Heiligenblut by Angie (Self-photographed) (GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY 3.0 (http://creativecommons.org/licenses/by/3.0)), via Wikimedia Commons

by underdark at January 31, 2015 10:14 PM

January 30, 2015

Slashgeo (FOSS Articles)

I Cátedra gvSIG Contest: Works with free GIS

The aim of the Cátedra gvSIG is to create a meeting point for users interested in free space technologies. In order to foment an environment of shared knowledge and participating in the dissemination of free geomatics, the chair organizes this international contest to encourage all gvSIG users and free Geographic Information Systems users to share and give visibility to their work. Students and graduates in high school, professional training and university, as well as university professors and researchers from all countries can participate in this contest.

To enter to the competition you must meet the following requirements: Works must be done with free Geographic Information Systems and the subject of the work may address any area of knowledge. Works may have been made in 2015 or before, the papers may be presented collectively and individually and jobs may be sent in Spanish, Valencian or English. In the event the work is based on a new development done through free and open source GIS geospatial technologies, these papers must be subjected to GNU / GPL v3 license.

Among the selected works a prize of 500 euros will be awarded for each of the following categories:

  1. Work produced by students of highschool or professional training
  2. Final University’s Project (Bachelor, Degree or Master)
  3. Doctoral thesis or research paper.

Submissions should be sent to gvsig@umh.es no later than November 1, 2015. Selected documents will be published in the repository of the Miguel Hernández University. The jury will evaluate the methodology, clarity and innovative nature of the work, assessing as well the relevance and applicability of the research. Winners will be announced in the next International gvSIG Conference [1]. For more information visit the contest page of the Chair (in Spanish [2]) or contact gvSIG (gvsig@umh.es) via email.

[1] http://jornadas.gvsig.org
[2] http://gvsig.edu.umh.es

The post I Cátedra gvSIG Contest: Works with free GIS appeared first on Slashgeo.org.

by Mario Carrera at January 30, 2015 08:42 PM

gvSIG Team

gvSIG 2.1: Biblioteca de símbolos para el transporte (AIGA)

En gvSIG 2.1 podemos instalar, entre las bibliotecas de símbolos disponibles, la denominada AIGA.  AIGA es el acronimo del American Institute of Graphic Arts.
AIGA es conocida por sus actividades de diseño técnico, específicamente en la creación de pictogramas del Departamento de Transporte de los Estados Unidos en 1979. Precisamente, basándonos en ese conjunto de pictogramas, hemos generado una nueva biblioteca de símbolos.
Los símbolos puntuales los hemos complementado con un conjunto de símbolos para líneas y rellenos inspirados en la paleta de color utilizada en el documento “Thinking inside the box. AIGA identity and branding guidelines“.
Para instalarlo, como es habitual, debemos utilizar el administrador de complementos de gvSIG.

Una vez instalado podremos utilizar símbolos como estos:


Filed under: gvSIG Desktop, opinion, spanish Tagged: gvSIG 2.1, simbología, transporte

by Alvaro at January 30, 2015 01:42 PM

gvSIG Team

I Cátedra gvSIG Contest. Works with free GIS

The aim of the Cátedra gvSIG is to create a meeting point for users interested in free space technologies. In order to foment an environment of shared knowledge and participating in the dissemination of free geomatics, the chair organizes this international contest to encourage all gvSIG users and free Geographic Information Systems users to share and give visibility to their work.

Students and graduates in high school, professional training and university, as well as university professors and researchers from all countries can participate in this contest.

To enter to the competition you must meet the following requirements: Works must be done with free Geographic Information Systems and the subject of the work may address any area of knowledge.

Works may have been made in 2015 or before, the papers may be presented collectively and individually and jobs may be sent in Spanish, Valencian or English.

In the event the work is based on a new development done through free and open source GIS geospatial technologies, these papers must be subjected to GNU / GPL v3 license.

Among the selected works a prize of 500 euros will be awarded for each of the following categories:

  1. Work produced by students of highschool or professional training
  2. Final University’s Project (Bachelor, Degree or Master)
  3. Doctoral thesis or research paper.

Submissions should be sent to gvsig@umh.es no later than November 1, 2015.

Selected documents will be published in the repository of the Miguel Hernández University.

The jury will evaluate the methodology, clarity and innovative nature of the work, assessing as well the relevance and applicability of the research. Winners will be announced in the next International gvSIG Conference.

For more information visit the contest page of the Chair (in Spanish) or contact gvSIG gvsig@umh.es via email.

Filed under: community, english, gvSIG Desktop, gvSIG Educa, gvSIG mini, gvSIG Mobile

by Mario at January 30, 2015 09:41 AM

gvSIG Team

gvSIG applied to Architecture

The 10th International gvSIG Conference were held some weeks ago in Valencia (Spain), where more than thirty communications were presented about different themes.

At the Conference there was a session specially dedicated to architecture. Different reports were presented about Geographic Information Systems in an architecture office, urban licenses or energy efficiency certificates, all of them very interesting projects.

All these presentations, as well as their recording, are available. They were concretely these ones:

- GIS applied to project management in an architecture office (PDF: 8.0 MB); VICENTE J. VALERO (Grado en Arquitectura Técnica)

- Geographic Information Systems for urban licenses management (PDF: 4.7 MB); PABLO PERUCHO (Grado en Arquitectura Técnica)

- GIS applied to energy efficiency certificates in the municipality of Llíria (PDF: 5.4 MB); MIGUEL ÁNGEL SIMEÓ (Grado en Arquitectura Técnica)

- Multicriterial metodology for the optimal location searching of a public site (ODP: 10.7 MB; PDF: 4.1 MB); RUBÉN HERNÁNDEZ (Grado en Arquitectura Técnica)

- Questions at this sessions:

We hope this information is useful for you!


Filed under: english, events, gvSIG Desktop

by Mario at January 30, 2015 08:21 AM

January 29, 2015

Just van den Broecke

3D Geospatial – Open Standards – v0

This is my evolving overview of 3D Geospatial Open Standards with a focus on web technology: services, HTML5, WebGL. These are notes I keep within Evernote as part of the 3D Geospatial Notebook whose public link is: https://www.evernote.com/pub/justb4ever/3d-geospatial. For sure, resources are missing, let me know. These notes are synced from Evernote using Zapier, so formatting is a bit messy, sorry for that, though I completely revised this blog on jan 30, 2015.

The presentations by Emanuel Belo (Camp2Camp, links below) are an excellent start to get a global overview. He mentions the following categories of 3D standards and their organizations:

Geo: OGC

  • 3D Portrayal Services (Proposals: WVS WMS-Like & W3DS WFS-Like) (Just: Now 3DPS)
  • CityGML – representation, storage, and exchange
  • CZML (AGI/Cesium) ?

Geo: OSGeo

  • TMS (Cesium Terrain Server z.B)


Web: Web3d

  •  X3D – Extensible 3D Graphics

Graphics: Khronos Group

  • COLLADA – eXchange / interoperability
  • glTF – graphic language Transmission Format



  • TopoJSON

In the short time I am spending within the 3D domain I think another categorization could be 3D Web Services Standards and 3D Content/Format Standards. A lot of focus is usually on the latter. Within 3D Content/Format Standards my view is that there are the sub-categories based on stages within a 3D rendering pipeline, i.e. from raw source data like CityGML up to 3D-scene encodings like COLLADA and glTF. I see “Terrain” as a separate content category with encodings like height maps and TINs.

I think/hope that 3D Web Services will gain importance: services to request Content in various encodings plus Terrain data. Techniques like tiling (TMS/WMTS) are already very common within the geospatial world. With the latest developments in vector-tiling I see much potential, especially for terrain and textures (raster) draped on a terrain. Streaming as in video streaming, is not common within the geospatial world but may become of use especially in HTML5 apps (via web sockets?).

The following presentations by Emanuel Belo from Camp2Camp hit the nail on the head. The content lives up to the title.
Two versions available, video and slides from FOSS4G 2013, Nottingham (missed that unfortunately) and a later 2014 version.

https://www.youtube.com/watch?v=9CgU0zs8DlU 3D Web Services And Models For The Web: Where Do We Stand? Belo FOSS4G13
http://www.slideshare.net/camptocamp/3-d-web-services-and-models-for-the-web Belo – ditto slides [1]
http://www.geospatialworldforum.org/2014/presentation/geo3d/Emmanuel%20Belo%20M.pdf Belo – ditto 2014 version slides

Open Geospatial Consortium – OGC
For open geospatial standards the Open Geospatial Consortium, OGC, is the first standards body to look at. Their standards
are often aligned with corresponding ISO standards and more recently OGC started collaborating more closely with W3C.

At least two Standards Working Groups (WSGs) are dedicated to 3D. The more established
3D Information Management (3DIM, CityGML!)) and the probably lesser known 3D Portrayal SWG.

It should be noted and credited that most of the OGC 3D standards came out of the German GDI-DE project http://www.gdi-3d.de.
At this moment (jan 2015) two main OGC standards are of importance for 3D: CityGML and the draft standard for 3D Portrayal web services: 3DPS.

OGC – 3D Information Modeling – CityGML
“CityGML is a common information model and XML-based encoding for the representation, storage, and exchange of virtual 3D city and landscape models. CityGML provides a standard model and mechanism for describing 3D objects with respect to their geometry, topology, semantics and appearance, and defines five different levels of detail. Included are also generalization hierarchies between thematic classes, aggregations, relations between objects, and spatial properties. CityGML is highly scalable and datasets can include different urban entities supporting the general trend toward modeling not only individual buildings but also whole sites, districts, cities, regions, and countries.”

SWG: http://www.opengeospatial.org/projects/groups/3dimwg – 3D Information Management (3DIM) Domain Working Group
CityGML: http://www.opengeospatial.org/standards/citygml

OGC candidate 3D Standards | GeoConnexion

OGC – 3D Web Services – 3D Portrayal

SWG: http://www.opengeospatial.org/projects/groups/3dpswg – 3D Portrayal SWG.
Note the W3DS, WVS, WTS and WPVS are now all obsolete since they have been merged into a single web service standard: the 3D Portrayal Service (3DPS).

A draft version 1.0.0 is now (january 2015) out for public comment within OGC:

“The 3D portrayal standard (3DPS) is an OGC service implementation specification targeting the delivery of 3D portrayals in an interoperable fashion. … When client and server(s) involved share a common set of capabilities, it becomes possible to view and analyze 3D geoinformation from diverse sources in a combined manner. …. The 3DPS combines the essential parts of the suggested W3DS and WVS into one common interface.” and

“ The Open Geospatial Consortium (OGC) and the Web3D Consortium have both been working to address the need for interoperability, as well as the content challenges of volume, access speed, and diversity of devices. The Web3D Consortium has focused on open standards for real-time 3D visualization, including streaming, and their members developed a Geospatial Component extension for X3D. The OGC has focused on developing a service interface to provide interoperable access to 3D geospatial data servers. In 2012, a group of OGC members, building on work done in both organizations, completed the 3D Portrayal Interoperability Experiment (3DPIE) to develop and evaluate best practices for 3D portrayal services.”

“The candidate OGC 3D Portrayal Service Standard is designed to support both client and server side rendering. For client-side rendering, the client requests a 3D model from the server. The server extracts the requested model from the 3D geodata server and generates a 3D scene graph including geometry and textures. Depending on the server’s capabilities, data formats such as X3D, KML and COLLADA can be used to retrieve the scene graph. The rendering of the scene is done on the client side. In a web client, X3DOM and/or XML3D can be used to integrate the scene into an immersive HTML5 experience. However, there are no fixed format requirements, opening the service for other technologies such as JSON-based glTF. For server side rendering, the client passes the requested content and view parameters to the server. The server then generates layered image depictions of the 3D environment for display on the client. In either scenario, the client’s user can query and navigate through the 3D content.”

Link to 3DPS v1.0.0 for public review on jan 29, 2015:

Public comment request: http://www.opengeospatial.org/standards/requests/130
Direct download 3DPS 1.0.0 draft: https://portal.opengeospatial.org/files/61884

For history reasons some notes kept on W3DS and WVS below.

A Web 3D Service (W3DS) is a portrayal service for three-dimensional geodata such as landscape models, city models, textured building models, vegetation objects, and streetfurniture. Geodata is delivered as scenes that are comprised of display elements, optimized for efficient real time rendering at high frame rates. 3D Scenes can be interactively displayed and explored by internet browsers with 3D plug-ins, or loadedinto virtual globe applications.

The Web View Service (WVS) is a portrayal service for three-dimensional geodata suchas landscape models, city models, vegetation models, or transportation infrastructure

models. A WVS server mainly provides 2D image representing a 3D view on a scene
constructed from 3D geodata that is integrated and visualized by the WVS server. In
addition to these color images of a 3D scene, a WVS server can advertise and deliver
complementary image layers that include geometrical or thematic information: e.g., depth
layers, surface normal data, or object id information.

OGC – 3D Portrayal Interoperability Experiment (3DPIE)
The OGC …. “3D Portrayal Interoperability Experiment (IE) successfully tested and demonstrated different mechanisms for the portrayal, delivery, and exploitation of 3D geodata based on open standards-based formats and services. …approaches for service-based 3D portrayal based on thedrafts for the candidate standards for 3D portrayal, Web 3D Service (W3DS) and WebView Service (WVS).”

Page: http://www.opengeospatial.org/projects/initiatives/3dpie
Report https://portal.opengeospatial.org/files/?artifact_id=49068

NB this ultimately lead to the development of the 3D Portrayal Standard which merged W3DS and WVS.

Open Source Geospatial Foundation – OSGeo
Although OSGeo.org is not a standards body, for years the Tiled Map Service TMS spec is intensively used, probably more than its OGC-counterpart WMTS…

TMS is finding its use in the 3D landscape not just for tiles containing 2D raster maps to be draped over a terrain, but also more and more as a container for height and (compressed) vector tiles. This is an important development, see e.g. Cesium Terrain Server and its two format-encodings for terrain-tiles:

X3D – Web3D
“Extensible 3D (X3D) Graphics and Humanoid Animation (H-Anim) include a coordinated set of steadily evolving ISO standards. “

http://www.web3d.org/standards (mostly X3D, equiv with ISO/IEC 19775 (architecture and
abstract capabilities), 19776 (encodings), and 19777 (API)))

“X3DOM is an adaption of the X3D standard to (X)HTML, ensuring declarative 3D can
be used inside standards-compliant browser. It aims to support a large browser base and
decent X3D feature coverage, while working towards a common declarative 3D standard
in the Declarative 3D community WG at the W3C. The reference implementation is
maintained by Fraunhofer IGD and available under the open-source license MIT.”

“WebGL is a standard for programming in 3D with the browser as platform. The final
specification of the standard was published in 2010 and is defined by the Khronos Group,
a consortium which is also in charge of Open GL, Open CL and OpenGL ES (embedded
systems). WebGL provide a context into HTML5 canvas that is 3D Computer Graphics
capable without plug-in.”

Although CesiumJS is mainly a client JavaScript framework based on WebGL and Dojo, there are also some useful standards originating from the project.

http://cesiumjs.org/data-and-assets/terrain/formats/quantized-mesh-1.0.html quantized mesh via TMS – for terrain services based on TINs.
https://github.com/AnalyticalGraphicsInc/cesium/wiki/CZML-Guide – CZML is a JSON schema for describing a time-dynamic graphical scene

“COLLADA™ defines an XML-based schema to make it easy to transport 3D assets between applications – enabling diverse 3D authoring and content processing tools to be combined into a production pipeline. The intermediate language provides comprehensive encoding of visual scenes including: geometry, shaders and effects, physics, animation, kinematics, and even multiple version representations of the same asset.COLLADA FX enables leading 3D authoring tools to work effectively together to create shader and effects applications and assets to be authored and packaged using OpenGL® Shading Language, Cg, CgFX, and DirectX® FX.”


Originally from Keyhole/Google, but since years an OGC Standard. May embed Collada.

“Keyhole Markup Language (KML) is an XML notation for expressing geographic annotation and visualization within Internet-based, two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Keyhole Earth Viewer. It was created by Keyhole, Inc, which was acquired by Google in 2004. KML became an international standard of the Open Geospatial Consortium in 2008.[1][2] Google Earth was the first program able to view and graphically edit KML files. “
Source: http://en.wikipedia.org/wiki/Keyhole_Markup_Language

OGC Standard: http://www.opengeospatial.org/standards/kml

3D in KML:

Final stage OpenGL Transmission Format to enable rapid delivery and loading of 3D content by WebGL, OpenGL, and OpenGL ES APIs.

“The “glTF” project aims to define a final stage OpenGL Transmission Format to enable rapid delivery and loading of 3D content by WebGL, OpenGL, and OpenGL ES APIs. glTF together with COLLADA comprise a standards-based content pipeline for rich 3D web and mobile applications. glTF Specification is a work-in-progress from the COLLADA Working Group; it is not an official Khronos-ratified specification yet. It is incomplete and subject to change. The draft specification and related converters and loaders are available on github.”



“TopoJSON is an extension of GeoJSON that encodes topology. Rather than representing geometries discretely, geometries in TopoJSON files are stitched together from shared line segments called arcs. TopoJSON eliminates redundancy, offering much more compact representations of geometry than with GeoJSON; typical TopoJSON files are 80% smaller than their GeoJSON equivalents. In addition, TopoJSON facilitates applications that use topology, such as topology-preserving shape simplification, automatic map coloring, and cartograms.” (i.e. compact TIN-representations!).

Germany: SIG 3D
Germany-based 3D interest group. Started already very early (2002) with 3D geospatial and has a long history. Many useful resources for both standards and implementations can be found via their websites.

“Three-dimensional models of cities and regions play an important role in major applications of architecture, urban planning, surveying, mobile telecommunication or facility management. In the environmental sector 3D city models enable the simulation of noise and exhaust emissions as well as predictions on city climate change affecting a city. Concerning disaster situations like floods, 3D landscape models can help to analyse the affected areas and buildings.”

“Since the beginning of 2010 SIG 3D is part of the German Spatial Data Infrastructure (GDI-DE) and coordinates this context the national and international network of 3D activities.”

Several standards like OGC CityGML W3DS, later 3DPS had their origins here.

The Netherlands: Doorbraak 3D (Breakthrough 3D)
3D initiative within The Netherlands as a follow-up on earlier successful 3D projects like the 3D-Pilot:

As a follow-up (2011) of the 3D-Pilot the public standard CityGML-IMGeo was developed. Basically this standardizes detailed smallscale/detailed topography using and extending CityGML. http://www.geonovum.nl/wegwijzer/standaarden/gegevenscatalogus-imgeo-versie-211

History of 3D geo in The Netherlands: http://www.geonovum.nl/onderwerpen/3d-geo-informatie/historie-3d-geo-informatie-nl

Now (jan 2015) starting up a next phase called “3D Doorbraak”, with a recent working conference for establishing the 3D roadmap for The Netherlands: http://www.geonovum.nl/nieuws/werkconferentie-voor-opstellen-roadmap-3d-doorbraak
The choice of standards plays an important part.

See also news items via Twitter (#doorbraak3D): https://twitter.com/search?q=%23doorbraak3D&src=typd


Now that geospatial information is obtaining more detail and moving into 3D, integration with standards within the Building and infrastructure industry is one of the most obvious use-cases. Building Information Modelling or BIM is a huge standardization effort within the Building and infrastructure domain.

Geoff ,”Between The Poles”, Zeiss blogs regularly on BIM and Geospatial: http://geospatial.blogs.com/geospatial/bim/

“Building information modeling (BIM) is a process involving the generation and management of digital representations of physical and functional characteristics of places. Building information models (BIMs) are files (often but not always in proprietary formats and containing proprietary data) which can be exchanged or networked to support decision-making about a place. Current BIM software is used by individuals, businesses and government agencies who plan, design, construct, operate and maintain diverse physical infrastructures, such as water, wastewater, electricity, gas, refuse and communication utilities, roads, bridges and ports, houses, apartments, schools and shops, offices, factories, warehouses and prisons.”

Source: http://en.wikipedia.org/wiki/Building_information_modeling

For information exchange the Industry Foundation Classes are put forward.

“The Industry Foundation Classes (IFC) data model is intended to describe building and construction industry data.

It is a platform neutral, open file format specification that is not controlled by a single vendor or group of vendors. It is an object-based file format with a data model developed bybuildingSMART (formerly the International Alliance for Interoperability, IAI) to facilitate interoperability in the architecture, engineering and construction (AEC) industry, and is a commonly used collaboration format in Building information modeling (BIM) based projects. The IFC model specification is open and available.[1] It is registered by ISO and is an official International Standard ISO 16739:2013.”
Source: http://en.wikipedia.org/wiki/Industry_Foundation_Classes



by Just van den Broecke at January 29, 2015 02:06 PM

gvSIG Team

gvSIG 2.1: Symbol library for collective mapping

“Territory is the socially built space”, with this sentence starts the excellent “Collective mapping tutorial. Critical mapping resources for shared mapping ” in Spanish, by Iconoclasistas (there’s another tutorial in English, with license CC BY-SA 2.0 – Creative Commons, called Collective mapping).

In this tutorial, with licence Attribution Non-commercial Share Alike 2.5, we find a symbology orientated to be used at the collective mapping workshops. Symbology which is not the usual representation of geographical elements to add an iconography for ideological representations.

And although originally the symbology was created to be used in a more crafty way in the different workshops, we think that is really interesting to have it in a opensource GIS and that gvSIG could be a tool to do this type of collective mapping jobs and the analysis of our social reality.

For all these reasons, we want to add to the comunity the new add-on for gvSIG 2.1, which is just a symbol library for collective mapping.

We hope that you like it.

Here is a video showing how to install this library (as usual, from add-ons administrator):

Filed under: gvSIG Desktop, spanish Tagged: gvSIG 2.1, mapeo colectivo, symbols

by mjlobato76 at January 29, 2015 11:29 AM

gvSIG Team

Concurso Cátedra gvSIG de trabajos con Sistemas de Información Geográfica libres

La Cátedra gvSIG comienza sus actividades con la intención de crear un punto de encuentro para los usuarios interesados en las tecnologías espaciales libres. Con el objetivo de crear un entorno de conocimiento compartido y de participar en la difusión de la geomática libre, la cátedra convoca este concurso internacional para animar a todos los usuarios de gvSIG y Sistemas de Información Geográfica libres a compartir y dar visibilidad a sus trabajos.

Pueden participar en este concurso estudiantes y graduados de Bachillerato y Formación Profesional, estudiantes y graduados universitarios, así como profesores universitarios e investigadores de todos los países.

Los trabajos pueden tratar sobre cualquier área de conocimiento, con el requisito de haber sido realizados con Sistemas de Información Geográfica libres. En el caso de que el trabajo se base en un nuevo desarrollo realizado a través de tecnologías geoespaciales libres y SIG libres, estos desarrollos estarán sujetos a una licencia GNU/GPL v3. Los trabajos pueden haber sido realizados en 2015 o con anterioridad, los concursantes podrán presentarse de forma colectiva e individual y su trabajo podrá enviarse en castellano, valenciano o inglés.

Entre los trabajos seleccionados se otorgará un premio de 500 euros para cada una de las siguientes categorías:

  1. Trabajo elaborado por alumnos de Bachillerato o Formación Profesional
  2. Proyecto Fin de Titulación Universitaria (Licenciatura, Grado, Máster)
  3. Tesis doctoral o trabajo de investigación.

Los trabajos deberán enviarse antes del 1 de noviembre de 2015 a la dirección de correo electrónico gvsig@umh.es.

Los trabajos seleccionados se compartirán en el repositorio de la Universidad Miguel Hernández. El jurado evaluará la metodología, la claridad y el carácter innovador de los trabajos, valorando también la pertinencia y aplicabilidad en el caso de trabajos de investigación. Los ganadores serán anunciados en las próximas Jornadas Internacionales gvSIG [1].

Para más información consulta las bases del concurso en la página de la Cátedra gvSIG [2] o contacta a través del correo electrónico gvsig@umh.es.

[1] http://jornadas.gvsig.org
[2] http://gvsig.edu.umh.es

Filed under: community, events, gvSIG Desktop, gvSIG Educa, gvSIG mini, gvSIG Mobile, spanish

by Mario at January 29, 2015 08:55 AM

January 28, 2015


GeoServer workshops and presentations at FOSS4G-NA 2015


Dear Reader, GeoSolutions is proud to announce that Andrea Aime, our technical lead on GeoServer will attend this year FOSS4G North America in San Francisco to give a workshop and presentation on GeoServer itself. The conference will take place at the Hyatt Regency San Francisco Airport  between 9th and 12th of Marc2015. Specifically the 9th will be dedicated to workshops (here is the workshop schedule) while presentations will be given on 10th, 11th and 12th.

The schedule for our workshop is as follows:
  • GeoServer, an introdutction for beginners with Andre Aime, 9th of March 2015 from 9 to 12 - The workshop will provide the attendees with an in-depth introduction to the GeoServer Open Source server useful for those who are (still??) not familiar with it but also for those who already using it as they will have the chance to ask questions directly to one of the main developers behind the software.
The schedule for our presentation is as follow:
  • Status of GeoServer WPS  with Andrea Aime,  12th of March 2015 from 12 to 12:35 - This presentation will provide the attendee with an introduction to the GeoServer WPS functionalities, and will highlight the recent improvements in the area. The presentation will finally show some real world examples of applications using GeoServer WPS.
Looking forward to seeing you in San Francisco! The GeoSolutions team, 320x100_eng

by simone giannecchini at January 28, 2015 02:33 PM

Just van den Broecke

3D Geospatial – Free and Open Source Software v0

This is my list of FOSS products for 3D Geospatial with a focus on web technology/WebGL and Open Standards. These are notes I keep within Evernote as part of the 3D Geospatial Notebook whose public link is: https://www.evernote.com/pub/justb4ever/3d-geospatial. This is also the first experiment to auto sync Evernote to WordPress using Zapier, so beware of any glitches in formatting! I am sure I have missed many other great products. Let me know!
OSLandia from Paris, France  is one of the most active companies contributing to 3D Geospatial FOSS.
- The latest PostGIS and QGIS 3D enhancements presented at FOSS4G by Oslandia – GIS goes 3D : an OpenSource stack – Olivier Courtin – FOSS4G 2014
- General
“Cesium is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned for dynamic-data visualization. Cesium is open source under the Apache 2.0 license. It is free for commercial and non-commercial use.”
- Migrating from Google Earth to Cesium
This is a guest post by Greg Angevine, Founder of Cube Cities Inc.. His company has used the Google Earth plugin for years and has recently built impressive work with Cesium (like this).
- Cesium and OpenLayers3
Cesium has a real focus on (OGC) standards and integrating with software implementing OGC standards. I heard that the Cesium-folks are even proposing additions to OGC 3D standards (CZML? or the very compact terrain tiling using quantized mesh?). That would be great in concert with/as payload for the upcoming 3DPS (3D Portrayal Service) standard.
- My Cesium experiments with Dutch OpenTopo tiles and Top10NL-3D Vector
- My Cesium experiments with Cesium-OpenLayers3 Integration using Dutch Topo Top10NL-3D Vector 
From the folks from MapZen who make much more cool stuff: Tangram is a library for rendering 2D & 3D maps with WebGL, using GeoJSON/TopoJSON or binary vector tiles.”
- General
D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.”
- Kind of 3D with D3 – Maps for the Web
- Creating Charts and Legends for 3D Atlas Maps – A Mashup of D3.js, osgEarth, and the Chromium Embedded Framework — Raimu
PostGIS has many 3D facilities. Check these out.
- Lidar/Pointclouds in PostGIS:
- X3D Generation
- 3ddb for PostGIS (CityGML)
- PostGIS and CGAL
and CGAL https://www.cgal.org and 
SFCGAL http://www.sfcgal.org/ SFCGAL is a C++ wrapper library around CGAL with the aim of supporting ISO 19107:2013 andOGC Simple Features Access 1.2 for 3D operations.”
- Other PostGIS 3D Stuff
“This post explains how to setup a powerful spatial data store (PostGIS) with a wide range of features (SFCGAL, PgRouting, PostgreSQL PointCloud, PDAL
http://postgis3d.blogspot.nl/ (Camp2Camp – 2007 – by Mathieu ..?)
XNavigator is an interactive 3D viewer and integrated client for exploring virtual city and landscape models.
Instead of defining its own proprietary communication protocols, open OGC standards are used. The Open Geospatial Consortium (OGC) defines standards for accessing spatial information over the internet.  The main 3D content is downloaded from a Web 3D Service (W3DS).
Additional OGC services which can be accessed include:
  • Web Map Service (WMS)
  • Open Location Services (OpenLS) including Route Service, Directory Service, and Geocoder
  • Catalog Service for Web (CSW) ebRIM profile
  • Web Feature Service (WFS) serving GML3 and CityGML content
The aim of the project is to create a lightweight 3D library with a very low level of complexity — in other words, for dummies. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.”
W3DS (Web 3D Service) is a portrayal service for 3D scenes. Early OGC discussion documents.
Now superseded by the 3DPS, the 3D Portrayal Service, now (jan 2015) out for public comment in OGC.
This is an early W3DS implementation in GeoServer that started from the dissertation work by Nuno Miguel Carvalho Oliveira (professor: Jorge Gustavo Rocha) at the University of Minho (Portugal). 
By OSLandia.
“A simple viewer built around OpenSceneGraph … designed to listen to commands on its standard input. …

The other piece is a Python plugin that is used to connect QGIS signals to the viewer (in another process) to allow loading of QGIS layers with 3D geometries.”

Again By OSLandia, watch these guys!
Cuardo is an OpenSource WebGL 3D data viewer, focusing on urban data analysis and visualization.a 3D GIS web framework based on Three.js and WebGL, oriented toward urban visualization.
Suggestions from Readers
 After the first version I got quite some suggestions. Thanks!
- Glob3Mobile – @DiegoGomezDeck 
“G3M is a framework developed and designed to:
  • Develop mobile maps apps in 2D, 2,5D and 3D
  • Work with real time data
  • Integrate any kind of data (format,size)
  • Be integrated on any legacy system
  • High performance mobile native development
  • Multi Touch screens
  • Face the problem of the mobile performance as an integrated problem between server & client

Works on iOS, Android devices and HTML5 environments


by Just van den Broecke at January 28, 2015 11:52 AM

gvSIG Team

Advanced labelling in gvSIG 2.1

One of the features that can be found in gvSIG 2.1 is advanced labelling, that includes many possibilities and tools to customize label according to user need. The advanced labeling has been migrated from gvSIG 1.x to gvSIG 2.1, keeping all the existing customization options and adding some of the most required options by the user community, like the halo option.

Here are a couple of videos that show some ( of the many ) labelling options .

In this first video we focus on the possibility of labelling with halo or adding a background image for tags.

In the second video we illustrate the possibility to display labels only for selected features.

English translation of Etiquetado avanzado en gvSIG 2.1.

Filed under: gvSIG Desktop, spanish Tagged: etiquetado, etiquetar, gvSIG 2.1, halo

by Giuliano Ramat at January 28, 2015 10:45 AM

gvSIG Team

Etiquetado avanzado en gvSIG 2.1

Otra de las funcionalidades que podemos encontrar en gvSIG 2.1 es la de etiquetado avanzado, que a su vez contiene distintas posibilidades y herramientas para confeccionar un etiquetado al gusto del usuario. El etiquetado avanzado ha sido migrado de gvSIG 1.x a gvSIG 2.1, manteniendo todas las opciones de personalización del etiquetado e incorporando al mismo tiempo alguna novedad de las más solicitadas por la comunidad de usuarios, como es la opción de halo.

A continuación un par de vídeos que muestran algunas (de las muchas) opciones de etiquetado.

En este primer vídeo nos centramos en la posibilidad de etiquetar con halo o añadiendo alguna imagen de fondo que acompañe a las etiquetas.

En el segundo vídeo vemos la posibilidad de que las etiquetas se muestren sólo cuando seleccionemos un elemento.

Filed under: gvSIG Desktop, spanish Tagged: etiquetado, etiquetar, gvSIG 2.1, halo

by Alvaro at January 28, 2015 09:21 AM

gvSIG Team

Exercises of the Scripting Workshop at the 10th International gvSIG Conference

Hi there,

In this post, you will find the examples made in the workshop for beginners about Programming with Scripting Module in gvSIG 2.1 at the 10th International gvSIG Conference in December at Valencia.

During the workshop, we saw a few examples of geoprocessing, starting with the calculation of a buffer area and little by little, adding functionalities according to our needs.

Here the cartography to follow the scripts.We only need a polygone layer and a point layer. You can use your own layers if you want.S

If you don´t know the Scripting Module, we explain how to load the scripts, step by step, at this video. In the code, you only should change the part as ‘initial data’, writing the path where the new lawyer will be recorded. These scripts will not modify the layers already loaded. For the correct running, we should have the View on and one layer selected.

In the first two examples, we can see first, the creation of a buffer area and secondly, adding a new field showing the distance between those points to a reference point.

Script 1: Buffer

Script 2: Buffer and new field with spatial information


Script 2

Also, in the third example, we add a spatial condition. This condition is just that it creates the buffer in those points intersecting with some polygon from the selected layer. In the example, referred to ‘manzanas’, but it can be replaced for any polygon layer. We can see in the symbology how this variable evolves, thinking that the reference point from the example it would be at the left bottom side. We also see that there are points where the buffer has not been generated.

Script 3: Buffer, distance new field and complying the intersection.


Script 3

Another function is, from a point layer, to create a new line layer containing (in this case, a single entity to help us) a geometry with the union of all the points with all the vertices of the line.

In the first example, passing the vertices using the order of an ID field which would be random, and in the second one, using the buffer layer created in the 3rd script and taking as an order, the distance field to create the vertices of the line geometry.

Script 4: Convert points to line


Script 4


Script 5: Convert buffer layer line


Script 5

Finally, an example not explained during the workshop is the generation of lines projecting to that reference point, taking into account the type of layer: points, lines or polygons.

Script 6: Projected lines

Script 6: Initial line layer

Capa inicial de polígonos

Script 6:Initial polygon layer

You can watch the workshop videos on the following links (Spanish/English):

  • Spanish: 10as Jornadas Internacionales gvSIG: Taller 5, Scripting en gvSIG 2.1:


  • English: 10th Int. gvSIG Conference: Workshop 5, Scripting on gvSIG 2.1:


Any doubt, you can ask here, at gvSIG user list or if it is a more specific one, you can contact me: omartinez@gvsig.com

If you are interested in the rest of the presentations of the Conference, you can check them out at this listing.

I hope these examples were useful.

Greetings to all and thank you,


Filed under: development, english, events, gvSIG Desktop, scripting

by mjlobato76 at January 28, 2015 08:32 AM

January 26, 2015

Slashgeo (FOSS Articles)

Batch Geonews: QField, IndoorGML Standard, Focus on Google Maps for Work, 30m SRTM-DEM, and much more

The first 2015 batch-mode edition of the geonews.

On the open source / open data front:

On the Esri front:

On the Google front:

Discussed over Slashdot:

In the miscellaneous category:

In the maps category:

The post Batch Geonews: QField, IndoorGML Standard, Focus on Google Maps for Work, 30m SRTM-DEM, and much more appeared first on Slashgeo.org.

by Alex at January 26, 2015 04:58 PM

January 25, 2015

Jackie Ng

MapGuide on Windows 10

Since Microsoft released a new preview build of Windows 10, I'd thought I give it a spin on VirtualBox.

My first impressions are simply that I am so happy to see the return of the Start Menu!

The other pleasant surprise was to see that the command prompt was finally resizable!

But my main motivation for giving Windows 10 a spin was to see if MapGuide will run on it. So I downloaded the 3.0 preview release.

I ran the installer and got this.

Okay, this normally means I have to manually "unblock" the executable in the file properties before retrying, so I did exactly that.

Except unblock does nothing! Is this a bug?

So before I chew out Microsoft for their "UAC v2.0" over-zealousness with this SmartScreen feature, I decided to click the "More Information" link on the SmartScreen dialog to see if it does anything and lo and behold, it gives me the options to finally run the thing!

Terrible UX there Microsoft. The "Run Anyway" option should be visible IMO and not concealed in the "More Information" link.

Nevertheless, after negotiating this little obstacle the installer ran after the UAC prompt. I decided to try the IIS/.net install option since:

  • PHP and its MapGuide API bindings is installed regardless (it's why mapguide-rest will/should just work out of the box on any supported version of MapGuide), so we can also verify the PHP bits are working by loading a package through the Site Administrator
  • This is the configuration that we always want to confirm and verify when testing support for newer versions of windows. The Apache/PHP/Java configurations are mostly self contained and can be generally trusted to work on any windows platform where there is a matching Visual C++ runtime library and a working Java SDK/RE for it.
So after waiting the normal amount of time for a MapGuide install to complete.

The Site Administrator runs without issues, allowing me to load my sample data package. Firing up the AJAX viewer (that is bound to the .net implementation due to my installation choice), shows that it is indeed functional

So there you have it. MapGuide 3.0 works on Windows 10. 

Given its current Technical Preview status, we cannot realistically have Windows 10 as a supported platform for MapGuide 3.0, but should you want to try, chances are MapGuide should work as evidenced by this post.

by Jackie Ng (noreply@blogger.com) at January 25, 2015 02:49 PM

Sean Gillies

Fiona, Rasterio, Shapely binary wheels for OS X

Fiona, Rasterio, Shapely binary wheels for OS X

Numpy and SciPy binaries for OS X have been up on PyPI for a few months and I’ve recently figured out how to do the same for Fiona, Rasterio, and Shapely. As the SciPy developers do, I’ve used delocate-wheel to (see its README):

  • find dynamic libraries imported from python extensions
  • copy needed dynamic libraries to directory within package
  • update OSX install_names and rpath to cause code to load from copies of libraries

The new Fiona and Rasterio binaries are beefy (14MB) because they include the non-standard libraries that enable format translation, cartographic projection, and computational geometry operations:

$ delocate-listdeps ~/code/frs-wheel-builds/dist/rasterio-0.17.1-cp27-none-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl

For the small price of a larger download, Mac users now get batteries-included binaries that work immediately. No XCode required. Just pip install rasterio and start using it.

The new binaries are built on 10.9 using Python 2.7.9 and 3.4.2 downloaded from python.org. These Pythons were compiled using the 10.6 SDK for both i386 and x86_64 architectures and I’ve similarly set MACOSX_DEPLOYMENT_TARGET=10.6 and -arch i386 -arch x86_64 in my own builds. In practice they are intended for 10.9 and 10.10, but will probably work on 10.7 and 10.8. They should work for just about any OS X Python, whether from the system, Homebrew, MacPorts, or python.org.

If you’d rather continue to compile, e.g, Rasterio’s modules using your own GDAL installation, you’ve got an out in pip’s --no-use-wheel option:

$ GDAL_CONFIG=/path/to/gdal-config pip install --no-use-wheel rasterio

To contribute to development of these binaries or report installation bugs, please head over to https://github.com/sgillies/frs-wheel-builds. Most importantly, help me spread the word that installation of Fiona, Rasterio, and Shapely on OS X is easier than ever.

by Sean Gillies at January 25, 2015 01:17 AM

Paulo van Breugel

Update of r.forestfrag addon for GRASS GIS 7.0

Riitters et al. (2000) proposed a quick approach to measure the degree of forest fragmentation that could be relatively easily implemented and which only required a map with forest and non-forest. Following their approach, Sylla consult created a shell script for GRASS GIS 6.4 to create a raster layer with six categories (non-forest, patch, transitional, […]

by pvanb at January 25, 2015 12:04 AM

January 23, 2015

OSGeo News

Be part of Openness in Geoeducation

by jsanz at January 23, 2015 09:43 PM

Darren Cope

Dissolve Shapefiles using OGR

Quite often, I’ll run across a large or complex shapefile that causes issues (crashing, very poor performance, etc) in QGIS or other desktop GIS.

However, sometimes you have to find a way to deal with these files, and not spend a lot of time worrying about them. Often, the best way is to head back to the mysterious black box that is the command line, and use the ultra-stable suite of tools available there. My favourite for spatial work is GDAL/OGR

I was recently struggling to do a simple dissolve on a large and complex shapefile. I didn’t want to bring it into a database, but QGIS would crash trying to dissolve the shapefile. Of course, OGR had no problem with the file!

Here’s how to turn this (nine features with three different attributes):

Input to dissolve - 3 attributes

Input to dissolve – 3 attributes

Into this (three attributes, three multi-part features!):

Dissolved shapes

Dissolved shapes

Simply use this command (substituting your file names and field names as appropriate) into ogr, and you’re all set!

ogr2ogr outputfile.shp inputfile.shp -dialect sqlite -sql “SELECT dissolvefield,ST_Union(geometry) as geometry FROM inputfile GROUP BY dissolvefield”


by darrencope at January 23, 2015 01:44 PM


Two days of geo-goodness at FOSDEM 31/1 - 1/2

You may already know that there is a great lineup for the geospatial devroom at FOSDEM on synday: yes, we actually have 22 presenters from a large number of different countries (even outside Europe!).

Intro geospatial devroomJohan Van de Wauw09:0009:05
Use of OSS in the Lifewatch biodiversity research projectJulien Radoux09:0509:15
QGIS Tool for Landslide Hazard AssessmentDarya Golovko09:1509:25
Opensource Desktop GIS at Regional and Local goverments in Flanders
Integrating Govermental webservices into QGIS
Kay Warrie09:2509:35
Bridging the gap between simulation and GISVincent Mora09:4010:05
GRASS GIS 7: Efficiently processing big geospatial dataMarkus Neteler10:1010:30
GRASS Development APIs
Lifting the fog on the different ways to develop for GRASS
Moritz Lennert10:3010:45
Open Standards for Big Geo DataPeter Baumann10:5011:15
Scotty, I need a data in three minutes! (Or we're all dead!!)
Just the right data at just the right time
Andrew Ross11:2011:45
Distributed tile processing with GeoTrellis and SparkRob Emanuele11:5012:15
GeoTrellis and the GeoTiff File FormatJohan Stenberg12:1512:25
Habitat - a programmable personal geospatial datatoreRichard Pope12:3012:40
spatial backend as a service !
Mathieu Leplatre12:4513:10
Taking Web GIS beyond Google Maps with the Geomajas Client and Spatial Application Server
Mapping stuff with Java, GWT and Javascript
Frank Maes13:1513:40
Mobile Map Technology
Developing Mobile Multiplatform 3d maps
Manuel de la Calle Alonso13:4514:10
Potree - Rendering Large Point Clouds in Web BrowsersMarkus Schütz14:1514:25
OpenLayers 3: A unique web-mapping libraryÉric Lemoine14:3014:55
Ol3-Cesium : 3D for OpenLayers map
An exciting library for automatically bringing 3D to your map
Guillaume Beraudo14:5515:10
Overpass API
A service to query OpenStreetMap data
Roland Olbricht15:1515:40
Tempus: a framework for multimodal trip planningHugo Mercier15:4516:10
Douglas-Peucker updated
or do you want to reduce your data
Stephane Winnepenninckx16:1516:40
PicoTCP on Mobile Ad Hoc networksBrecht Van Cauwenberghe16:4516:55
Full schedule here.
But apart from the lineup on Sunday, also Saterday actually has a number of interesting geo-related talks as well:

10:35 - 10:55 (distributions devroom)
 12:00 - 12:50 (hardware track)

14:00 - 14:25 (graph devroom)
15:00 - 15:50 (hardware track)
And I'm sure you will probably find many other interesting presentations in one of the other 550 lectures. So hope to see many of you at FOSDEM!

I noted there is another geo-related talk on Sunday, unfortunately in parallel with the program for the geospatial devroom:

by Johan Van de Wauw (noreply@blogger.com) at January 23, 2015 09:09 AM

January 22, 2015

GeoServer Team

GeoServer 2.7-beta released

The GeoServer team is excited to announce the release of GeoServer 2.7-beta with some great new features. The download page for 2.7-beta provides links for zipwardmg and exe bundles. As a development release, 2.7-beta is considered experimental and is provided for testing purposes. This release is not recommended for production (even if you are enthusiastic by the new features).

This release is made in conjunction with GeoTools 13-beta.  Thanks Jody (and Boundless Victoria) for making this release, Kevin for GeoWebCache 1.7-beta, and a big thanks to Andrea for gathering up the contents (and pictures) for this blog post.

A complete change log is available from the issue tracker.

Please Download and Test

The committers have a great release for you to look forward to, we would like to ask you to download and test. By trying GeoServer out on a wide range of platforms and datasets we can all help the next release be great.

Testing is a key part of the open source social contract. This is your best chance to identify issues early while we still have time to do something about it. If you make use commercial support ask your vendor about their plans for 2.7-beta testing.

When testing Geoserver 2.7-beta please let us know on the user list how it works for you. We will be sure to thank you in the final release announcement and product presentations.

New Features

Color composition and blending

Color composition and blending are two new extensions to SLD allowing the web map styler to control how overlapping layers in a map are merged together. Beyond the simple stacking and translucency control a wide range of effects are now possible by allowing masking and specific color operations for blending layers together in new ways.

A common well known example is a polygon thematic map on top of a DEM, which tends to provide under-par results using only transparency control, but generates very appealing ones when using the “multiply” blending mode:

Alpha masking also allows for neat cartographic tricks, like the one below, where the polygon fill has been cut at the border of the states generating a “inner line” effect:

Check out the documentation for a list of supported operations and some examples. We would like to thank Cleveland Metroparks for sponsoring this improvement.

WPS Clustering

First of, GSIP 119 added support for asynchronous requests over a cluster of GeoServer instances. In WPS an asynchronous request starts by returning the client a URL that can be polled in order to know about the execution progress, and eventually to retrieve the final results.  Previous to 2.7-beta the status information was kept in memory, thus only the GeoServer instance running the process could meaningfully respond to a poll from the client. With GeoServer 2.7-beta a new extension point allows the programmer to create a process status repository that can be shared among the GeoServer instances.

The first default implementation of the shared repository is a Hazelcast based one, leveraging in-memory, replicated and distributed maps to share the state information, while the results (which can be pretty large) are stored in a shared file system. The community is welcomed to develop other variants that could store the information in other places, for example, a relational database, a nosql one, or in the clould (e.g., S3 storage).

WPS Security

GSIP 121 added the ability to provide fine grained access control to processes based on our usual role based authentication system: each process or group of processes can be associated to a list of roles that can access them, while other users will be disallowed seeing or accessing the same processes.


WPS Limits

Integrating with the security, GSIP 123 added support for process execution limits, bringing WPS up to par with the other OGC services in terms of limiting the resources used by a single request. In the main WPS panel one can now configure how much processing time to give synchronous and asynchronous requests:


Also, in the new process security page one can configure a global limit for the size of complex inputs (see above), it is also possible to configure limits on a process by process basis, in order to restrict the size of inputs, the range of numerical values, and the multiplicity of repeatable inputs, to constrain the effort of a WPS process call. All these limits will be dutifully reflected in the DescribeProcess output.


If you’re not satisfied with the above limits and would like to develop new ones, no worries, the current code is setup on a pluggable WPSInputValidator extesion point that will allow you to create new types of input validators.

WPS Dismiss

The final Finally, GSIP 122 added the ability to dismiss an ongoing process from the client that requested the execution, or as an administrator. The new Dismiss operation comes from the WPS 2.0 specification, which GeoServer does not support yet, so it has to be seen as a vendor extension to WPS 1.0, which leverages the executionId parameter returned in the asynch status links to allow execution cancellation, you can read more about it in the user documentation. The administrator instead gets a new user interface panel showing the currently running operations, allowing selection and forceful dismissal of processes that are running:


The user guide contains more details about its usage. We would like to thank NATO STO CMRE for sponsoring all the above WPS improvements.

Refresh of the CSS module

The initial CSS extension (responsible for using CSS to generate SLD styles) was written in Scala. Although wildly popular, and featured up until GeoServer 2.6, the module has not been maintained to the level expected of a GeoServer extension.

Andrea has taken it unto himself to address this gap, rewriting the functionality in Java and making the result available to the GeoTools library.

The new CSS engine performs the same function as the Scala original and has managed to make a few key improvements. In particular the Java implementation can efficiently handle large CSS files without bogging down with minutes of translation time.

The user interface for the CSS editor has also been revamped a bit, making better usage of available screen space, and sporting syntax highlighting and formatting thanks to CodeMirror. This change addresses a common gripes correctly supporting relative images (the generated SLD preserves the relative path) and polygon with strokes are now translated to a single polygon symbolizer (to the benefit of GetLegendGraphic calls). Finally, you’ll notice that the download size have been significantly trimmed, as we don’t need anymore the Scala runtime.

The new translator has been tested against a few hundreds CSS styles already, but of course it’s new, so it’s of paramount importance that you test your own styles, and let us know if you notice any regression.

We take the occasion to thank David Window for creating the initial CSS module, and Andrea Aime for porting it to java and acting as the new maintainer.

Relative time support in WMS/WCS

As you probably knows GeoServer supports time based filtering in both WMS (aka WMS-T) and WCS (as part of WCS-EO). Up until now you had to specify the desired time either as an absolute value, e.g. &time=2011-05-02, or as an absolute range of values, e.g. &time=2011-05-02/2011-05-05.

The work done in GSIP 124 adds support for a vendor specific extension to the time syntax which allows the specification of relative times, e.g., the last 36 hours, “PT36H/PRESENT”, or the day after Decembre 25 2012, “2010-12-25T00:00:00.0Z/P1D”.

This allows for more compact requests, but more importantly, it allows to generate stable, publishable links to instants or intervals relative to the present server time, e.g., the wheather forecast for tomorrow, two days and three days in the future, or the temperature maps for the last three days, maybe in a KML document generated with animations over time.


In addition a wide range of improvements have been made:

  • For those into printed-maps, we added a new vendor parameter forcing GeoServer to ignore the WMS simple scale computation algorithm, and run a local and accurate one instead, resulting in better integration between printing requirements and maps with scale dependencies.
  • The flow-control module now also supports rate based rules, with the ability to slow down, or simply reject, requests that are incoming from a specific client at an excessive rate.
  • For those working at the dateline, you’ll be pleased to know that the WCS 2.0 GetCoverage requests can now handle bounding boxes crossing the dateline, and they will take the two halves of your coverage from the antipodes, merge them together in a single output file that will be returned to you (much like the same support for WMS, introduced in 2.6.0).
  • For people playing with configuration in the database, the JDBCConfig module and core modules have seen a number of changes to increase scalability and push down into the database as much filtering as possible in a larger number of commonly used code paths.
  • The DDS module, allowing extraction of DEM portions using the WMS protocol in order to feed Nasa Worldwind, has seen a number of fixes and now allows the specification of a texture compression format.
  • Finally, the map preview has been switched to OpenLayers 3, although the nostalgic can get back the OL2 based one by adding the “-DENABLE_OL3=false” parameter to the JVM startup options. Thanks to Bart for helping add this to GeoServer.

This concludes the most visible changes, if you are missing some please check the full changelog for details, there is quite a bit more stuff in there.

Community modules

In addition to the core GeoServer and extensions we have an active community area for experiments and new volunteers. This release comes with a number of new community modules that you might find useful.

Clustering modules

The community section now holds two clustering modules allowing a cluster of GeoServer instances to work against a shared vision of the data directory.

The first one, contributed by GeoSolutions, works using J2EE JMS messages to share the state against the various nodes, and allows the usage of the normal file based configuration, either in a shared data dir mode, or data dir per node mode. This is know as the “JMS clustering”, see the documentation for more details. The module is ready for testing as it’s part of the nightly builds.

The second one, contributed by Boundless, works by using Hazelcast distributed messages, and it’s designed to work best against the JDBConfig module. At this time there are no released artifacts or documentation, but the adventurous user will find it pretty easy to figure out.


The GeoFence advanced security subsystem has been donated to the GeoServer project by GeoSolutions earlier this year, this module is the plugin connecting a GeoServer instance to the GeoFence rule engine.

GeoFence allows to setup complex security rules and leverage the full power of the underlying GeoServer security subsystem, for example, it’s possible to establish security rules mixing in the same condition data and service being used, limit attributes available to certain users/operations, filter data so that certain records are not visible to the public, force certain default style to given user roles, and so on. The GeoFence wiki contains documentation on how to use and configure the system.

SOLR data store

The SOLR data store makes GeoServer connect to a SOLR server and publish its spatial document via the OGC protocols, efficiently making maps, serving them via the WFS service, and allowing spatial analysis via WPS. The user interface allows to classify sets of documents as layers, and map the document variable structure into the fixed structure of simple feature types served by GeoServer.

You can read an introduction in this blog post, and delve into details in the user documentation.

New WPS output formats

The gs-gpx and gs-kml modules offer two new PPIO to translate feature collection resulting off WPS processes in the respective formats. The KML one, in particular, also supports limited input parsing, allowing to send KML documents as inputs to the WPS services.

The WPS download process

The wps-download community module forms the basis of an “advanced clip and ship” tool that allows a client to ask for data in a specific area, eventually reprojecting it, estimate the download size, and allow the preparazion of a zip package with the desired data, all via asynchronous calls, providing a good replacement for WFS/WCS when the amount of data to be extracted is too large to be delivered via synchronous HTTP calls.

About GeoServer 2.7

Articles and resources for GeoServer 2.7 series:


by Andrea Aime at January 22, 2015 04:32 PM

January 21, 2015

gvSIG Team

gvSIG aplicado a Arquitectura

Hace unas semanas se celebraron las 10as Jornadas Internacionales gvSIG en Valencia (España), en las que se presentaron una gran cantidad de ponencias de temáticas distintas. En ellas hubo una sesión dedicada especialmente a arquitectura, en la que se presentaron varias ponencias con temas distintos como Sistemas de Información Geográfica en un despacho de arquitectura, licencias urbanísticas, o certificados de eficiencia energética, todos ellos proyectos muy interesantes.

Están disponibles tanto las presentaciones como la grabación de las mismas. Las ponencias que se presentaron relativas a arquitectura fueron concretamente:

- Los SIG aplicados a la gestión de proyectos en un despacho de arquitectura (PDF: 8.0 MB); VICENTE J. VALERO (Grado en Arquitectura Técnica)

- Sistemas de Información Geográfica para el Control de Licencias Urbanísticas (PDF: 4.7 MB); PABLO PERUCHO (Grado en Arquitectura Técnica)

- Aplicación de los SIG a los certificados de eficiencia energética en la localidad de Llíria (PDF: 5.4 MB); MIGUEL ÁNGEL SIMEÓ (Grado en Arquitectura Técnica)

- Metodología Multicriterio Para La Búsqueda De La Ubicación Óptima De Un Emplazamiento Público (ODP: 10.7 MB; PDF: 4.1 MB); RUBÉN HERNÁNDEZ (Grado en Arquitectura Técnica)

- Ruegos y preguntas de dicha sesión:

¡Esperamos que os sea útil esta información!


Filed under: events, gvSIG Desktop, spanish

by Mario at January 21, 2015 08:32 AM

January 20, 2015


Protecting GeoServer with CAS in an Enterprise envronment


Dear Readers, in this post we will show a practical use case taking advantages from the GeoServer CAS authentication provider extension. A small introduction first. As you may already know, GeoServer ships with an highly configurable security subsystem based on Spring Security. This has been completely re-engineered, providing a more secure and flexible authentication framework. We are not going to provide techincal details of the security framework in this blog, but it is worth to highlight few features which are quite interesting. Multiple authentication mechanisms can be active within GeoServer at a given time. The following figure illustrates the flow of a generic request. [caption id="attachment_1932" align="aligncenter" width="578"]1 Authentication Chain in GeoServer[/caption] Each GeoServer request is filtered through the authentication chain. The request is processed by each mechanism in the chain in order. If one of the mechanisms in the chain is able to successfully authenticate, the request moves to normal processing, otherwise the request is not routed any further and an authorization error (usually a HTTP 401) is returned to the user. In the case of GeoServer , the authentication chain is actually made up of two chains: a filter chain, which determines if further authentication of a request is required, and a provider chain, which performs the actual authentication. [caption id="attachment_1933" align="aligncenter" width="529"]2 Authentication Chain in detail: filters and providers[/caption] The filter chain performs a variety of tasks, including:
  • Gathering user credentials from a request, for example from Basic and Digest Authentication headers
  • Handling events such as ending the session (logging out), or setting the “Remember Me” browser cookie
  • Performing session integration, detecting existing sessions and creating new sessions if necessary
  • Invoking the authentication provider chain to perform actual authentication
The filter chain is actually processed twice, before and after the request is handled. The provider chain is concerned solely with performing the underlying authentication of a request. It is invoked by the filter chain when a filter determines that authentication is required. What is really important, is that the Authentication Providers are pluggable in GeoServer. It is possible to add/create extensions to the security framework, allowing GeoServer to authenticate against a wide variety of security protocols and systems. We are going to see how to configure and use the CAS Authentication Provider in GeoServer, in a real-world use case where GeoSolutions helped his client NATO STO CMRE with devleoping a distributed geospatial processing infrastructure for MetOc data First of all, let us introduce CAS, which stands for Central Authentication Service, is an enterprise Single Sign-On solution for web services. Single Sign-On (SSO) means a better user experience when running a multitude of web services, each with its own means of authentication. With a SSO solution, different web services may authenticate to one authorative source of trust, that the user needs to log in to, instead of requiring the end-user to log in into each separate service. The objectives of this work was to allow CMRE users to
  1. run complex geoprocessing algorithms on demand
  2. store the results on a cluster of GeoServer instance with a complete lifecycle management
  3. manage the outcomes with the ability to visualize them on a map.
It is also worth to point that cluster of GeoServer instances is responsible for providing MetOC data and layers both as input for the algorithms (via WCS 2.0) as well as for the maps (via WMS with multiple dimensions). A crucial requirement was that all the exposed web services were protected and not accessible by unauthenticated users by relying on the existing A&A infrastructure deployed at CMRE which is based on LDAP and CAS. This basically meant protecting  the GeoServer endpoints via integration with the available CAS and LDAP services.. The following simplified diagram depicts the services exposed to the users and protected by CAS. [caption id="attachment_1934" align="aligncenter" width="1000"]3 Complete Deployment Diagram of implemented solution[/caption] As said before, both MapStore and GeoServer have been protected by the CMRE CAS server. Thanks to that configuration, a user authenticated and authorized from the CMRE Portal, can now access the MapStore front-end or GeoServer data and services without any further authentication. On the other side, an unauthored user which tries to connect directly to MapStore or to GeoServer, will be immediately redirected to the CAS Login page, of the CMRE Portal. In the following sections, we are going to see how we configured and setup the CAS Authentication Providers on GeoServer. First of all the CAS server must be available and running. The first step is to import the server certificates into the GeoServer java virtual machine. The following command line can be used from and administrator to export the certificates (CRT) from the CAS server: [caption id="attachment_1942" align="aligncenter" width="628"]11 Configuring certificates: step 1[/caption] Once the server.crt is available, the procedure to import the certificate into the java virtual machine is the following one: [caption id="attachment_1943" align="aligncenter" width="628"]12 Configuring certificates: step 2[/caption] Enter the keystore password and confirm the certificate to be trustable. GeoServer should have been deployed with the CAS extension installed (check this page on how to intall an extension). Once the GeoServer is up and running, in order to configure the CAS Authentication Provider, you must click on the  “Authentication” link of the GeoServer GUI, Security section, as shown in the picture below: [caption id="attachment_1935" align="aligncenter" width="370"]4 Configuring the CAS Authentication provider: step 1[/caption] Scroll down to the “Authentication Filters” [caption id="attachment_1936" align="aligncenter" width="494"]5 Configuring the CAS Authentication provider: step 2[/caption] and add a new “CAS” auth filter [caption id="attachment_1937" align="aligncenter" width="426"]6 Configuring the CAS Authentication provider: step 3[/caption] Fill in the CAS auth filter fields with the CAS server information and remember that the Single Sign On works only on HTTPS secured channels [caption id="attachment_1938" align="aligncenter" width="445"]7 Configuring the CAS Authentication provider: step 4[/caption] finally update the “Filter Chains” accordingly [caption id="attachment_1939" align="aligncenter" width="515"]8 Configuring the CAS Authentication provider: step 5[/caption] Once everything is correctly configures, GeoServer will be protected by CAS. Everytime an unauthorized user tries to access to the GeoServer GUI or to a layer or dataset, he will be redirected to the CAS server login page. [caption id="attachment_1941" align="aligncenter" width="373"]Configuring the CAS Authentication provider: step 5 Configuring the CAS Authentication provider: step 6[/caption] On a successfull login, the CAS server assigns a token to the user which must be provided as a request parameter on all the subsequent requests to GeoServer. The same token can be used to successully login into the others web services protected by the CAS without passing through the login form again. We would like to thank NATO STO CMRE for funding this work which was carried out as part of GeoSolutions Enterprise Support Services Plan. The GeoSolutions team, http://www.geo-solutions.it

by simone giannecchini at January 20, 2015 02:14 PM

Nathan Woodrow

New addition

Stace and I would like to welcome Matilda Anne Woodrow, born 5/1/15 at 10:36am.


She is a nice way to start 2015.

After the pretty crappy year that was 2014 it was finally nice to see Matilda in the flesh. The relief of seeing her alive and well is hard to put in words after losing Ellie in 2013.

People always ask about the lack of sleep, but it feels like we have more energy now then we did before. The emotional and physical toll that the pregancy took on our family had pretty much run us into the ground and it felt like it was never ending.

The toll of the pregancy had lead me to massive lack of motivation towards QGIS and pretty much everything else in life, which isn't healthy when you have a family to look after. Pro Tip: Get help if you find yourself in this spot, it be hard to recover if you go over the edge.

Anyway. Here is to a new year. A better year.

by Nathan Woodrow at January 20, 2015 02:00 PM

gvSIG Team

Cursos de usuario de gvSIG gratuitos

A partir del 16 de febrero comienzan unos cursos online gratuitos de gvSIG Desktop, ofrecidos por la Fundación Fessia en colaboración con la Asociación gvSIG.

Con dichos cursos se obtiene la certificación de usuario y la certificación usuario experto en gvSIG Desktop de manera gratuita. El colectivo al que va dirigido es únicamente a trabajadores en activo del sector agrario, forestal y pecuario.

Para este curso hay disponibles 175 plazas para la certificación de usuario y 50 plazas para la certificación de usuario experto. ¡No dejéis pasar la oportunidad!

Para más información se puede consultar la web www.gvsig-fessia.com o remitid las dudas vía email a informacion@gvsig-fessia.com o a través del teléfono 644979959 (en horario de 09.00 h. a 14.00 h.).

Más información sobre fechas, en http://www.gvsig-fessia.com/wordpress/wp-content/uploads/2015/01/NOTA-DE-PRENSA.pdf

Filed under: gvSIG Desktop, spanish, training

by Mario at January 20, 2015 12:42 PM

GeoTools Team

GeoTools 12.2 released

GeoTools 12.1 released

The GeoTools community is happy to announce the latest  GeoTools 12.2 download:
This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.6.2.

This is a release of the GeoTools 12 Stable series recommended for production systems. The release schedule now offers 6 months of stable releases followed by six months of maintenance releases.

A few highlights from the GeoTools 12.2-Release Notes:
  • A new process, FootprintExtractionProcess, uses the marching squares algorithm to extract the footprint of an image (the non black portion of it)
  • Allow disabling advanced projection handling support in grid covearge renderer
  • XML date parsing now allows some slightly off ISO standard dates too (as in, with the time non fully specified)
  • Minor fixes in SLD 1.1 parsing to support the Priority GeoTools extension in labelling
  • Some GeoPackage module fixes
  • Some improvements in reprojection handling, providing better results when reprojecting data towards north polar stereographic, or Lambert azimuthal equal area over polar areas
  • Improved robustness of the Decimator class against locations where the math transform return NaN values (improves map rendering in difficult areas while reprojecting)
  • A number of other fixes, check the release notes for full details
Thanks to Andrea (GeoSolutions) and Jody for this release (Boundless).

About GeoTools 12

by Andrea Aime (noreply@blogger.com) at January 20, 2015 10:58 AM

GeoServer Team

GeoServer 2.6.2 released

The GeoServer team is happy to announce the release of GeoServer 2.6.2. Download bundles are provided (zipwardmg and exe)  along with documentation and extensions.

GeoServer 2.6.2 is the next the stable release of GeoServer and is recommended for production deployment. Thanks to everyone taking part, submitting fixes and new functionality:

  • The issue with GZIP encoding breaking CSS download in some browsers has been fixed
  • Have the pre-generalized store use again the simplified geometries against the PostGIS store (regressed in 2.6.0)
  • Relative paths in SLD using a “file://image.png” syntax are supported again (regressed in 2.6.0)
  • Removing also layer groups and styles contained in the workspace when the workspace is deleted
  • Make WCS 2.0 / WCS EO more lenient when the workspace is not specified in requests, or when a single mosaic granule is requested in EO requests
  • Allow disabling “advanced projection handling” for raster data via a system variable (for the few cases in which it misbehaves, fixes are underway, please do report if you see issues)
  • A number of minor fixes to WCS capabilities and GetCoverage handling
  • Added icelandic language support in the INSPIRE plugin
  • Check the release notes for more details
  • This release is made in conjunction with GeoTools 12.2

Thanks to Andrea (GeoSolutions), Jody and Kevin (Boundless) for this release

About GeoServer 2.6

Articles and resources for GeoServer 2.6 series:



by Andrea Aime at January 20, 2015 10:48 AM

gvSIG Team

Compiling and debugging an example plugin for gvSIG 2.1.0 from an IDE (NetBeans)

English translation of the article by Joaquin del Cerro.

Hi everyone,

I´m back to explain to you, how download the sources of one of the gvSIG project´s example and how compile it and debug it.

In this article, I will use as IDE Netbeans 8, which is the IDE that normally I use for developing with gvSIG long time ago. In the future, I will install an Eclipse and in another post I will tell you how to work with it. Anyway, if you are a developer used to Eclipse, it would not be difficult to take the explained ideas.

Keep in mind that this post doesn´t want to be a NetBeans tutorial, just to explain the steps to follow for being able to download and compile gvSIG plugin with it.

Once you have already followed the steps described in the post  “Como descargar y compilar gvSIG 2.1.0 en Linux y Windows“ and we have all the basic tools installed and set up, we can carry on.

To follow this post, we need internet access. In general, for compiling gvSIG we need internet access. And also:

  • An Installable of gvSIG, in my case “gvSIG-desktop-2.1.0-2262-testing-win-x86-standard-withjre.exe”
  • An Installable of NetBeans

First of all, we install IDE, NetBeans.

I´ve downloaded it from the NetBeans official website, in downloads:


We will find a few distributions availables for downloading:

  • Java SE
  • Java EE
  • C/C++
  • HTML5 & PHP
  • All

With the distribution “Java SE” will be enough for compiling the majority of gvSIG projects (excluding the ones requiring natives, because they are out of this post´s scope)

Simply we will download it and proceed to install it.

Through the initial set up, it will ask us for two things, where are we going to install it and where is the JDK to use. In this case, we will choose the JDK which we have already installed like it was explained in “Como descargar y compilar gvSIG 2.1.0 en Linux y Windows“.

Once we have installed NetBeans, we will install gvSIG. It will be a standard setup but we will not install it in “Program Files”;, I advise you to install it inside c:/devel, folder, where we have already downloaded the gvSIG sources. I have installed in :


The reason of installing it out of “Program Files” is because in my Windows installation, the user doesn´t have administrator privileges and if I do it in there, I will have problems later when I try to deploy the plugin binaries over that installation. Writing on c:/devel folder (created by me), I will not have any privilege problems at all.

Once we have these two things installed, we change the pathfile on “.gvsig-devel.properties” for pointing to the installation of gvSIG which we have just done in “c:/devel”.

Well, one more thing to do. The actual distribution for Windows of gvSIG-desktop doesn´t include a launcher in gvSIG.sh of gvSIG. The launcher is only included in Linux distribution( in future distributions we will include it as well for Windows). Well, for the moment is not present, so we have two options, if we have alredy compiled “org.gvsig.desktop”, we can take it from “org.gvsig.desktop/target/product” folder or if we don´t have it on hand, we can download it from:


We will leave it in the folder where we have installed gvSIG, along with the “gvsig-desktop.exe”.

Once we have these three things, we will boot NetBeans, then, downwnload the project “org.gvsig.landregistryviewer” and we will compile it. We will download it from the url:


To do it, we will go to menu:


netbeans-checkout1 It will show us the following screen:


Then, we will write in the field “Repository url” the value of the url (previously indicated) in where is the example project “org.gvsig.landregistryviewer”. We click on “Next”. It will show us the next page of the assistant, in which we should introduce the folder where we want to download the project. In our case, we will introduce “c:/devel”, and click on “Finish”.


When the project´s download finish, it will tell us about the maven projects presents in the donloaded project and it will ask us if we want to open any of them. The screen dialogue will be something like:

netbeans-checkout4 We click on “Open project…” to indicate which of the projects we want to open and it will show us:

netbeans-checkout5 We will select the project “org.gvsig.landregistryviewer” and click on “Open”.

When we try to load the project for the first time, probably some error will appear due to the fact that some dependencies are not downloaded, showing us a message like:

netbeans-checkout6 We only clik on “Close”.

Now, we will compile the downloaded project. To do that, we select it in the “proyectos” view and click on “Build project” of the toolbar.

netbeans-checkout7 The bottom console will be showing the compiling messages and once the process finishes, we will have our plugin compiled and deployed over the gvSIG installation.


So far, we have seen how to prepare our work environment, download and compile the plugin. If we want to see our plugin in action, simply we will boot Console2, go to gvSIG installation folder, c:/devel/gvsig/2.1.0-2262, and run gvSIG.sh.

$ cd c:/devel/gvsig/2.1.0-2262
$ ./gvSIG.sh

Let´s see how to debug our plugin.

We will open the subproject “org.gvsig.landregistryviewer.app.mainplugin”.

netbeans-abrir-proyecto1 It could happen that the plugin doesn´t realise that there are all the dependencies needed, already downloades when the project has been compiled.If this happens, iw will show us:

netbeans-abrir-proyecto2 In this case, we click on “Resolve Problems…” for updating the dependencies. It will show us:

netbeans-abrir-proyecto3 We click on “Resolve…” and wait until the project update. When the update is finished, the atención signal should dissapear and we will close the dialog clicking on “Close”.

Now, we will load the class LandRegistryViewerExtension and put a breaking point at method´s start CreateViewWindow. To do this, we click twice in the line´s number.

netbeans-debug1 Once done the breaking point, we will go to Console2 and we will go to boot gvSIG, but passing before the parameters “–debug –pause”.

netbeans-debug4 This boots the JVM activating the debug for being able to connect with it.

netbeans-debug5 It is possible that depending of the firewall setting, it will show us a message or even that doesn´t work. We need to make sure that we allow the app java.exe to access to 8765 port.

Then, we will back to NetBeans, and connect to gvSIG in debug mode.

netbeans-debug2 It will ask us for connection data…..

netbeans-debug3 When click on “OK”, it will carry on with the running of gvSIG in debug. As we have put a breaking point, it will stop on it and we will be able to debug our plugin.

netbeans-debug7 If we need to see the code of gvSIG, we click on Ctrl-O and type the class name which we want to locate.For instance, if wew want to put a breaking point in the proect creation, we will type Ctrl-O y “DefaultProject”

netbeans-debug8 And click on “OK”.

netbeans-debug9 If it doesn´t show us the source code (automatically downloaded, well, depending of our NetBeans setting), we can click on “Attach Sources…” and then “Download”.

netbeans-debug10 Once all the sources needed have been downloaded, we close the window clicking on “OK”. It will show us the code for the class “DefaultProject” and we can put a breaking point in its builder.

netbeans-debug11 Well, that´s it for today…..

All I have talked about is related to Windows 7. For Linux developers, it´s quite easy to follow and you just need to change the path c:/devel for the one that you use to leave the sources.

For Eclipse developers, the steps to follow are similars, the most complicated issue could be the support setting of maven which has already NetBeans.

It´s a post quite long (a lot of screenshots), but I think that they could be helpful to follow up the article.

I hope it was useful,
Greetings to all and thank you!

Filed under: development, english, gvSIG Desktop, gvSIG development

by mjlobato76 at January 20, 2015 09:51 AM

January 19, 2015

gvSIG Team

How to download and compile a gvSIG 2.1.0 plugin

English translation of the article by Joaquin del Cerro.

Hello again,
In the previous article, Como descargar y compilar gvSIG 2.1.0 en Linux y Windows “How to download and compile gvSIG 2.1.0 on Linux and Windows” I left some stuff unclear. Among them, I didn´t comment at all on how to download and compile a gvSIG plugin.

Assuming that we have already been able to install and set up the development tools mentioned in the article, from that point, compile a plugin is pretty simple, the most complicated issue it could be to get the plugin sources to compile.

In the gvSIG project, as a platform for managing development projects tool, we use “redmine”, which can be found at:

In the “redmine”, we already have registered several projects, including the one for the gvSIG kernel, “Application: gvSIG desktop”. We can get a projects list at:

In almost all of them, we will find the url from which we can download the sources.
We have to consider that a “redmine” project can store more than one development project and this one, in turn, can contain several gvSIG plugins.

Let’s see now, how we would do to download and compile the gvSIG data provider for PostgreSQL.

Looking at the projects list, we will find one named “gvSIG data provider for PostgreSQL”.
We click on the link and it will show us the project page in the redmine. Right there, we will have a link that says something like:

SVN: http://devel.gvsig.org/svn/gvsig-postgresql

We surf to it, and we will find an url like:


We will have a “pom.xml” file, which would be the root of our plugin project. We have to get used that gvSIG projects are multimodule maven projects.

To compile it and run it is pretty simple.
First, we will need to have a previously installed gvSIG 2.1.0. We can use a normal installation of gvSIG or the gvSIG binaries that they were generated as described in the previous article.

If we already have them, we should go to our user HOME and check if there exists a file “.gvsig-devel.properties”. This file contains the path where to find our gvSIG installation to deploy in it the gvSIG binaries plugins that we will compile. If we have compiled the gvSIG kernel in that process, it will be have been created with the appropriate values. We will have in it, something like:

~ $ cd
~ $ cat .gvsig-devel.properties
#Fri Dec 12 00:13:47 CET 2014
~ $

If we do not have the file already created, simply we will just create it, allowing the entry “gvsig.product.folder.path” point to the gvSIG installation on which we want to deploy the plugin.

Once all of this has been set, simply we will open our Console2 with Busybox (already set up) and run:

~ $ cd c:/devel
~ $ svn checkout http://devel.gvsig.org/svn/gvsig-postgresql/trunk/org.gvsig.postgresql/
... exit svn command...
~ $ cd org.gvsig.postgresql
~ $ mvn install
... exit install command...

If we are in Linux, we only change the command “cd” to adapt to the folder where we want to leave the sources.

Well, this process downloads the sources, compiles them and deploys the binaries of our plugin on the folder which we will indicate in the file “.gvsig-devel.properties”.

On the one hand it will leave us:

    • In gvSIG/add-ons the plugin already installed and ready to be loaded at the next start of gvSIG.
    • In install the package with our plugin “.gvspkg” if we want to hand it to another user to install it with the Plugin Manager.

Now, we just have to start the gvSIG and it will boot with our plugin.

Keep in mind that if deployed on a gvSIG binaries generated from the source, to boot gvSIG we should boot it running the gvSIG.sh file (even in a Windows system), as it was remarked in the previous article, while if we want to deploy it in a standard installation, we will boot it as normally boots that distribution.

Well, that´s all for now.

As always, I hope that it would be useful for you.

Shortly, I will try to talk about “How to work with an IDE and debug gvSIG”/como trabajar con un IDE y depurar gvSIG.

Greetings to all and thank you

Filed under: development, english, gvSIG Desktop

by mjlobato76 at January 19, 2015 03:39 PM

gvSIG Team

Ejemplos realizados en el Taller de Scripting en las 10as Jornadas Internacionales de gvSIG

Buenas, teníamos pendiente de publicar los ejemplos realizados durante el Taller de Scripting en las 10as Jornadas Internacionales gvSIG el pasado Diciembre en Valencia.

Durante el taller vimos varios ejemplos sobre geoprocesos, empezando con el cálculo de un área de influencia e ir poco a poco añadiendo funcionalidades según nuestras necesidades.

Adjunto aquí la cartografía necesaria para seguir los siguientes scripts. Solo es necesario una capa de polígonos y una capa de puntos, podéis probarlos con vuestras capas propias.

Si no conoces el Módulo de Scripting, te explicamos paso a paso como cargar los scripts en este vídeo. En el código solamente deberéis de modificar la parte que aparece como ‘datos iniciales’, indicando la ruta donde se grabará la nueva capa. Estos scripts no modificarán las capas que tengáis cargadas. Para su correcto funcionamiento debéis tener la Vista activa y una capa seleccionada.

En los dos primeros ejemplos, podemos ver primero la creación de un área de influencia, y segundo, añadiendo un campo nuevo indicando la distancia de esos puntos a un punto de referencia.

Script 1: Buffer

Script 2: Buffer y nuevo campo con información espacial


Script 2

Además, en el tercer ejemplo, añadimos una condición espacial. Esta condición es que solamente cree el área de influencia en aquellos puntos que intersectan con algún polígono de la capa seleccionada. En el ejemplo hace referencia a la capa ‘manzanas’, pero esta puede ser sustituida por cualquier capa de polígonos. Podemos ver en la simbología como evoluciona esta variable, pensando que el punto de referencia del ejemplo se encontraría en la parte inferior izquierda. También vemos que hay puntos donde no ha generado los buffers.

Script 3: Buffer, nuevo campo distancia y que cumplan la intersección.


Script 3

Otra de las funciones que vimos fue, partiendo de una capa de puntos, crear una capa nueva de tipo línea que contuviera (en este caso una sola entidad para facilitar las cosas) una geometría con la unión de todos los puntos como vértices de la línea.

En el primer ejemplo pasando los vértices utilizando el orden de un campo ID que sería aleatorio, y en el segundo ejemplo, utilizando la capa de buffer creada en el script 3 y tomando como orden el campo de distancia para crear los vértices en la geometría línea.

Script 4: Convertir puntos a línea


Script 4


Script 5: Convertir capa buffer a línea


Script 5

Por último, un ejemplo que no dio tiempo de explicar durante el taller, la generación de líneas que proyectan a ese punto de referencia, haciendo distinción según la capa inicial sea de tipo puntos, líneas o polígonos.

Script 6: Líneas proyectadas

Capa inicial de líneas

Script 6: Capa inicial de líneas

Capa inicial de polígonos

Script 6: Capa inicial de polígonos

Podéis ver los vídeos del taller, en español e inglés, en los siguientes enlaces:

  • Español: 10as Jornadas Internacionales gvSIG: Taller 5, Scripting en gvSIG 2.1:

  • Inglés: 10th Int. gvSIG Conference: Workshop 5, Scripting on gvSIG 2.1:

Cualquier otra duda podéis preguntar por aquí, por las Listas de usuarios gvSIG o si es alguna duda concreta podéis contactar conmigo directamente en: omartinez@gvsig.com

Si estáis interesados en ver el resto de ponencias realizadas durante las Jornadas podéis consultarlas en el siguiente listado.

Espero que os sean de utilidad estos ejemplos.

Un saludo,


Filed under: development, events, gvSIG Desktop, scripting, spanish

by Óscar Martínez at January 19, 2015 01:20 PM

January 18, 2015

Mihail Ivchenko


GCI-2014 are coming to end and I want to tell you what I have did during it.

I worked mostly with Marble and I made several improvements to the "Tour" and "Edit Maps" panels:
  • I have added the ability to add most of tour primitives to the tour. Now the "Add primitive" menu looks so:

  • Also, I improved ability to edit primitives. Now, you are able to edit FlyTo, Wait, SoundCue, AnimatedUpdate (Create, Change, Delete) items.

  • Now you are able to create a placemark with a balloon popup and show some information about the place.

  • Thanks to the Google Code-In work we now even have a nice html-editor for entering descriptions for a placemark:

  • I have improved the "Record video" feature. Now you are able to select the video format from the available ones for recording on your system. It's cool, isn't it? :)

  • During GCI several students (I, Ilya Kowalewski, Daniel Pastushchak) has created nice tour which shows cool places from OSM theme. You are able to launch it from "Legend" in latest Marble's master version. We are welcome further extension of the tour by other people to include their favorite places. (Click on the image to watch the video)

These and more features and bug fixes are available on latest master version of Marble. It still needs some polishing and improvements but you can start using/testing it already.
I want to say "Thank you" to all mentors of GCI-2014 and specially to Torsten Rahn. You are spending so much time for helping students to learn how to contribute to OpenSource. That's cool!

by Mikhail Ivchenko (noreply@blogger.com) at January 18, 2015 08:13 PM

Nathan Woodrow

Function editor for QGIS expressions

A new feature for QGIS 2.8 is a function editor for expressions. Being able to define your own custom functions has be possible for a while now, over a year, I even have a plugin (Expressions+) that adds some extra ones, however it wasn't easy for new users and required you to create files that lived on python path while also editing the startup.py file for QGIS so that functions got registed at start up. Way too much effort for my liking.

This feature is now exposed via the expression builder on the Function Editor tab. The function editor will create new Python files in qgis2\python\expressions and will auto load all functions defined when starting QGIS. I remember Sean Gillies saying that Python support in a field calculator should be a gateway to full Python programming, can't get any more Python then full Python modules.

The best way to show this feature is a quick video so here it is

The play button in the editor will run the current editor file in the QGIS session and register any functions it finds, it will also save the file in the expressions folder.

You can make a new file by pressing the new file button which will add the basic function template, changing the name in the combobox and hitting save will save the file.

The function editor allows you have to define reuseable functions for your QGIS. If you want to share a function you simply share the .py file from the expressions folder and give it to another user. In future versions of QGIS we might have a way to download other users functions.

Auto expanding values

You can also use the args="auto" keyword in place of the number of args which will let QGIS work it out and expand the arguments for you.

Here is an example

@qgsfunction(args="auto", group='Custom')
def myfunc(value1, value2 feature, parent):

and can be used like this:

myfunc('test1', 'test2')

QGIS will workout how many arguments your function takes based on what you have defined. Note: The last arguments should always be feature, parent, these are not included in the count.

Raising errors

If you need to report a error from a function simply use the raise method like normal in QGIS and raise an exception.

@qgsfunction(args="auto", group='Custom')
def myfunc(value1, value2 feature, parent):
    raise Expection("Hahah Nope!")

The function wrapper will catch the exception and raise it though the expression engine.

A couple of things to note

  • New functions are only saved in the expressions folder and not in the project file. If you have a project that uses one of your custom functions you will need to also share the .py file in the expressions folder.
  • The editor doesn't unregister any functions. If you define a function called test, hit play, change the name to test_2, hit play, both functions will exist until you reload QGIS.

by Nathan Woodrow at January 18, 2015 02:00 PM

January 16, 2015

Jackie Ng

MapGuide 3.0 feature showcase: Bumping the version number

So now you know. The next major release of MapGuide will be MapGuide Open Source 3.0

Why the major version bump to 3.0? It's mainly for us to signify to you (the MapGuide application developer) that we are breaking free from some of the cruft and baggage that has accumulated in MapGuide over the years.

This is the cruft that you will no longer see in MapGuide Open Source 3.0

Goodbye blank MgMap constructor

The blank MgMap constructor existed in the MapGuide API from the very beginning. A new overload of the MgMap constructor (introduced with RFC 9) allows access to various convenience APIs in MgMap, but such APIs can only be available with the use of the correct constructor: The one that is not blank.

Having two different behaviours based on which constructor you use kind of violates the principle of least astonishment. Even though we have deprecated the blank MgMap constructor and try to leverage Java/C# language features and having a dedicated blog post about it to try to communicate this fact to you, there's nothing actually stopping you from using the blank MgMap constructor and having convenience APIs in MgMap throw exceptions back at you as a result.

With the 3.0 release, we removed the blank MgMap constructor and associated verbose APIs, eliminating this confusion once and for all. The convenience APIs will now always work because there will now only be one MgMap constructor to use instead of two.

Goodbye DWF eMap support

DWF eMap is basically the DWF analogue to the MapGuide 6.5 ActiveX viewer of yore. It allows your maps to be viewed in the AJAX viewer using a DWF viewer ActiveX plugin that can consume eMap data from MapGuide.

The problem (beside the ugly ActiveX) is that eMap support has long since been removed in the DWF Toolkit. You needed Autodesk Design Review 2009 or older (AFAIK) to have a DWF viewer ActiveX control that supports eMap data. We've had to stick with an ancient version of the DWF Toolkit in order to support this feature. As a side effect of an ancient DWF Toolkit, this presents DWF interoperability issues with Autodesk products with newer versions of the DWF Toolkit. We've had stories of DWF files plotted from MapGuide crashing current versions of Autodesk Design Review.

With the 3.0 release, we've upgraded the DWF Toolkit to the latest version (7.7) and removed DWF eMap API and viewer support. If you are still somehow using this eMap functionality, this is the end of the line for you. You should seriously consider migrating to our current viewer offerings, or stay on the 2.6 series if this is not an option.

For more details of what APIs have been cut, you can consult MapGuide RFC 139

by Jackie Ng (noreply@blogger.com) at January 16, 2015 03:34 PM

Jackie Ng

Isn't it ironic?

Nope, that title is nothing more than a segway into this post :)

I've just discovered an awesome language implementation library called Irony, and have been playing around with some grammar that you might be familiar with

This has positive implications for Maestro if I can get Irony to do what I want it to do.

So far that looks very promising!

by Jackie Ng (noreply@blogger.com) at January 16, 2015 03:20 PM

January 15, 2015

gvSIG Team

gvSIG 2.1: Biblioteca de símbolos de meteorología

Entre el gran número de novedades que encontraremos en gvSIG 2.1, además de todas las nuevas funcionalidades, migración de funcionalidades existentes en versiones anteriores y corrección de errores, el usuario de gvSIG encontrará un buen número de bibliotecas de símbolos que se unen a las ya existentes.

Estas bibliotecas de símbolos no vienen instaladas por defecto en gvSIG, ya que en muchos casos se trata de simbologías temáticas o específicas de determinadas áreas de aplicación; pero todas ellas van en la instalación base, con lo que no es necesaria la conexión a internet para poder instalarlas en nuestro gvSIG.

Hoy vamos a comentar una de estas librerías temáticas. Se trata de la denominada “Weather” y que permite integrar en gvSIG simbología para realizar mapas climáticos acorde al estándar definido por la Organización Meteorológica Mundial en su documento “WMO No. 485 – Manual on the Global Data Processing and Forecasting System Manual” (con versiones en inglés, español, francés y ruso).

Adicionalmente se ha tenido en cuenta el trabajo del grupo MetOceanDWG de OGC en relación a la simbología para representar la climatología.

Veamos en el siguiente vídeo como instalar la biblioteca “Weather”:

Filed under: opinion

by Alvaro at January 15, 2015 01:09 PM

January 14, 2015

Paulo van Breugel

GRASS GIS 7.0.0 Release Candidate 1

The release candidate of GRASS GIS 7.0 has been released, with too many improvements and new features to summarize here. Go to http://trac.osgeo.org/grass/wiki/Release/7.0.0RC1-News and check out the details! Kudos to the developers and for the users out there that are still using GRASS GIS 6.4… this is really a good time to switch to the […]

by pvanb at January 14, 2015 11:08 PM

gvSIG Team

Geocoding in gvSIG 2.1 using scripting and GeoPy

English translation of the article by Joaquin del Cerro.

Hi, I ‘m here again.
This time to speak about a very quick scripting .

A few days ago Oscar Martinez told me that he had seen a python library to access geocoding services , 
GeoPy ; but there was the problem that he was unable to use it in gvSIG … as it was designed for a newer python version than the one used in gvSIG.

While we were glancing , we realised that by changing few small things, it could become usable for the python version of gvSIG 2.1.0 .

To use
GeoPy you have just to install the library , which can be done by unzipping the  “geopy-1.7.1-patched-for-gvSIG-2.1.0.zip” file in the folder:


located in user home. If you have already executed gvSIG, it should be closed and restart .

In Linux you can find this folder in $ HOME , and for Windows in :

C: \ Document and Settings \ my_user
C: \ Users \ my_user

Once installed the library GeoPy it can be used quite simply. If you execute the gvSIG scripts “Composer” , and create a new one with the following code , then you can start testing without any problems.

from gvsig import *
from commonsdialog import *

from geopy.geocoders import get_geocoder_for_service

def main(*args):

  street = inputbox("Insert street","street")
  if street == None:
  geolocator = get_geocoder_for_service(&quot;googlev3&quot;)

  location = geolocator().geocode(street)

  print((location.latitude, location.longitude))
  msgbox("Found:\n"+location.address+"\n"+str((location.latitude, location.longitude)))

You can perform more complex actions such as open a table containing street names and civic addressing, read them and go creating a shapefile with points provided by geolocalisation service, but for the moment you can go on playing with this.

Greetings to all

Filed under: development, english, gvSIG Desktop, gvSIG development, scripting Tagged: gvSIG 2.1, scripting

by Giuliano Ramat at January 14, 2015 09:02 AM

Andrea Antonello

Geopaparazzi (almost only) bugfix release 4.1.1

A user from the Italian GFOSS mailinglist made me aware of a nasty bug in the new polygon editing system. Basically when merging two polygons creating a new polygon, the result would not be written on a multipolygon layer, which is simply wrong.

This has been fixed and since there was also a small leftover checkbox on the new project creation dialog (which looked really really ugly) I decided to do a bugfix release.

I also threw in language updates.

Why were they necessary?
Well because obviously in the meanwhile a new feature entered Geopaparazzi.

It is now possible to continue a previously closed log. When you start a new log you will now have a checkbox available that by default is set to off. If for any reason you want to continue from the previously closed log, check that one. No new log will be created, data will be attached to the last inserted.

Pay attention to what you do though. The system will not care about the fact, that the previous log was closed a week before. You might have strange results in the speed chart :-)


by andrea antonello (noreply@blogger.com) at January 14, 2015 06:38 AM

January 13, 2015

Paulo van Breugel

Update of r.mess to work in GRASS 7

A while back I wrote a GRASS GIS addon to calculate the Multivariate Environmental Similarity index (MES; see below for a short description). The addon was written as a shell script and R script and only runs on GRASS GIS 6. I finally got around rewriting the addon in Python. This should make it easier […]

by pvanb at January 13, 2015 11:07 PM

OSGeo News

FOSS4G Europe: ready!

by jsanz at January 13, 2015 03:18 PM