Welcome to Planet OSGeo

September 26, 2016

gvSIG Team

La prensa destaca el reconocimiento de la NASA a gvSIG

El pasado viernes un articulo del periódico 20 minutos destacaba el reconocimiento de la NASA al trabajo desarrollado por la Asociación gvSIG con el siguiente titular:

La NASA premia a una entidad española por un proyecto de ciudades inteligentes”.

20 minutos, según los últimos datos, se mantiene firme en el segundo puesto de los diarios más leídos de España con cerca de 1 millón de lectores diarios. No es poca cosa.

La noticia completa se puede leer aquí:


Para un proyecto como gvSIG, sin ninguna multinacional detrás, impulsado por una asociación sin ánimo de lucro y dedicado a desarrollar software libre y compartir conocimiento, salir en la prensa generalista siempre es un hito. Una situación que se está produciendo cada vez más en los últimos tiempos, pero que no deja de alegrarnos en cada ocasión que vemos como gvSIG interesa más allá de los círculos especializados. Una señal más de que el trabajo y esfuerzo de las personas que están implicadas en gvSIG tiene sus frutos.


Esperemos que este tipo de noticias también ayuden a que nuestras queridas administraciones apuesten por impulsar la geomática en software libre y abandonen la senda de la dependencia tecnológica, por impulsar a las PYMES locales en lugar de hipotecarse con multinacionales cuyos cuarteles generales están a miles de kilómetros de distancia, y en definitiva apuesten por un nuevo modelo productivo que funciona, es viable y tan solo requiere una miras políticas que entiendan que en el S.XXI la tecnología es un sector fundamental.

Filed under: gvSIG Desktop, gvSIG Online, opinion, press office, spanish Tagged: NASA, premios, prensa

by Alvaro at September 26, 2016 08:34 AM

September 25, 2016


Update on the QGIS Grant Programme

At the beginning of August this year, we put out a call for applications in our newly launched grant programme. The intent of the programme is to leverage donor and sponsor funding in order to support community members with great ideas to improve the underlying infrastructure of the QGIS project and code base.

We have had a really great response to the call for applications (detailed list of applications is here for your reading pleasure – 233KB download). There has also been some good discussion on the QGIS Developer mailing list about the evaluation process.

Given that we have 18 proposals and only 20,000 Euros to disburse, the QGIS voting members will need to make some tough, pragmatic choices. Its also noteworthy that this is the first time since establishing our community of QGIS Voting Members that we have asked them to vote on an issue. Our intent with the voting member system is to have a streamlined process for deciding on important issues whilst ensuring good representation of all members of the community. In case you are wondering who the QGIS Voting members are, I have prepared this little infographic below which lists the members and shows how they are elected  etc.

qgisoperationalstructure-votingmembersonlyThe voting for the grant proposals ends at the end of the September 2016, and we plan to announce the successful candidates soon after that – probably on the 4th of October. The PSC will arbitrate in the case of a dead heat or the proposal amounts of the top voted proposals not adding up to our funding target.

This round of grant proposals is special not only because it is the first time we are doing this, but also because the grant programme precedes the upcoming release of QGIS 3.0. Providing grants to facilitate this work will help to assure that QGIS 3.0 gets all the love and attention it needs in order to make it a success. That said, there is a huge amount of work to do, and it is mostly being done by a handful of very dedicated and generous (with their time) individuals. If you have the wherewithal to further support some of the grant proposals that did not make the cut, or the QGIS 3.0 effort in general, please get into contact with our treasurer, Andreas Neumann (finance [at] qgis.org) or head over to our sponsorship or donations page to support their work!

Lastly, I appeal to those QGIS Voting Members who have not yet cast their votes to check your email and head over to the voting form to cast your vote!

by Tim Sutton at September 25, 2016 09:32 PM

Jorge Arévalo

Sync your Swarm check-ins to a Carto map

So, you’re a swarm (former foursquare, before the split) user, and want to see all your check-ins in a map. Of course, you want to use Carto for that. Let’s do it, with a little help of IFTTT.

First things first: Sign up to IFTT, and enable this recipe. It will create a Google Drive spreadsheet and add a new line for each new check-in in your swarm account. But WAIT.

Go to the recipe. Do you see the formatted row form field?

seleccion_085Click to enlarge

Ok. Get rid of the IMAGE( part, and leave just the VenueMapImageUrl field.

seleccion_085Click to enlarge

That’s it. Now, make a test check-in, just to make sure everything is working properly, Go to your Drive account, and look for the sheet named Foursquare checkins. Do you see something like this? (Just one row, right now)

seleccion_088Click to enlarge

Cool! Now, add a new row to your sheet, with the field names (this will ease the SQL query you will need to throw later)


seleccion_089Click to enlarge

Ooooook. Now, all your checkins will be added to your Google Drive Spreadsheet. Great, right?

Time for the Carto part. SQL fun!

Go to your Carto account, and create new sync table, connecting with Google Drive.

seleccion_090Click to enlarge


Once you hit Connect and give Carto permission to access your Google account, you’ll see a list of your Google Drive docs. Just pick the Foursquare_checkins table

seleccion_090Click to enlarge

When asked, select a sync period. It depends on how often you use swarm, but 1 hour sounds just fine.

At this point, we have two pieces of a puzzle that need to fit together if we want to see our checkins in the map:

  • We have a Carto table, containing a geometry column, named the_geom, which needs to be populated in order to see something in the map
  • We have a field in that Carto table, named map_url, containing a Google Maps url like this one (framed in red, the interesting part)
seleccion_090Click to enlarge

Do you see where this is going? The idea is to extract latitude and longitude from map_url, and use them to build the_geom column. And when? Each time this table is updated with a new checkin. Using this trigger

CREATE OR REPLACE FUNCTION update_geom_column()
RETURNS trigger AS
coords_array varchar[] := ARRAY[2];
if new.map_url is null then
raise exception 'map_url cannot be null';
end if;

-- Get coords using regexp_matches
select regexp_matches(NEW.map_url, 'center=(-?[\d]*\.[\d]*),(-?[\d]*\.[\d]*)&') into coords_array;
NEW.the_geom = CDB_LatLng(coords_array[1]::numeric, coords_array[2]::numeric);

return NEW;
COST 100;

drop trigger if exists update_geom_column_trigger on foursquare_checkins;
CREATE TRIGGER update_geom_column_trigger
ON foursquare_checkins
EXECUTE PROCEDURE update_geom_column();

That sounds like a good plan, right?

Well… not yet …

The problem with sync tables in Carto is they are re-created each time the synchronization happens. So, the trigger won’t work. I opened an issue about it.

Ok, don’t worry. There’s another solution. We can still build the_geom by manually running this query, after our table is synchronized

with foo as (select cartodb_id, regexp_matches(map_url, 'center=(-?[\d]*\.[\d]*),(-?[\d]*\.[\d]*)&') as coords from foursquare_checkins), bar as (select cartodb_id, coords[1]::numeric as lat, coords[2]::numeric as lng from foo) update foursquare_checkins set the_geom=CDB_LatLng(lat, lng) from bar where foursquare_checkins.cartodb_id = bar.cartodb_id

So, you should run this query each time you enter the table after a synchronization. Or write a cron script to run the query, via Carto SQL API, from time to time if you want.

At the end, you’ll see something like this


Not perfect, but cool enough B-)


by Jorge Arévalo at September 25, 2016 05:00 PM

September 24, 2016

Free and Open Source GIS Ramblings

How to visualize bird migration data with QGIS TimeManager

A common use case of the QGIS TimeManager plugin is visualizing tracking data such as animal migration data. This post illustrates the steps necessary to create an animation from bird migration data. I’m using a dataset published on Movebank:

Fraser KC, Shave A, Savage A, Ritchie A, Bell K, Siegrist J, Ray JD, Applegate K, Pearman M (2016) Data from: Determining fine-scale migratory connectivity and habitat selection for a migratory songbird by using new GPS technology. Movebank Data Repository. doi:10.5441/001/1.5q5gn84d.

It’s a CSV file which can be loaded into QGIS using the Add delimited text layer tool. Once loaded, we can get started:

1. Identify time and ID columns

Especially if you are new to the dataset, have a look at the attribute table and identify the attributes containing timestamps and ID of the moving object. In our sample dataset, time is stored in the aptly named timestamp attribute and uses ISO standard formatting %Y-%m-%d %H:%M:%S.%f. This format is ideal for TimeManager and we can use it without any changes. The object ID attribute is titled individual-local-identifier.


The dataset contains 128 positions of 14 different birds. This means that there are rather long gaps between consecutive observations. In our animation, we’ll want to fill these gaps with interpolated positions to get uninterrupted movement traces.

2. Configuring TimeManager

To set up the animation, go to the TimeManager panel and click Settings | Add Layer. In the following dialog we can specify the time and ID attributes which we identified in the previous step. We also enable linear interpolation. The interpolation option will create an additional point layer in the QGIS project, which contains the interpolated positions.


When using the interpolation option, please note that it currently only works if the point layer is styled with a Single symbol renderer. If a different renderer is configured, it will fail to create the interpolation layer.

Once the layer is configured, the minimum and maximum timestamps will be displayed in the TimeManager dock right bellow the time slider. For this dataset, it makes sense to set the Time frame size, that is the time between animation frames, to one day, so we will see one frame per day:


Now you can test the animation by pressing the TimeManager’s play button. Feel free to add more data, such as background maps or other layers, to your project. Besides exploring the animated data in QGIS, you can also create a video to share your results.

3. Creating a video

To export the animation, click the Export video button. If you are using Linux, you can export videos directly from QGIS. On Windows, you first need to export the animation frames as individual pictures, which you can then convert to a video (for example using the free Windows Movie Maker application).

These are the basic steps to set up an animation for migration data. There are many potential extensions to this animation, including adding permanent traces of past movements. While this approach serves us well for visualizing bird migration routes, it is easy to imagine that other movement data would require different interpolation approaches. Vehicle data, for example, would profit from network-constrained interpolation between observed positions.

If you find the TimeManager plugin useful, please consider supporting its development or getting involved. Many features, such as interpolation, are weekend projects that are still in a proof-of-concept stage. In addition, we have the huge upcoming challenge of migrating the plugin to Python 3 and Qt5 to support QGIS3 ahead of us. Happy QGISing!

by underdark at September 24, 2016 06:50 PM

September 23, 2016

gvSIG Team

Pregunta a gvSIG

Queremos abrir un nuevo tipo de post en el blog de gvSIG y vamos a necesitar de vuestra participación para llevarlo a cabo.

Cuando asistimos a jornadas gvSIG u otro tipo de eventos siempre suelen acercarse usuarios que más allá de dudas técnicas -que siempre pueden resolverse por las listas de usuarios- se interesan por temas de funcionamiento del proyecto o de la Asociación gvSIG, de organización, del modelo de negocio, de las facilidades o dificultades que encontramos…o simplemente nos consultan qué pensamos de aspectos varios del mundo de la geomática o el software libre.


Pues bien, la propuesta es la siguiente: enviadnos vuestras preguntas, consultadnos todo aquello que queráis que respondamos. Nosotros organizaremos las preguntas y las derivaremos a las personas del proyecto gvSIG más idóneas para responderlas…y con esas preguntas/respuestas iremos publicando una serie de post.

Relacionado con esto desde la Asociación gvSIG también queremos preguntar y saber la opinión de las personas que están impulsando el proyecto en una determinada área geográfica o temática, por lo que aprovecharemos esta serie de “Entrevistas abiertas” para sumar vuestras preguntas a las nuestras y obtener respuestas del espectro más amplio posible de la Comunidad.

Para facilitar la coordinación os pedimos que enviéis vuestras preguntas a: info@gvsig.com, y si ponéis en el asunto “Pregunta a gvSIG” mucho mejor.

Y por adelantado…gracias a todos por participar.

Filed under: community, opinion, spanish

by Alvaro at September 23, 2016 03:41 PM

Jackie Ng

Announcing: MapGuide Open Source 3.1 RC1

Here's the first release candidate of MapGuide Open Source 3.1

Of the fixes made since the Beta 2 release, the most notable will probably be that the installer should now work properly on Windows 10. Didn't this work in the past? Yes it did, but when it did work, Windows 10 was still in preview and the version of IIS was most likely not the version it is now (10.0).

Why is this important? Because the windows installer does an IIS version check to determine what screens to present in the Windows Installer UI. Our version check was:


Which basically says: show the IIS-specific UIs (and allow advancing through the IIS-specific screens) if the Windows Installer detected IIS (version 7 or higher) on the host machine. On Windows 10, the version reported is "#10".

And due to how lexicographical string comparisons generally work, the above check fails because "#10" is not greater than "#7". Ain't Microsoft versioning great? They skipped Windows 9 to avoid a whole class of version checking problems, but as we've found out some still slip through the cracks. The IIS installer check is now:


Which just means show the IIS-specific installer UI screens if IIS is present. We don't care what version it is, and "#0" signifies that IIS is not installed. 

And the reason we don't have to care about the particular version is because the versions of Windows that our installer supports will have IIS 7 or higher. So unless Microsoft decides to move away from an appcmd.exe-based approach to IIS configuration in the future, the Windows installer shouldn't have anymore IIS-related issues in the foreseeable future.

So with that interesting version story out of the way, here's the binaries at the usual place.


by Jackie Ng (noreply@blogger.com) at September 23, 2016 03:00 PM


Meet GeoSolutions at INSPIRE Conference 2016 – Final Update

INSPIRE Conference 2016

Dear All, we are proud to announce that GeoSolutions is exhibiting at the INSPIRE Conference 2016 which will be held in Barcelona from 26h to 30th of September 2016..

GeoSolutions will be present with its own booth (it is C4, check this page for the layout) therefore we'll be happy to talk to you about our open source products, like GeoServerMapstore and GeoNetwork, as well as about our Enterprise Support Services and GeoServer Deployment Warranty offerings.

We are also going to hold a workshop on GeoServer and a few presentations as follows:

  • From geospatial data to INSPIRE Services with GeoServer, Monday, September 26, 2016 - 16:00, Room J
  • Mapstore 2: Modern webmapping meets Open Source, Tuesday, September 27, 2016 - 12:30 - 13:00, Room B3
  • Interoperable SDI with GeoServer, Mapstore and GeoNetwork: experiences from the trenches, Wednesday, September 28, 2016, 9:30 - 10:00, Room B1-B2

If you are interested in learning about how we can help you achieving your goals with our Open Source products and professional services, make sure to visit us at our booth

The GeoSolutions team,

by simone giannecchini at September 23, 2016 01:03 PM

September 22, 2016

gvSIG Team

gvSIG rewarded at the Nasa Worldwind Europa Challenge 2016

In the days between the 20th and 22nd of September the final event of the Nasa Worldwind Europa Challenge was held. In this year’s edition the gvSIG Association made it into the first 3 places with 2 projects, which is an amazing result. Moreover both the gvSIG Desktop version and the Online version got rewarded. This is a terrific result for the gvSIG project and brings gvSIG into the hall of fame of userfriendly 3D supporting GIS.


Day 1

Day 1 brought the more technical and academic world together, featuring some keynote presentations mainly about the importance of OpenStreetMap as a Commons value and heritage of everyone (well, there was much more, but would need a post on its own.. Citizen Science, VGI, OSM quality…). Great talks were given by Professor Maria Brovelli and Maurizio Napolitano.


Maria talking, beyond other things, about VGI


Maurizio, in a very passionate talk about why OSM is a Commons. Here he explains how business owners in Venice create their own traffic signs in order to redirect tourists towards their shops🙂


For me it has been the first time I had to represent the Association officially and it has been great! gvSIG was in the final rounds of the challenge with both gvSIG Dektop and Online.

So we showcased them:


The new extrusion support for vector data in gvSIG Desktop at its best.


A great visualization of hydro-geological hazard maps in 3D with gvSIG online

Day 2

Day 2 was dedicated to a huge brainstorming of the members of the professional, academics and students groups. This has been an amazing time, during which, together with Duccio Rocchini (a researcher from the Research Center Fondazione Mach I hadn’t met in a while and was glad to be able to work with) in less than one day we:

  • developed a simple algorithm to identify biodiversity,
  • implemented it java and
  • processed a LiDAR digital elevation model with it

I have to admit that it has been great to see so much commitment from the younger generations. It made me feel good!


Highschool students working on the theory of the algorithm


Writing down the code of the algorithm together on a shared screen. This has been an amazing fun/pair programming!


Our great tutor Duccio Rocchini presenting the results during the last day


One of the results gained in one single day! Biodiversity extracted from the digital elevation model.

Day 3 – The Finals

The last day recapped everything and squeezed it into a single morning. Every team of every category was allowed to present his project in a bunch of minutes and at the end of it all, the winning projects were rewarded.

For the professional track, the gvSIG Association got the second and third prize for the projects based on gvSIG Desktop and gvSIG Online. This has been an amazing achievement and I can’t stop to congratulate not only all those developers that have worked on the projects, but also the whole community and gvSIG ecosystem for growing constantly.

Getting that high in an international challenge involving NASA with two projects is really an achievement we can all be proud of!


The gvSIG projects getting the prize for the second and third place. Now the bull won in 2015 won’t be alone any more!🙂



Filed under: english, events, gvSIG Desktop, gvSIG Online

by moovida at September 22, 2016 05:11 PM

gvSIG Team

12as Jornadas Internacionales gvSIG: Inscripción abierta y plazo de envío de comunicaciones ampliado

Ya está abierto el periodo de inscripción de las 12as Jornadas Internacionales gvSIG, que tendrán lugar del 30 de noviembre al 2 de diciembre en Valencia, España.

La inscripción es totalmente gratuita (con aforo limitado) y se ha de realizar a través del formulario existente en la página web de las Jornadas.


Recordamos que este año las jornadas han cambiado de sede, y tendrán lugar en la Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica y Topográfica (Universitat Politècnica de València).

Más adelante se publicará el programa con todas las ponencias y los diez talleres previstos, con toda la información sobre cómo inscribirse en ellos.

Por otro lado, os informamos que se ha ampliado el plazo de envío de resúmenes unos días. La nueva fecha límite será el 5 de octubre. Las normas para el envío de comunicaciones podéis encontrarlas en el apartado Comunicaciones de la web.

¡Esperamos vuestra participación!

Filed under: community, events, gvSIG Desktop, spanish, training Tagged: Jornadas gvSIG

by Mario at September 22, 2016 08:32 AM

gvSIG Team

12th International gvSIG Conference: Registration is open and new proposal deadline

The registration period for the 12th International gvSIG Conference is now open. It will be held from November 30th to December 2nd in Valencia (Spain).

Registrations are free of cost (limited capacity) and must be done through the application form on the Conference web page.


We remind you that the conference will be held in a different location this year, concretelly at the School of Engineering in Geodesy, Cartography and Surveying (Universitat Politècnica de València). The conference program and all the information about registration for the ten workshops that are planned, and about the conference rooms will be available at the event website soon.

We also inform you that we have extended the deadline for submitting communication proposals. The extended deadline is October 5th. You can find all the information about communication sending in the Communications section of the website.

We expect your participation.

Filed under: community, english, events, training Tagged: gvSIG Conference

by Mario at September 22, 2016 08:28 AM

September 21, 2016

Fernando Quadro

Seminário de Open Source GIS no Governo

O Ibama realiza nos dias 27, 28 e 29 de setembro, com apoio da União Europeia e dos ministérios do Meio Ambiente e do Planejamento, Orçamento e Gestão, seminário sobre uso de software livre para informações geoespaciais no governo. Haverá participação de instituições nacionais e da Itália, da Dinamarca e da Alemanha. O evento, que ocorre das 8h00 às 18h00 nos três dias, será aberto ao público e integra o programa Diálogos Setoriais.

Durante o seminário, serão apresentados casos bem-sucedidos de uso de software livre para aplicações geoespaciais nos países participantes. O diretor de Proteção Ambiental do Ibama, Luciano Evaristo, destaca que o Instituto é reconhecido internacionalmente pelo seu trabalho de monitoramento ambiental no combate ao desmatamento. “O seminário poderá facilitar acordos de cooperação com outros países e a troca de experiências na área ambiental.”

Já foi confirmada a presença de representantes de mais de 15 instituições do governo federal, como Empresa Brasileira de Pesquisa Agropecuária (Embrapa), Instituto Brasileiro de Geografia e Estatística (IBGE), Polícia Federal (PF), Agência Nacional de Águas (ANA), Departamento Nacional de Infraestrutura de Transporte (Dnit), Instituto Nacional de Colonização e Reforma Agrária (Incra), Fundação Nacional do Índio (Funai) e Diretoria de Serviço Geográfico do Exército (DSG), entre outras. Da Europa, participam representantes da Agência Regional de Proteção Ambiental de Piemonte, na Itália; do Instituto Federal de Geociências e Recursos Naturais da Alemanha e da Agência de Meio Ambiente da Dinamarca.

Fonte: Site do IBAMA

by Fernando Quadro at September 21, 2016 02:16 PM

Free and Open Source GIS Ramblings

How to fix a broken Processing model with AttributeError: ‘NoneType’ object has no attribute ‘getCopy’

Broken Processing models are nasty and this error is particularly unpleasant:

File "/home/agraser/.qgis2/python/plugins/processing/modeler/
ModelerAlgorithm.py", line 110, in algorithm
self._algInstance = ModelerUtils.getAlgorithm(self.consoleName).getCopy()
AttributeError: 'NoneType' object has no attribute 'getCopy'

It shows up if you are trying to open a model in the model editor that contains an algorithm which Processing cannot find.

For example, when I upgraded to Ubuntu 16.04, installing a fresh QGIS version did not automatically install SAGA. Therefore, any model with a dependency on SAGA was broken with the above error message. Installing SAGA and restarting QGIS solves the issue.

by underdark at September 21, 2016 12:05 PM

September 20, 2016

GeoServer Team

GeoServer 2.10-beta released

We are happy to announce the release of GeoServer 2.10-beta. Downloads are available (zip, war, dmg and exe) along with docs and extensions.

This is a beta release of GeoServer made in conjunction with GeoTools 16-beta.

Beta Testing

The GeoServer Team has been hard at work to bring you this beta release.

Here is our priorities for testing:

We one crititcal known issues to keep in mind when testing:

  • GEOS-7750 – The WMS and LegendSample beans used in GeoServerTileLayer may provoke a cyclic dependency when Spring beans are loaded. As a consequence tiled layers may not be loaded and are deleted by GWC integration. Please back up your data and configuration before testing the GeoServer 2.10-beta with data you care about.

Highlights from the release notes:

  • Add CSS nested rule support
  • Add CSS rendering transform support
  • Add WMTS multi dimensional community module
  • Add WCS 2.0 Demo Requests
  • OL3 Preview in tiled mode supports map wrapping
  • Make JDBCStore compatible with HazelCast Clustering
  • Changes to WMS GetFeatureInfo for coverages:
    • Band names now presented in responses as NCNames for all info_formats (spaces and leading digits replaced with underscores)
    • Support for continuous map wrapping for latitude/longitude projections
    • Support for coverages with native latitude/longitude coordinates and longitudes > 180 degrees East

Also, looking at the GeoTools 16-M0 release notes, we have:

  • Support Azimuthal Equidistant projection
  • Implement Vladimir’s Polygon label point algorithim
  • GeoPackage can write to boolean fields

For more information about the what is included in the GeoServer 2.10 release, also refer to the GeoServer 2.10-M0 release anouncement.

Security Considerations

This release includes several security enhancements (which are also included in the recent GeoServer 2.8.5 and 2.9.1 releases

  • Although we have not been able to reproduce from GeoServer, a remote execution vulnerability has been reported against both the Restlet  and the Apache Commons BeanUtils libraries we use. We have patched our use of these libraries as a preventative measure. We would like to thank Kevin Smith for doing the bulk of the work, and Andrea Aime for providing a patched BeanUtils library addressing these vulnerabilities.
  • Layer security restrictions in CHALLENGE mode were not being correctly applied by embedded GeoWebCache. Thanks to Nick Muerdter for his responsible report of this vulnerability and for submitting a fix (that included a unit test!)
  • Carl Schroedl reported a vulnerability at application startup when working with a data directory on a network file system, a new configuration option has been provided to check that the directory exists.  Thanks to Carl for following our responsible disclosure procedure, and to Ben Caradoc-Davies for implementing the new parameter.

If you wish to report a security vulnerability, please visit our website for instructions on responsible reporting.

About GeoServer 2.10

GeoServer 2.10 is scheduled for October release.

by tbarsballe at September 20, 2016 11:02 PM

GeoTools Team

GeoTools 16-beta Released

The GeoTools team is pleased to announce the release of GeoTools 16-beta:
This release is also available from our Maven repository.
This release is made in conjunction with GeoServer 2.10-beta.

Highlights from our issue tracker release-notes:
  • CSS now supports rendering transformations
  • Well known symbols added for QGIS interoperability
  • Support for the Azimuthal Equidistant projection

  • ImageMosaic now allows for heterogenous CRS in its granules.
For more information see the 16-beta release notes and the release notes for previous releases (M0).

About GeoTools 16

  • The old wfs module has now been replaced with the wfs-ng module
  • The NetCDF module now uses NetCDF-Java 4.6.6

by Devon T. (noreply@blogger.com) at September 20, 2016 10:57 PM

gvSIG Team

Plataforma de Geomática para el apoyo de la gestión territorial en la Comisión Nacional Forestal de México

En las pasadas Jornadas gvSIG México se presentaron diversos proyectos institucionales que fueron muy bien acogidos por los asistentes como ejemplos de administraciones públicas que apuestan por abordar sus necesidades con soluciones de software libre. Hoy os queremos hablar del proyecto SIGECO, uno de los presentados, y puesto en marcha por la Asociación gvSIG para la CONAFOR (Comisión Nacional Forestal de México).

En primer lugar habría que citar que es un proyecto enmarcado dentro del conocido programa REDD+, mecanismo de lucha contra el cambio climático que ofrece incentivos a los países en desarrollo para proteger, mejorar la gestión y el uso inteligente de sus recursos forestales, incluyendo el rol de la conservación, manejo forestal sostenible, el aumento de las reservas forestales de carbono a través de la forestación, la reforestación y la restauración.


SIGECO se puso en marcha para cubrir la necesidad de la CONAFOR de disponer de una plataforma interinstitucional para el apoyo a la gestión territorial. La solución desarrollada incorpora información de los apoyos (ayudas o subvenciones) federales al sector forestal e información geográfica en materia social, económica y ambiental, habilitando la planificación y seguimiento de los incentivos locales para reducir la deforestación y degradación forestal. Tecnológicamente, el diseño de la solución comprende una base de datos territorial para el proyecto, sobre la cual se ha creado una aplicación SIG de escritorio (basada en gvSIG Desktop) así como una plataforma web integradas con otras herramientas existentes de la CONAFOR. Todas las tecnologías utilizadas y desarrolladas durante el proyecto tienen licenciamiento libre, garantizando así los derechos y libertades de CONAFOR sobre el software.

El proyecto resuelve los problemas habituales de las organizaciones que manejan información geográfica y no disponen de una solución tecnológica adecuada para su correcta gestión: dispersión de la información, dificltad para compartir la información entre gerencias, problemas a la hora de actualizar la información, falta de homogeneidad de la información territorial, imposibilidad de acceder a la información de una manera rápida y remota y, en definitiva, imposibilidad de tomar decisiones de calidad o con garantías.

Para más información podéis consultar un vídeo institucional sobre el proyecto aquí:

El proyecto también fue presentado en las 11as Jornadas Internacionales de la Asociación gvSIG, donde se explica con detalle el proyecto:

Filed under: geoportal, gvSIG Desktop, Projects, SDI, spanish Tagged: base de datos territorial, gestión de apoyos, gestión forestal, IDE, México

by Alvaro at September 20, 2016 04:11 PM

gvSIG Team

Towards gvSIG 2.3: Bookmarks


One of the tools that browser users usually use are the bookmarks or favourite sites. They are links to web sites that make easy to return to your favourite sites in a quick way.

In gvSIG Desktop 2.3 we will have a new tool similar to the browser bookmarks but applied to geographic information. We will have a dataset catalogue with the cartography that we usually use, and they will be able to be loaded in our Views in a quick way.

Working is very easy. We can save and classify a layer in the bookmark catalogue, and we will be able to load any layer of the catalog to our View.

Here you have a video about how it works:

Filed under: english, gvSIG Desktop, testing, training Tagged: gvSIG 2.3

by Mario at September 20, 2016 08:38 AM

GeoSpatial Camptocamp

Formations inter-entreprises Geospatial – 4ème trimestre 2016

Camptocamp propose pour ce dernier trimestre 2016, quatre formations inter-entreprises sur la publication d'une application WebSIG à Le Bourget-du-Lac, sur PostGIS à Paris et sur l'administration de PostgreSQL à Lausanne.

Cet article Formations inter-entreprises Geospatial – 4ème trimestre 2016 est apparu en premier sur Camptocamp.

by camptocamp at September 20, 2016 06:55 AM

gvSIG Team

Camino a gvSIG 2.3: Autoarranque de scripts al iniciar gvSIG

Comentamos la semana pasada la posibilidad de añadir geoprocesos a la Caja de Herramientas de gvSIG. Un problema era que teníamos que ejecutar manualmente este script cada vez que quisiéramos añadir el geoproceso, y esto hacerlo cada vez que arrancamos gvSIG.

Una solución que hemos desarrollado es la oportunidad de añadir un fichero que se ejecutará cada vez que arranquemos gvSIG, teniendo la posibilidad de realizar la tarea que deseemos. Por supuesto, esto será útil para cualquier tipo de herramienta que realicemos.

La forma de hacerlo es muy sencilla y voy a basarme en el script de la semana anterior que aparece en el post sobre Insertar nuevos geoprocesos mediante Scripting.

Vamos a suponer que tenemos nuestro script dentro de una carpeta denominada /gridpol/ dentro de la cual solo estaría por ahora nuestro script quedando: /gridpol/geoprocess_gridpol.py

Para poder crear un fichero autoejecutable, necesitamos dos cosas:

  • Crear un fichero __init__.py dentro de la carpeta donde se encuentra nuestro script. Esto viene de Python y hará que esta carpeta sea tratada como un módulo, por ejemplo, permitiéndonos realizar imports sobre ella. Este fichero es de iniciación del módulo y puede estar en blanco.
  • Crear un fichero autorun.py, este script es el que se ejecutará al arrancarse gvSIG y que contendrá el código que nos interese.

En este caso, dentro del fichero geoprocess_gridpol.py he metido lo que había dentro de la función main() en una función selfRegister(). Esta parte del código es la que se encarga de añadir el proceso a la Caja de Herramientas. En este ejemplo podríamos eliminar la ventana emergente msgbox() para que no nos aparezca cada vez que abrimos gvSIG.

En geoprocess_gridpol.py quedará la función siguiente a la misma altura que la función main():

def selfRegister(*args):
        # Creamos nuesto geoproceso
        process = GridPol()
        # Lo registramos entre los procesos disponibles en el grupo de "Scripting"
        # Actualizamos el interface de usuario de la Toolbox


Lo que hago ahora es escribir en el fichero autorun lo siguiente:

# encoding: utf-8

import geoprocess_gridpol

def main(*args):

De esta forma el fichero autorun estará llamando a la función selfRegister que acabamos de crear y ejecutará esa parte del código. Como vemos, estamos importando el script que teníamos creado. Con reload() estamos forzando a Jython a recompilar este módulo, por si hubieran habido cambios.

El reload es útil a la hora de realizar importaciones para que aparezcan los cambios realizados en script modificados pero no ejecutados, como puede ser el caso de librerías creadas por nosotros dentro del propio módulo.

Quedará una estructura del proyecto similar a:

geo_gridpol_estructuraGuardamos los cambios, reiniciamos gvSIG, y veremos que se realiza la ejecución de proceso. Los scripts que contienen un autorun, se van cargando en segundo plano mientras gvSIG se acaba de iniciar, podéis ver esta carga en la parte inferior izquierda de la aplicación.

Es recomendable no abrir el Scripting Composer hasta que no acabe la ejecución de estos autorun ya que en algunos casos puede llevar a un fallo de ejecución.

También hemos añadido una opción extra en la cual puedes desactivar los ficheros autorun que no desees que se ejecuten al inicio. Puede ser útil si estamos desarrollando uno de estos módulos o dejamos de utilizar alguna herramienta.

Para ello solo tienes que irte al Scripting Composer, abrir el fichero autorun correspondiente, y en la pestaña de Propiedades desactivar la opción de Enabled que vendrá activada por defecto:


Acordaros siempre de Guardar los cambios. Si falta algo por guardar, el nombre del script aparecerá en negrita en las pestañas de la parte superior.

Cualquier duda podéis poneros en contacto con nosotros en las Listas de Usuarios o Desarrolladores.

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

by Óscar Martínez at September 20, 2016 05:06 AM

September 19, 2016

From GIS to Remote Sensing

Semi-Automatic Classification Plugin v.5.0 "Kourou" Released: Basic Tutorial 1

I am very glad to announce the availability of the new Semi-Automatic Classification Plugin (SCP) version 5.0, code name "Kourou" (dedicated to the Europe's Spaceport in French Guiana where Sentinel satellites are launched, see http://www.esa.int/Our_Activities/Launchers/Europe_s_Spaceport/Overview_of_Europe_s_Spaceport).
I have also updated the user manual that is available here.

In case the plugin is still not available inside QGIS Plugin Manager, you can perform a manual installation, following this guide.
Following the first basic tutorial of this new version.

by Luca Congedo (noreply@blogger.com) at September 19, 2016 09:42 PM

From GIS to Remote Sensing

Exploring the new features of Semi-Automatic Classification Plugin v.5.0 "Kourou"

I am glad to announce that the new Semi-Automatic Classification Plugin (SCP) version 5.0, code name "Kourou" (dedicated to the Europe's Spaceport in French Guiana where Sentinel satellites are launched, see http://www.esa.int/Our_Activities/Launchers/Europe_s_Spaceport/Overview_of_Europe_s_Spaceport) will be released on 1st of September.

Following the changelog:
-new interface
-new input file (extension .scp) which is a zip file containing the shapefile and signature list file
-possibility to create multipart ROIs (pressing CTRL + mouse click) and CTRL + Z for removing last part
-C ID is automatically incremented after saving a ROI
-function to merge ROI polygons from table
-new Land Cover Signature classification based on the range values of spectral signatures
-new tab for the definition of range values for Land Cover Signature classification
-in Landsat and Sentinel pre processing added option for calculations based on the band set
-new tab for PCA (Principal Components Analysis) of Band set
-in Band set added options for automatic calculation of virtual raster, stack of layers, build overviews, and Band calc expressions
-enhanced signature plot that allows for interactive definition of range values and new navigation (pan with left click and zoom with scroll or right click)
-enhanced Band calc allowing for the use of variables "#BLUE#" , "#RED#", and "#NIR#" in expressions
-Band calc option to use custom file names for multiple expression adding @fileName at the end of expression
-in Band calc added Decision rules for calculating raster based on conditions (e.g. "raster1 >0" or multiple rules separated by semicolon)
-added button for importing SCP file (polygons with automatic reprojection and spectral signatures), CSV, and external shapefile
-direct search of Landsat images from NASA CMR Search
-new tab for search and download of ASTER images L1T  from NASA Land Processes Distributed Active Archive Center
-new tab for conversion of ASTER images L1T
-new tab for manual raster editing
-new tab for classification sieve
-new tab for classification erosion
-new tab for classification dilation
-new tab for conversion from vector to raster (using a reference raster for pixel alignment)
-new tab for batch processing (Landsat conversion, Sentinel conversion,  ASTER conversion, Create band set, Classification, Split raster bands, Vector to raster, Clip multiple rasters, Accuracy, Land Cover Change, Classification report, Classification to vector, Reclassification, Classification sieve, Classification erosion, Classification dilation, Edit raster using shapefile, Band calc) and option for using a working directory (!working_dir!)
-new tab for editing RGB list
-improved settings of UL and LR points for area definition in several tabs (left click for UL point and right click for LR point)
-added service option for Sentinel-2 download mirrors (e.g. working with https://finhub.nsdc.fmi.fi , https://data.sentinel.zamg.ac.at)
-if available, Sentinel-2 granule preview are downloaded from the Amazon Web Services (http://sentinel-pds.s3-website.eu-central-1.amazonaws.com)
-results of image searching are added to the previous results in the table
-improved scatter plot
-ROI size (pixels) is calculated in the Signature details
-added button for calculation of spectral distances
-clip multiple rasters using shapefile and accuracy assessment now work also if shapefile and raster projections are different

by Luca Congedo (noreply@blogger.com) at September 19, 2016 09:42 PM

From GIS to Remote Sensing

Semi-Automatic Classification Plugin v. 5: Watch the Trailer

I have started developing the new version 5 of the Semi-Automatic Classification Plugin for QGIS.
This will be a major updated with several new functions and a revamped interface.

In particular, the interface will have a unified dock (merging the ROI dock and Classification dock of the previous version) to gain more space for the display of the image. Also, several tools will be moved to a toolbar for rapid access to ROI creation and classification previews.
Following a preview of the new interface (there could be changes in the final version of SCP).

by Luca Congedo (noreply@blogger.com) at September 19, 2016 09:42 PM

From GIS to Remote Sensing

Sentinel-2 Download Issues Using the Semi-Automatic Classification Plugin: Solved

Recently several users of the Semi-Automatic Classification Plugin (SCP) for QGIS reported errors that prevented the search and download of Sentinel-2 images.

The issues were caused mainly by the cryptographic protocols used for accessing data and the way the SCP tries to connect to the Copernics Data Hub (https://scihub.copernicus.eu).
In particular, the issues started after some recent changes of the Copernics Data Hub, when the protocols used for accessing data were upgraded (i.e. TLS v1.1+).

The SCP relies on Python for downloading Sentinel-2 images.
As described here https://docs.python.org/2/library/ssl.html the protocols TLS v1.1 and TLS v1.2 are available only in Python 2.7.9+ with openssl version 1.0.1+.
Unfortunately QGIS comes with a previous version of Python where TLS v1.1 and TLS v1.2 are not available. Therefore the Sentinel-2 download process fails.

by Luca Congedo (noreply@blogger.com) at September 19, 2016 09:41 PM

From GIS to Remote Sensing

Estimation of Land Surface Temperature with Landsat and ASTER

This post is about the estimation land surface temperature using Landsat Satellite and ASTER Satellite images. In this tutorial we are going to use a land cover classification for the definition of surface emissivity, which is required for the calculation of the land surface temperature. It is assumed that one has the basic knowledge of SCP and Basic Tutorials.
Our study area will be Paris (France), an area covered by urban surfaces, vegetation and agricultural fields.
Before downloading data, please watch the following video that illustrates the study area and provides very useful information about thermal infrared images, and their application (footage courtesy of European Space Agency/ESA). Also, a brief description of the area that we are going to classify is available here .

The thermal infrared band is particularly useful for assessing the temperature difference between the city and the surrounding rural areas, and studying the urban heat island phenomenon. We are going to use Landsat and ASTER images for the estimation of land surface temperature. For more information about the conversion of raster bands please read Conversion to At-Satellite Brightness Temperature. Following the video of this tutorial.

by Luca Congedo (noreply@blogger.com) at September 19, 2016 09:36 PM

gvSIG Team

Camino a gvSIG 2.3: Catálogo de favoritos


Una de las herramientas que los usuarios de navegadores web solemos utilizar frecuentemente son los denominados marcadores o favoritos. Vínculos a sitios web que te facilitan volver a tus lugares preferidos de forma rápida.

Para gvSIG Desktop 2.3 tendremos disponible una nueva herramienta que sigue esa misma filosofía aplicada a la información geográfica. Disponer de un catálogo de fuentes de datos que solemos utilizar y que queremos que estén disponibles para poder añadirlas a nuestras Vistas de la forma más rápida posible.

El funcionamiento es extremadamente sencillo, aquella capa que queramos la podemos guardar y clasificar en el catálogo de favoritos, y aquella capa que esté en el catálogo de favoritos podremos añadirla a nuestras Vistas.

Os dejo con un vídeo donde se muestras su funcionamiento:

Filed under: gvSIG Desktop

by Alvaro at September 19, 2016 03:43 PM

Marco Bernasocchi

QGIS2 compatibility plugin

Lately I’ve been spending time porting a bigger plugin from QGIS 2.8 to 3 while maintaining 2.8 compatibility. You can find it at https://github.com/opengisch/qgis2compat/ and http://plugins.qgis.org/plugins/qgis2compat/ One code to rule them all. My target was to have to edit the
See more ›

by marco at September 19, 2016 02:01 PM

Even Rouault

Running FreeBSD in Travis-CI

Note for geospatial focused readers: this article has little to do with geo, although it is applied to GDAL, but more with software virtualization, hacks, software archeology and the value of free software. Note for virtualization experts: I'm not one, so please bear with my approximate language and inaccuracies.

Travis-CI is a popular continuous integration platform, that can be easily used with software projects hosted at GitHub. Travis-CI has a free offer for software having public repository at GitHub. Travis-CI provides cloud instances running Linux or Mac OS X. To increase portability tests of GDAL, I wondered if it was somehow possible to run another operating system with Travis-CI, for example FreeBSD. A search lead me to this question in their bug tracker but the outcome seems to be that it is not possible, nor in their medium or long term plans.

One idea that came quickly to mind was to use the QEMU machine emulator that can simulate full machines (CPU, peripherals, memory, etc), of several hardware architectures (Intel x86, ARM, MIPS, SPARC, PowerPC, etc..). To run QEMU, you mostly need to have a virtual hard drive, i.e. a file that replicates the content of the hard disk of the virtual machine you want to run. I found here a small ready-to-use x86_64 image of FreeBSD 9.2, with one nice property: the ssh server and DHCP are automatically started, making it possible to remote connect to it.

So starting with a Travis-CI Ubuntu Trusty (14.04) image, here are the step to launch our FreeBSD guest:

sudo apt-get install qemu
wget ftp://ftp.stacklet.com/archive/x86-64/FreeBSD/9.2/\

tar xJvf freebsd.9-2.x86-64.20140103.raw.img.txz

qemu-system-x86_64 -daemonize -display none \

freebsd.9-2.x86-64.20140103.raw.img \

-m 1536 -smp 4 -net user,hostfwd=tcp::10022-:22 -net nic

The qemu invokation starts the virtual machine as a daemon without display, turn on networking and asks for the guest (ie FreeBSD) TCP port 22 (the ssh port) to be accessible by the host (Linux Trusty) as port 10022

To ssh into the VM, there's one slight inconvenience: ssh login requires a password. The root password for this VM is "password". But ssh is secured and doesn't accept the password to be provided through files or piped in with "echo". I found that the sshpass utility was designed to overcome this in situations where security isn't really what matters. However, the version of sshpass bundled with Ubuntu Trusty didn't work with the corresponding ssh version (not surprisingly since the authors of sshpass mention that it is full of assumptions about how ssh works, that can be easily breaks with changes of ssh). I found that the latest version 1.0.6 worked however.

With 4 extra lines, we can now login into our FreeBSD instance:

wget http://fossies.org/linux/privat/sshpass-1.06.tar.gz
tar xzf sshpass-1.06.tar.gz

cd sshpass-1.06 && ./configure && make -j3 && cd ..

export MYSSH="sshpass-1.06/sshpass -p password ssh \
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
root@localhost -p10022"

So now we can configure a bit our FreeBSD VM to install with the 'pkg' package manager a few dependencies to build GDAL:

$MYSSH 'env ASSUME_ALWAYS_YES=YES pkg bootstrap'
$MYSSH 'mkdir /etc/pkg'

sshpass-1.06/sshpass -p password scp \
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \

-P 10022 FreeBSD.conf root@localhost:/etc/pkg/FreeBSD.conf


$MYSSH 'env ASSUME_ALWAYS_YES=YES pkg install gmake'

$MYSSH 'env ASSUME_ALWAYS_YES=YES pkg install python27'

$MYSSH 'env ASSUME_ALWAYS_YES=YES pkg install py27-numpy'

$MYSSH 'env ASSUME_ALWAYS_YES=YES pkg install sqlite3 curl'

$MYSSH 'env ASSUME_ALWAYS_YES=YES pkg install expat'
Here we go: ./configure && make ! That works, but 50 minutes later (the maximum length of a Travis-CI job), our job is killed with perhaps only 10% of the GDAL code base being compiled. The reason is that we used the pure software emulation mode of QEMU that involves on-the-fly disassembling of the code to be run and re-assembling. QEMU can for example emulate a ARM guest on a Intel host, and vice-versa, and there's no really shortcuts when the guest and host architectures are the same. So your guest can typically run 10 times slower than it would on a real machine with its native architecture. Actually, that's not true, since with the addition of CPU instructions dedicated to virtualization (VT-x for Intel, AMD-V for AMD), an hypervisor called KVM (Kernel Virtual Machine) was added to the Linux kernel, and QEMU can use KVM to implement the above mentioned shortcuts to reach near bare-metal performance. It just takes to use 'kvm' instead of 'qemu-system-x86_64'. Let's do that ! Sigh, our attempt fails miserably with a "failed to initialize KVM" error message. If we display the content of /proc/cpuinfo, we get:

flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc
rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1

sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm
fsgsbase bmi1 avx2 smep bmi2 erms xsaveopt

A lot of nice to have things, but the important thing to notice is the absence of the 'vmx' (Intel virtualization instruction set) and 'svm' (similar for AMD) flags. So this machine has no hardware virtualization capabilities ! Or more precisely, this *virtual* machine has no such capabilities. The documentation of the Trusty Travis-CI environment mentionned they are based on Google Computing Engine as the hypervisor, and apparently it does not allow (or is not configured to allow) nested virtualization, despite GCE being based on KVM, and KVM potentially allowing nested virtualization. GCE allows Docker to run inside VM, but Docker only runs Linux "guests". So it seems we are really stuck.

Here comes the time for good old memories and a bit of software archeology. QEMU was started by Fabrice Bellard. If you didn't know his name yet, F. Bellard created FFMPEG and QEMU, holds a world record for the number of decimals of Pi computed on a COTS PC, has ported QEMU in JavaScript to run the Linux kernel in your browser, devised BPG, a new compression based on HEVC, etc....

At the time where his interest was focused on QEMU, he created KQemu, a kernel module (for Linux, Windows, FreeBSD hosts), that could significantly enhance QEMU performance when the guest and hosts are x86/x86_64. KQemu requires QEMU to be modified to communicate with the kernel module (similarly to the working of QEMU with the KVM kernel module). KQemu started as a closed source project and was eventually released as GPL v2. One of the key feature of KQemu is that it does not require (nor use) hardware virtualization instructions. KQemu software virtualization involves complicated tricks, particularly for code in the guest that run in "Ring 0", ie with the highest priviledges, that you must patch to run as Ring 3 (non-priviledge) code in the host. You can get an idea of what is involved by reading the documentation of VirtualBox regarding software virtualization. I will not pretend that QEMU+KQemu did the exact same tricks as VirtualBox, but that should give you at least a picture of the challenges involved.  This complexity is what lead to KQemu to be eventually abandonned when CPUs with hardware virtualization became widespread to the market since KVM based virtualization is much cleaner to implement. Starting with QEMU 0.12.0, KQemu support was finally dropped from QEMU code base.

Due to KQemu not using hardware virtualization instructions, there is a good hope that it can run inside a virtualized environment. So let's have a try with QEMU 0.11.1 and KQemu 1.4.0pre. Compiling QEMU 0.11.1 on Ubuntu Trusty runs quite well, except a linking error easily fixed with this trivial patch. Building KQemu is a bit more involved, being a kernel module and the (internal) Linux kernel API being prone to changes from time to time. One good news is that the Linux specific part of kqemu is a relatively small file and the API breaks were limited to 2 aspects. The way to get the memory management structure of the current task had changed in Linux 2.6.23 and I found this simple patch to solve it. Another change that occured in a later Linux release is the removal of kernel semaphores to be replaced by mutexes. My cumulated patch to fix all compilation issues is here. I don't pretend that it is technically correct as my knowledge of kernel internals is more than limited, but a local test seemed to confirm that adding -enable-kqemu to the qemu command line worked sufficiently well to start and do things in the FreeBSD VM, and at a very decent speed. I tried the -kernel-qemu switch that turns on KQemu acceleration for kernel guest code, but that resulted in a crash of qemu near the end of the boot process of FreeBSD. Which is not surprising as kernel-qemu makes some assumptions on the internal working of the guest OS, which perhaps FreeBSD does not meet. Or perhaps this is just a bug of qemu/kqemu.

Running it on Travis-CI was successful too, with the compilation being done in 20 minutes, so probably half of the speed of bare metal, which is good enough. kqemu does not support SMP guests (but this was listed in the potential "roadmap", so probably achievable), but if we wanted to speed up compilation, we could potentially launch 2 kqemu-enabled qemu instances (the Travis-CI VM have 2 cores available) that would compile different parts of the software with the build tree being hosted in a NFS share. I said that compilation goes fine, except that the build process (actually the qemu instance) crashes at libgdal.so building time (I can also reproduce that locally). This is probably because the history of qemu & kqemu wasn't long enough to go from beta quality to production quality. I've workarounded this issue by only doing the compilation in -enable-kqemu mode, restarting the VM in pure software emulation to do the linking, and then restarting in -enable-kqemu mode. Unfortunately running the GDAL Python autotest suite in kqemu mode also leads to a qemu crash (due to the design of kqemu only runnnig code in ring 3, crashes do not affect the host), and running it completely in pure emulation mode reaches the 50 minute time-out, so for the sake of this demonstration, I only run one of the test file. And now we have our first succesful build given this build recipee.

I could also have potentially tried VirtualBox because, as mentionned above, it supports software virtualization with acceleration. But that is only for 32 bit guests (and I didn't find a ready-made FreeBSD 32bit image that you can directly ssh into). For 64 bit guests, VirtualBox require hardware virtualization to be available in the host. To the best of my knowledge, KQemu is (was) the only solution to enable acceleration of 64 bit guests without hardware requirements.

My main conclusion of this experiment is it is a striking example of a key advantage of the open source model. If kqemu had not been released as GPL v2, I would have never been able to resurrect it and modify it to run on newer kernels (actually there was also QVM86, an attempt of developing an alternative to Kqemu while Kqemu was still closed source and that was abandonned when VirtualBox was open sourced).

by Even Rouault (noreply@blogger.com) at September 19, 2016 10:52 AM

PostGIS Development

PostGIS 2.3.0rc1 Released

PostGIS 2.3.0rc1 is feature complete, so we’re looking for testing and feedback! Best served with PostgreSQL 9.6rc1 and pgRouting 2.3.0-rc1

Please give this release candidate a try and report back any issues you encounter. New things since 2.3.0beta1 release

Please report bugs that you find in this release.

Important / Breaking Changes

  • 3466, Casting from box3d to geometry now returns a 3D geometry (Julien Rouhaud of Dalibo)

  • 3604, pgcommon/Makefile.in orders CFLAGS incorrectly leading to wrong liblwgeom.h (Greg Troxel)

  • 3396, ST_EstimatedExtent, now throws WARNING instead of ERROR (Regina Obe)

    New Features and Performance Enhancements

  • Add support for custom TOC in postgis_restore.pl (Christoph Moench-Tegeder)

  • Add support for negative indexing in STPointN and STSetPoint (Rémi Cura)
  • Numerous new function additions and enhancements: New Functions and Enhancements

  • 3549, Support PgSQL 9.6 parallel query mode, as far as possible (Paul Ramsey, Regina Obe)

  • 3557, Geometry function costs based on query stats (Paul Norman)
  • 3591, Add support for BRIN indexes (Giuseppe Broccolo of 2nd Quadrant, Julien Rouhaud and Ronan Dunklau of Dalibo)
  • 3496, Make postgis non-relocateable (for extension install), schema qualify calls in functions (Regina Obe) Should resolve once and for all for extensions #3494, #3486, #3076

  • 3547, Update tiger geocoder to support TIGER 2016 and use http or ftp (Regina Obe)

See the full list of changes in the news file and please report bugs that you find in the release. Binary packages will appear in repositories over the coming weeks as packagers roll out builds.

View all closed tickets for 2.3.0.

by Regina Obe at September 19, 2016 12:00 AM

September 18, 2016

Free and Open Source GIS Ramblings

Movement data in GIS: issues & ideas

Since I’ve started working, transport and movement data have been at the core of many of my projects. The spatial nature of movement data makes it interesting for GIScience but typical GIS tools are not a particularly good match.

Dealing with the temporal dynamics of geographic processes is one of the grand challenges for Geographic Information Science. Geographic Information Systems (GIS) and related spatial analysis methods are quite adept at handling spatial dimensions of patterns and processes, but the temporal and coupled space-time attributes of phenomena are difficult to represent and examine with contemporary GIS. (Dr. Paul M. Torrens, Center for Urban Science + Progress, New York University)

It’s still a hot topic right now, as the variety of related publications and events illustrates. For example, just this month, there is an Animove two-week professional training course (18–30 September 2016, Max-Planck Institute for Ornithology, Lake Konstanz) as well as the GIScience 2016 Workshop on Analysis of Movement Data (27 September 2016, Montreal, Canada).

Space-time cubes and animations are classics when it comes to visualizing movement data in GIS. They can be used for some visual analysis but have their limitations, particularly when it comes to working with and trying to understand lots of data. Visualization and analysis of spatio-temporal data in GIS is further complicated by the fact that the temporal information is not standardized in most GIS data formats. (Some notable exceptions of formats that do support time by design are GPX and NetCDF but those aren’t really first-class citizens in current desktop GIS.)

Most commonly, movement data is modeled as points (x,y, and optionally z) with a timestamp, object or tracker id, and potential additional info, such as speed, status, heading, and so on. With this data model, even simple questions like “Find all tracks that start in area A and end in area B” can become a real pain in “vanilla” desktop GIS. Even if the points come with a sequence number, which makes it easy to identify the start point, getting the end point is tricky without some custom code or queries. That’s why I have been storing the points in databases in order to at least have the powers of SQL to deal with the data. Even so, most queries were still painfully complex and performance unsatisfactory.

So I reached out to the Twitterverse asking for pointers towards moving objects database extensions for PostGIS and @bitnerd, @pwramsey, @hruske, and others replied. Amongst other useful tips, they pointed me towards the new temporal support, which ships with PostGIS 2.2. It includes the following neat functions:

  • ST_IsValidTrajectory — Returns true if the geometry is a valid trajectory.
  • ST_ClosestPointOfApproach — Returns the measure at which points interpolated along two lines are closest.
  • ST_DistanceCPA — Returns the distance between closest points of approach in two trajectories.
  • ST_CPAWithin — Returns true if the trajectories’ closest points of approach are within the specified distance.

Instead of  points, these functions expect trajectories that are stored as LinestringM (or LinestringZM) where M is the time dimension. This approach makes many analyses considerably easier to handle. For example, clustering trajectory start and end locations and identifying the most common connections:


(data credits: GeoLife project)

Overall, it’s an interesting and promising approach but there are still some open questions I’ll have to look into, such as: Is there an efficient way to store additional info for each location along the trajectory (e.g. instantaneous speed or other status)? How well do desktop GIS play with LinestringM data and what’s the overhead of dealing with it?

by underdark at September 18, 2016 03:11 PM

September 17, 2016

Free and Open Source GIS Ramblings

How to use Print Composer templates

In the previous post, Mickael shared a great map design. The download includes a print composer template, that you can use to recreate the design in a few simple steps:

1. Create a new composition based on a template

Open the Composer manager and configure it to use a specific template. Then you can select the .qpt template file and press the Add button to create a new composition based on the template.

2. Update image item paths

If the template uses images, the paths to the images most likely need to be fixed since the .qpt file stores absolute file paths instead of relative ones.


With these steps, you’re now ready to use the design for your own maps. Happy QGISing!

by underdark at September 17, 2016 12:13 PM

From GIS to Remote Sensing

New release: Semi-Automatic OS v. 5

I have released a new version of the Semi-Automatic OS v. 5, a free virtual machine based on Debian Linux, for the land cover classification of remote sensing images. It includes the Semi-Automatic Classification Plugin (SCP) and QGIS, already configured along with all the required dependencies (OGR, GDAL, Numpy, SciPy, and Matplotlib).

The main features are:
  • based on Debian 8, available in 32 bit and 64 bit;
  • includes QGIS 2.8.2;
  • includes the Semi-Automatic Classification Plugin v. 5.0.8 - master, installed through the official master repository ( https://semiautomaticgit.github.io/SemiAutomaticClassificationPlugin/repository.xml ) which provides always the latest version of SCP;
  • includes the PDF version of the User Manual of the Semi-Automatic Classification Plugin and a sample dataset of Landsat image (available from the U.S. Geological Survey) and a Sentinel-2 image (© Copernicus Sentinel data 2016) which are the input for the two basic tutorials.

by Luca Congedo (noreply@blogger.com) at September 17, 2016 08:11 AM

September 15, 2016

gvSIG Team

gvSIG Online en la SECTUR: la Infraestructura de Datos Espaciales de la Secretaría de Turismo de México

En este post vamos a presentaros la Infraestructura de Datos Espaciales en software libre para la SECTUR, Secretaría de Turismo de México que ha puesto en marcha la Asociación gvSIG, gracias a la tecnología gvSIG Online. En las 3as Jornadas gvSIG México celebradas la pasada semana fue un proyecto que despertó bastante interés, así que espero que este post sirva para acceder fácilmente a la información del alcance del proyecto.


En primer lugar comentar que la tecnología utilizada, gvSIG Online, es una plataforma integral para la puesta en marcha, gestión y explotación de Infraestructuras de Datos Espaciales. Internamente está formada por una serie de componentes de software, todos ellos con licencia libre, que permiten disponer de una IDE completa.

El proyecto de la SECTUR es el primer caso de implementación de gvSIG Online en México y un ejemplo de las capacidades del software libre para la puesta en marcha de este tipo de proyectos.

¿Qué se necesitaba inicialmente?

De partida el proyecto era menos ambicioso desde el punto de vista de la información geográfica y formaba parte de un proyecto mayor relacionado con la gestión de apoyos (subvenciones o ayudas) para el sector turístico de México a nivel de estados y municipios. En este marco era necesario disponer de un geoportal o módulo cartográfico que permitiera analizar visualmente una serie de mapas temáticos.

Gracias a la potencialidad de gvSIG Online el alcance del proyecto se escaló rápidamente, ya que pasaron de necesitar un geoportal a disponer de una completa Infraestructura de Datos Espaciales con capacidad para generar tantos geoportales -públicos o privados- como fuera necesario.

En definitiva el proyecto pasó de ser un geoportal para visualizar mapas relacionados con la gestión de apoyos a convertirse en la Infraestructura de Datos Espaciales del sector turístico en México.


En cualquier caso, centrándonos en las necesidades iniciales, a nivel de los apoyos el sistema solventa una serie de problemas que tenía la SECTUR como:

  • Carencia de marco geográficos. Pese a su relevancia no se consultaban datos espaciales, en muchos casos por ser inaccesibles, en la toma de decisiones relacionada con la adjudicación de apoyos.
  • Información geográfica descentralizada y en muchos casos ilocalizable o desconocida. La información geográfica se generaba en distintas áreas de la organización, no siempre conocida y no siempre localizada, lo que generaba una serie de dificultades para consultarla. En muchos casos, además, se daba la circunstancia de que no existía un software para consultarla.
  • Todo ello, lógicamente, generaba que hubiera mucha información geográfica desactualizada, así como distintas versiones de una misma información sin posibilidad de saber “cuál era la buena”.

En definitiva, había una dificultad de realizar consultas geográficas por parte de los servidores públicos de SECTUR que se extrapolaba a cualquier proyecto realizado por la organización. En este sentido vale la pena valorar la cantidad de recursos económicos invertidos que se están perdiendo cuando no se aprovecha el acceso a la información geográfica que tiene una organización…por el simple hecho de no tener una IDE.

A día de hoy a nivel interno se trabaja por aplicación (una de las características más destacadas de gvSIG Online), es decir, se generan distintos geoportales para cada necesidad que se presenta en SECTUR. De hecho, más allá del geoportal inicial de evaluación de recursos turísticos para determinar la calificación de los proyectos para recibir apoyos, hay más de una decena de geoportales internos con distintos usos, información y permisos de acceso.

Os dejo con la grabación de un webinar sobre la IDE de SECTUR, donde se explica en detalle el alcance y resultados del proyecto:

Y si queréis ver un vídeo-webinar sobre gvSIG Online…

Filed under: geoportal, gvSIG Online, Projects, SDI, spanish Tagged: IDE, Infraestructura de Datos Espaciales, México, turismo

by Alvaro at September 15, 2016 12:12 PM


Foss4g.be - The Belgian conference on open-source geospatial software

Next week, the second edition of Foss4g.be, the Belgian conference on open-source geospatial software will take place in Tour and Taxis in Brussels.

The conference will bring together developers and users of open source geomatics software from Belgium and all over the world. Participation is free of charge but registration is required.

We have a varied program for you: in the plenary session we will present the current state of many of the major Open source GIS applications - this includes novelties demonstrated at the last FOSS4G conference in Bonn.

Next in the main track the different regions of Belgium will present their open (geo) data sets. Moreover Christian Quest from Open StreetMap France will explain how the Openstreetmap community was actually part of the creation and maintenance of the address database in France.

In our parallel sessions we have presentations covering all aspects of Open source geospatial. Presentations on the usage of some of the most widely used programs, such as QGis, Openlayers3 and PostGIS, but also less well known solutions for handling 3D data, building SDI and doing advanced analyses. With the open streetmap conference happening just the day after this conference, we also have a special track with specialised

Last but not least, conferences are all about meeting networking and meeting new people, and you will get the chance to do so during our breaks!

Hope to see many of you in Brussels!


by Johan Van de Wauw (noreply@blogger.com) at September 15, 2016 09:17 AM


In September, Brussels turns into Maptember

In two weeks from now, from 22 september until 26 september 5 big events from the open geo movement will be happening in Brussels.

On 22 september there will be two conferences: one FOSS4G Belgium conference organised by the local , which focuses on software for Geo. There will also be a lot of attention to open (geo) data sets provided by different governement agencies in Belgium.

On the same day in a different location the Humanitarian OpenStreetMap Team will also be gathering for their HOT summit. After both events, forces will be joined for a mapathon.

The next three days the international openstreetmap conference will be happening at VUB.
State Of The Map

Last but not least on Monday after all events, there will be a hackday, focused on OSM and OSGeo technologies.

Completely lost track? Check
http://maptember.brussels/ for an overview.

by Johan Van de Wauw (noreply@blogger.com) at September 15, 2016 07:32 AM

Free and Open Source GIS Ramblings

Material design map tutorial for QGIS Composer

This is a guest post by Mickael HOARAU @Oneil974

For those wishing to get a stylized map on QGIS composer, I’ve been working on a tutorial to share with you a project I’m working on. Fan of web design and GIS user since few years, I wanted to merge Material Design Style with Map composer. Here is a tutorial to show you how to make simply a Material Design Map style on QGIS.

Click to view slideshow.

You can download tutorial here:

Tutorial Material Design Map

And sources here:

Sources Material Design Map

An Atlas Powered version is coming soon!

by oneil974 at September 15, 2016 06:13 AM

September 14, 2016

OSGeo News

Travel grants for students attending SIGSPATIAL 2016

by jsanz at September 14, 2016 09:52 PM

From GIS to Remote Sensing

Minor Update: Semi-Automatic Classification Plugin v. 5.0.6

This post is about a minor update for the Semi-Automatic Classification Plugin for QGIS, version 5.0.6.

Following the changelog:
-fixed ROI creation issue whith multiband raster
-added plugin repository
-stack bandset now uses the first band name for the output

by Luca Congedo (noreply@blogger.com) at September 14, 2016 05:05 PM

gvSIG Team

Towards gvSIG 2.3: Portable distribution for Mac OS X


One of the novelties of the next gvSIG Desktop 2.3 is that a distribution for Mac OS X operating system will be released too. A long-awaited novelty… or at least we think it, because every week there was anybody who asked the gvSIG Association about gvSIG Desktop for Mac.

It will be available in portable version, so that a zip file will have to be unzipped and then run the application.

We would need extra help to detect new errors because it is the first official distribution for Mac, mainly related to the interface, and we will be able to improve this distribution. For that we ask all the Mac users and enthusiasts for help to test it.

In the latest release candidate builds that have been released it can be tested already. For example, gvSIG 2.3 RC4 for Mac can be downloaded from:


Once it is downloaded, as we told you, it can be unzipped, and then you can run the application.


All that’s left is to test gvSIG…


You can use the users mailing list to send the errors and suggestions. And a last advice: don’t change the app name because it won’t work.

Filed under: development, english, gvSIG Desktop, testing Tagged: Mac

by Mario at September 14, 2016 03:17 PM

Paulo van Breugel

A GRASS GIS addon to upload raster values and labels to a point layer

A new GRASS GIS addon to upload raster values and labels to a point layer

by pvanb at September 14, 2016 01:21 PM

September 13, 2016

gvSIG Team

GeoTIC: Solution for inventory management of ICT resources

geoportal_geoticGeoTIC is one of the gvSIG Association projects which exemplifies the use of our technologies in free software for inventory management. If in gvSIG Roads is available a product for inventory management road in this project it is launched a solution to optimize inventory management of ICT resources.

The Service of User and Workstation support (SAUPT) of the General Direction of Information Technology and Communication (DGTIC) of the Generalitat Valenciana (GVA -regional government in Valencia, Spain-) had a number of needs in their management process.

The main problem to solve was that much of the management was done in spreadsheets and the information that they need to perform their functions were decentralized, needing to have access to different systems to obtain it, and therefore was not available an overview. As a solution to this problem the GeoTIC project was born.

GeoTIC is a tool for technicians, which facilitates their daily work, and a dashboard that helps in the decision making process to optimize the resources available in which service.

geotic_alfaThe application was developed using gvNIX -a product boosted by gvSIG Association- and stands out for increasing productivity, in terms of the reduction of development time. In addition, for this type of inventory solutions that combine (really the most important) alphanumeric management with the cartographic part , gvNIX facilitates the incorporation of the geographical component, integrating it into the the system as one element more. As a database has been used PostgreSQL + PostGIS.

Regarding to geographic information, the geoportal Geotic is dedicated to the management of ICT resources from DGTIC. This geoportal shows the headquarters which serving the Service of User and Workstation support (SAUPT), being able to access and manage information through them.

Another feature of GeoTIC is that it is an adaptive web application and can be used in devices with different resolutions: desktops, laptops, tablets or mobile As information GeoTIC feeds on different databases (GUC, BASKET, GeoTIC) , using different technologies (PostgreSQL and Oracle) and from different web services (JIRA, SAFE, OSM, official mapping):

  • CESTA is an Oracle database, which contains the inventory of ICT assets of GVA.
  • GUC is also an Oracle database, with headquarters inventory of GVA.
  • The GeoTIC database is implemented with postgreSQL + PostGIS where the information that was in spreadsheets is stored. Also, this database is the one that gives the space support to the application.
  • JIRA is an application for the management and project planning by the incidents managing.
  • SAFE is the authentication and authorization service offered by the GVA.

GeoTIC performs automatic synchronizations at night, when people are not working, to always have updated the data obtained from GUC and JIRA. It also offers the possibility to perform manual synchronizations.

The application also needs to access map servers for mapping. It obtains the cartography from OpenStreetMap and from various sources of official cartography.

For more information about the project (and see a demo of its operation) you can see the presentation that was made of it in The 11th International gvSIG Conference:

If in your organization you have equivalent needs to manage your inventory (whether ICT or any other information), we encourage you to contact us: info@gvsig.com. Besides we have the best experts in free geomatics you will be contributing to the maintenance and development of the gvSIG project.

Filed under: english, geoportal, gvNIX, Inventory Tagged: ICT, Resources management

by Mario at September 13, 2016 07:07 AM

September 12, 2016

gvSIG Team

Camino a gvSIG 2.3: Nuevas funcionalidades en el Scripting Composer

Para la nueva versión de gvSIG 2.3 se han realizado una gran cantidad de mejoras a nivel de integración con sus librerías, pero también en las herramientas de desarrollo para ayudar en la creación de scripts y extensiones.

Debido a esto, el Scripting Composer ha recibido una ampliación de funcionalidades muy interesantes para los desarrolladores, el pack de herramientas ScriptingComposerTools. Estas funcionalidades vienen a completar las herramientas básicas que podría tener cualquier IDE, con la ventaja de tenerlo todo ya integrado en gvSIG.

Y un tema importante, todas estas herramientas se han realizado con esta misma IDE dentro de gvSIG desarrolladas sobre Jython, las cuales amplían las funcionalidades del Scripting Composer en forma de extensiones.

Renovación del interfaz



Editor integrado

Tendremos un editor integrado en nuestro IDE no solo para ficheros .py, sino para otros como DBF, TXT..

int_txt int_dbf



Una ventana en la que aparecerá un árbol con todas las funciones y clases que tenga nuestro script, permitiendo movernos entre ellas con un solo click. Si cambiamos de script, el árbol se actualizará automáticamente al nuevo script.

Podemos tenerlo integrado en la ventana para un uso continuo:


O llamarlo cuando lo necesitemos con CONTROL + O.


Búsqueda de referencias

Podemos abrir esta herramienta con CONTROL+R. Nos ayudará a buscar texto, clases, funciones, métodos.. en nuestro código o módulo.


Si por ejemplo buscamos en este caso sobre Panel, nos aparecerán los siguientes resultados mostrando en qué puntos está siendo llamado o declarado. Haciendo click sobre ellos nos llevará a la línea de código donde se encuentra.


Correcciones mientras escribimos

Hemos integrado un analizador de código, que comprobará los errores básicos de programación.

Por ejemplo, en este caso estamos intentando imprimir el valor de una variable que no existe.



Herramientas de autocompletado básico, con variables de nuestro script, indicador de funciones de gvSIG con el mismo nombre, librerías, etc. Se lanza al presionar CONTROL+ESPACIO mientras escribimos código.


Herramienta de generación de interfaces visuales: Abeille

La integración de Abeille en la herramienta, nos permitirá su ejecución desde un botón, y a la hora de guardar el fichero creado nos aparecerá por defecto la ruta actual de nuestro script.


Y abierta la aplicación:


Revisión de sintaxis con Lint

Una de las herramientas incorporadas es Lint.


Nos permitirá analizar nuestro código en busca de errores como en este ejemplo, encontrando variables declaradas en desuso.



Los errores que nos aparezcan en el IDE a la hora de la ejecución podremos hacer click sobre ellos y nos llevará directamente al error y nos abrirá el script donde saltó el error. Muy útil para el desarrollo de plugins.


Cerrar scripts en ejecución

A veces queremos cerrar un script el cual se encuentra en bucle o no accesible. Para ellos hemos desarrollado una herramienta en la cual podemos parar estos scripts en ejecución.


Aparecerá integrada en nuestro IDE:


Empaquetador de scripts

La posibilidad de desarrollar plugins basados en scripts tenía que venir acompañada de la posibilidad de poder empaquetarlos y enviarlos. Seleccionando la carpeta donde se encuentra todo nuestro módulo, podremos empaquetar un script en un paquete de gvsig: .gvspkg

Estos paquetes podrán ser instalados desde el Administrador de Complementos como si se trataran de cualquier otro tipo de plugin.




Ayuda integrada

Y una de las más importantes, una ayuda integrada sobre el módulo de programación. Permitiendo acceder a la información de javadocs y otras webs sobre Scripting.

Por contenidos:


Por clases:


Ayuda web que se encuentra actualmente en desarrollo:


Y la posibilidad de añadir otro tipo de documentación:


Si este pack de herramientas no vienen instalados en vuestra distribución al no ser aún finales, podéis descargarlas desde el repositorio oficial denominadas como ScriptingComposerTools. Solo tendréis que instalarlo y reiniciar gvSIG. Si queréis echarle un vistazo al código, solo tendréis que entrar en el Scripting Composer y buscar en la carpeta de addons.

Todas estas herramientas son de nuevo desarrollo y siguen en desarrollo. Os animamos a probarlas y a reportar los posibles errores que podáis encontrar, también recomendaciones para su mejora. Os podéis poner en contacto con nosotros en Listas de Usuarios o Desarrolladores.

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

by Óscar Martínez at September 12, 2016 01:46 PM