Welcome to Planet OSGeo

October 01, 2014

Boundless Blog

PostGIS Training: Creating Overlays

PostGIS training At Boundless, we recognize that software is only as good as the problems it can be used to solve. That’s why we don’t just develop the best open source spatial software, we also teach you how to use it with supporttraining, and workshops directly from the experts.

One question that comes up often during our PostGIS training is “how do I do an overlay?” The terminology can vary: sometimes they call the operation a “union” sometimes an “intersect”. What they mean is, “can you turn a collection of overlapping polygons into a collection of non-overlapping polygons that retain information about the overlapping polygons that formed them?”


So an overlapping set of three circles becomes a non-overlapping set of 7 polygons. screenshot_69

Calculating the overlapping parts of a pair of shapes is easy, using the ST_Intersection() function in PostGIS, but that only works for pairs, and doesn’t capture the areas that have no overlaps at all. How can we handle multiple overlaps and get out a polygon set that covers 100% of the area of the input sets? By taking the polygon geometry apart into lines, and then building new polygons back up. Let’s construct a synthetic example: first, generate a collection of random points, using a Gaussian distribution, so there’s more overlap in the middle. The crazy math in the SQL below just converts the uniform random numbers from the random() function into normally distributed numbers.

WITH rands AS (
  SELECT generate_series as id, random() AS u1, random() AS u2 FROM generate_series(1,100)
    50 * sqrt(-2 * ln(u1)) * cos(2*pi()*u2),
    50 * sqrt(-2 * ln(u1)) * sin(2*pi()*u2)),4326) AS geom
FROM rands;

The result looks like this: screenshot_70 Now, we turn the points into circles, big enough to have overlaps.

SELECT id, ST_Buffer(geom, 10) AS geom FROM pts;

Which looks like this: screenshot_71 Now it’s time to take the polygons apart. In this case we’ll take the exterior ring of the circles, using ST_ExteriorRing(). If we were dealing with complex polygons with holes, we’d have to use ST_DumpRings(). Once we have the rings, we want to make sure that everywhere rings cross the lines are broken, so that no lines cross, they only touch at their end points. We do that with the ST_Union() function.

CREATE TABLE boundaries AS
SELECT ST_Union(ST_ExteriorRing(geom)) AS geom
FROM circles;

What comes out is just lines, but with end points at every crossing. screenshot_72 Now that we have noded lines, we can collect them into a multi-linestring and feed them to ST_Polygonize() to generate polygons. The polygons come out as one big multi-polygon, so we’ll use ST_Dump() to convert it into a table with one row per polygon.

SELECT nextval('polyseq') AS id, (ST_Dump(ST_Polygonize(geom))).geom AS geom
FROM boundaries;

Now we have a set of polygons with no overlaps, only one polygon per area. screenshot_73 So, how do we figure out how many overlaps contributed to each incoming polygon? We can join the centroids of the new small polygons with the set of original circles, and calculate how many circles contain each centroid point. screenshot_74 A spatial join will allow us to calculate the number of overlaps.

UPDATE POLYS set count = p.count
  SELECT count(*) AS count, p.id AS id  
  FROM polys p 
  JOIN circles c 
  ON ST_Contains(c.geom, ST_PointOnSurface(p.geom)) 
  GROUP BY p.id
) AS p
WHERE p.id = polys.id;

That’s it! Now we have a single coverage of the area, where each polygon knows how much overlap contributed to it. Ironically, when visualized using the coverage count as a variable in the color ramp, it looks a lot like the original image, which was created with a simple transparency effect. However, the point here is that we’ve created new data, in the count attribute of the new polygon layer. screenshot_75 The same decompose-and-rebuild-and-join-centroids trick can be used to overlay all kinds of features, and to carry over attributes from the original input data, achieving the classic “GIS overlay” workflow. Happy geometry mashing!

Want to learn more? Try our Introduction to PostGIS online training course!

The post PostGIS Training: Creating Overlays appeared first on Boundless.

by Paul Ramsey at October 01, 2014 03:33 PM


SOLR power shining through GeoServer OGC services


Dear Readers, in this post we are going to introduce our latest development in terms of GeoServer data source: a SOLR based data store. SOLR is a well known, fast, open source Java based search server, which can store documents in XML/JSON format and the allow for very quick searches on them. The documents can contain one or more fields, listed as part of the SOLR schema, and each document can contain any of the fields in the schema, one or more times. One nice thing about SOLR is that it supports geometric fields, and can efficiently index them via a spatial indexing scheme, making it a suitable data source for GeoServer. The combination of SOLR and GeoServer is an interesting one, as it provides the speed and power of full SOLR searches for clients that can talk the protocol directly, an accessible OGC frontend for the rest of the world, and the ability to quickly depict and graphically summarize the document in a WMS map. Now, you might wonder, how does one bind an un-structured document store to a OGC server, which uses a fixed data schema instead? Let's see. First off, we connect the store by providing the url to the SOLR server, and identifying a document attribute that will be used to discriminate the available layers, and tell us which document is contained in which layer (given that documents are pretty flexible, adding a layer identifying attribute is normally not a problem): Selezione_177 Second, we choose one of the layer names identified by the layer_name_field: Selezione_178 Finally, choose which attributes available in the documents we want to take part in the feature type: Selezione_180 And voilà, the layer is ready for publishing, and ready for WMS serving: Selezione_182 It's also worth noting that all filters GeoServer can receive via CQL_FILTER, OGC filter or SLDs are promptly turned into SOLR native query language, ensuring optimal data transfer, but just in case, if you have a filter that you cannot express using the normal GeoServer/OGC means, you can also pass down native "q" and "fq" filters, they can be provided as viewParams for this store. For example, the following can be added to the GetMap request:

We would like to thank the New South Wales Geological Survey for sponsoring this work, which was carried on as part of GeoSolutions Enterprise Support Services Plan. The GeoSolutions team,

by Andrea Aime at October 01, 2014 03:06 PM

OSGeo News

Announcing FOSS4G-Europe 2015 (Como, Italy)

by aghisla at October 01, 2014 01:20 PM

pycsw Team

pycsw FOSS4G 2014 Presentation redux

Angelos’ presentation from PDX is now online.

Data.gov/Geoplatform.gov CSW implementation through pycsw and CKAN integration — Angelos Tzotsos, NTUA from FOSS4G on Vimeo.

We’re also pleased to have released 1.10.0 from the code sprint.

At this point, the project will start to concentrate on finalizing the OSGeo incubation process and paving the way for CSW 3.0 support. Stay tuned!

October 01, 2014 01:03 PM

GeoServer Team

GeoServer at FOSS4G

Thanks to PDX-OSGeo local chapter and the organising committee of FOSS4G for a great event. We had a great time meeting everyone, enjoyed an excellent and diverse program, and productive weekend code sprint.

Marcus Sen and Jody Garnett have kindly gathered up links to GeoServer content.

Group Talks:

GeoServer Talks:

Comparative Evaluations:

Vertical Integration:

Misc / GeoTools:

by jgarnett at October 01, 2014 08:22 AM

Even Rouault

GDAL/OGR 1.11.1 released

On behalf of the GDAL/OGR development team, I am pleased to
announce the release of the GDAL/OGR 1.11.1 bug fix release.  This
release contains more than 80 bug fixes since the April 1.11.0 release.

The source is available at:


Details on the the fixes in this release, and a security announcement, are
available at:

by Even Rouault (noreply@blogger.com) at October 01, 2014 08:09 AM

September 30, 2014

Jackie Ng

MapGuide tidbits: Strange fonts on Linux

Does your MapGuide Linux installation render labels that look like this?

Instead of this?

This is due to MapGuide not being able to correctly locate the required font in question (Verdana). To fix this, you need to install the appropriate font package that provides the missing font. In the case of verdana, that package is msttcorefonts.

On Ubuntu: Simply install the msttcorefonts package

On CentOS: Install the following packages:

  • curl
  • xorg-x11-font-utils
  • fontconfig
And then install the following RPM packages with the rpm command
  • rpm -i http://pkgs.repoforge.org/cabextract/cabextract-1.4-1.el6.rf.i686.rpm
  • rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
Now you can verify your font in question is install by running the fc-list command and looking for the name of your font in the output

fc-list | grep Verdana

Now even after this, MapGuide may still not properly locate this font even if it is installed.

If this is still the case, copy the physical font files to the directory of the mgserver executable (eg. /usr/local/mapguideopensource-2.6.0/server/bin) and restart the MapGuide Server.

In the case of msttcorefonts, the physical font files are found in:
  • On Ubuntu: /usr/share/fonts/truetype/msttcorefonts
  • On CentOS: /usr/share/fonts/msttcore

by Jackie Ng (noreply@blogger.com) at September 30, 2014 03:22 PM


Waiting for PostGIS 2.2 - ST_ClipByBox2D - Map dicing Redux in concert with ST_Tile

One of the new features coming in PostGIS 2.2 is ST_ClipByBox2D (thanks to Sandro Santilli's recent commits funded by CartoDB ). However to take advantage of it, you are going to need your PostGIS compiled with GEOS 3.5+ (very recent build) which has not been released yet. Windows folks, the PostGIS 2.2 9.3 and 9.4 experimental binaries are built with the latest GEOS 3.5 development branch, so you should be able to test this out with Winnie's experimental builds.

Since the dawn of PostGIS, PostGIS users have needed to mutilate their geometries in often painful and horrific ways. Why is ST_ClipByBox2D function useful, because its a much faster way of mutilating your geometries by a rectangular mold than using ST_Intersection. Why would you want to mutilate your geometries? There are many reasons, but I'll give you one: As your geometry approaches the area of your bounding box and as your bounding box size decreases, the more efficient your spatial index becomes. You can consider this article, Map dicing redux of the article I wrote (eons ago) - Map Dicing and other stuff which describes the same approach with much older technology. Though I will be using more or less the same dataset Massachusetts TOWNSSURVEY_POLYM (its newer so you can't really compare) and I tried to simplify my exercise a bit (not resorting to temp tables and such), my focus in this article will be to compare the speed between the new ST_ClipByBox2D approach and the old ST_Intersection approach. The spoiler for those who don't have the patience for this exercise is that using ST_ClipByBox2D at least on my sample data set on my puny Windows 7 64-bit desktop using PostgreSQL 9.4beta2 64-bit was about 4-5 times faster than using ST_Intersection. There was a downside to this speedup. With the ST_Intersection approach, I had no invalid polygons. In the case of ST_ClipByBox2D, I had one invalid polygon. So as noted in the docs, use with caution. We'd be very interested in hearing other people's experiences with it.

One other benefit that ST_ClipByBox2D has over ST_Intersection which I didn't test out is that although ST_Intersection doesn't work with invalid geometries, ST_ClipByBox2D can.

For these exercises, I'm going to also abuse the PostGIS raster function ST_Tile for geometry use, cause for some strange reason, we have no ST_Tile function for PostGIS geometry. For those who missed the improper use of ST_Tile for raster, refer to Waiting for PostGIS 2.1 - ST_Tile.

Continue reading "Waiting for PostGIS 2.2 - ST_ClipByBox2D - Map dicing Redux in concert with ST_Tile"

by Regina Obe (nospam@example.com) at September 30, 2014 02:55 PM

Nyall Dawson

Creating custom colour schemes in PyQGIS

In my last post I explored some of the new colour related features available in QGIS 2.6. At the end of that post I hinted at the possibility of creating QGIS colour schemes using python. Let’s take a look…

We’ll start with something nice and easy – a colour scheme which contains a predefined set of colours (e.g., standard company colours). This is done by subclassing QgsColorScheme and implementing the required methods ‘schemeName‘, ‘fetchColors‘ and ‘clone‘. It’s all fairly self explanatory – most of the important stuff happens in fetchColors, which returns a list of QColor/string pairs. Here’s a sample:

from PyQt4.QtCore import *
from PyQt4.QtGui import *

class QgsCgaLightColorScheme(QgsColorScheme):
    def __init__(self, parent=None): 
    def schemeName(self):
        return "CGA Colors!"
    def fetchColors(self,context='', basecolor=QColor()):
        return [[QColor('#555555'),'Gray'],
                    [QColor('#5555FF'),'Light Blue'],
                    [QColor('#55FF55'),'Light Green'],
                    [QColor('#55FFFF'),'Light Cyan'],
                    [QColor('#FF5555'),'Light Red'],
                    [QColor('#FF55FF'),'Light Magenta'],
    def flags(self):
        return QgsColorScheme.ShowInAllContexts
    def clone(self):
        return QgsCgaLightColorScheme()

cgaScheme = QgsCgaLightColorScheme()

This scheme will now appear in all colour buttons and colour picker dialogs:

CGA colours… what your map was missing!

If you only wanted the scheme to appear in the colour picker dialog, you’d modify the flags method to return QgsColorScheme.ShowInColorDialog instead.

QgsColorSchemes can also utilise a “base colour” when generating their colour list. Here’s a sample colour scheme which generates slightly randomised variations on the base colour. The magic again happens in the fetchColors method, which copies the hue of the base colour and generates random saturation and value components for the returned colours.

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import random

class QgsRandomColorScheme(QgsColorScheme):
    def __init__(self, parent=None): 

    def schemeName(self):
        return "Random colors!"

    def fetchColors(self, context='', basecolor=QColor() ):
        noColors = random.randrange(30)
        minVal = 130;
        maxVal = 255;
        colorList = []
        for i in range(noColors):
            if basecolor.isValid():
                h = basecolor.hue()
                #generate random hue
                h = random.randrange(360);

            s = random.randrange(100,255)
            v = random.randrange(100,255)

            colorList.append( [ QColor.fromHsv( h, s, v), "random color! " + str(i) ] )

        return colorList

    def flags(self):
        return QgsColorScheme.ShowInAllContexts

    def clone(self):
        return QgsRandomColorScheme()

randomScheme = QgsRandomColorScheme()

Here’s the random colour scheme in action… note how the colours are all based loosely around the current red base colour.

Randomised colours

You may also have noticed the context argument for fetchColors. This can be used to tweak the returned colour list depending on the context of the colour picker. Possible values include ‘composer‘, ‘symbology‘, ‘gui‘ or ‘labelling‘.

One final fun example… here’s a colour scheme which grabs its colours using the Colour Lovers API to fetch a random popular palette from the site:

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from xml.etree import ElementTree
import urllib2
import random

class colorLoversScheme(QgsColorScheme):

    def __init__(self, parent=None): 
        xmlurl = 'http://www.colourlovers.com/api/palettes/top'

        headers = { 'User-Agent' : 'Mozilla/5.0' }
        req = urllib2.Request(xmlurl, None, headers)
        doc = ElementTree.parse(urllib2.urlopen(req)).getroot()

        palettes = doc.findall('palette')
        palette = random.choice(palettes)

        title = palette.find('title').text
        username = palette.find('userName').text
        attrString = title + ' by ' + username
        colors = ['#'+c.text for c in palette.find('colors').findall('hex')]

        self.color_list = [[QColor(c), attrString] for c in colors]

    def schemeName(self):
        return "Color lovers popular palette"

    def fetchColors(self, context='', basecolor=QColor()):
        return self.color_list

    def flags(self):
        return QgsColorScheme.ShowInAllContexts

    def clone(self):
        return colorLoversScheme()

loversScheme = colorLoversScheme()      
QgsColorSchemeRegistry.instance().addColorScheme( loversScheme )

Clicking a colour button will now give us some daily colour scheme inspiration…

Grabbing a palette from the Colours Lovers site

Grabbing a palette from the Colours Lovers site

Ok, now it’s over to all you PyQGIS plugin developers – time to go wild!

by Nyall Dawson at September 30, 2014 12:52 PM

September 29, 2014

Nyall Dawson

What’s new in QGIS 2.6 – Tons of colour improvements!

With one month left before the release of QGIS 2.6, it’s time to dive into some of the new features it will bring… starting with colours.

Working with colours is a huge part of cartography. In QGIS 2.4 I made a few changes to improve interaction with colours. These included the ability to copy and paste colours by right clicking on a colour button, and dragging-and-dropping colours between buttons. However, this was just the beginning of the awesomeness awaiting colours in QGIS 2.6… so let’s dive in!

Part 1 – New colour picker dialog

While sometimes it’s best to stick with an operating system’s native dialog boxes, colour pickers are one exception to this. That’s because most native colours pickers are woefully inadequate, and are missing a bunch of features which make working with colours much easier. So, in QGIS 2.6, we’ve taken the step of rolling out our very own colour picker:

New QGIS colour picker

Before starting work on this, I conducted a review of a number of existing colour picker implementations to find out what works and what doesn’t. Then, I shamelessly modelled this new dialog off the best bits of all of these! (GIMP users will find the new dialog especially familiar – that’s no coincidence, it’s a testament to how well crafted GIMP’s colour picker is.)

The new QGIS colour picker features:

  • Colour sliders and spin boxes for Hue, Saturation, Value, Red, Green and Blue colour components
  • An opacity slider (no more guessing what level of transparency “189” corresponds to!)
  • A text entry box which accepts hex colours, colour names and CSS rgb(#,#,#) type colours. (The drop down arrow you can see on this box in the screenshot above allows you to specify the display format for colours, with options like #RRGGBB and #RRGGBBAA)
  • A grid of colour swatches for storing custom colours
  • A visual preview of the new colour compared to the previous colour
  • Support for dragging and dropping colours into and out of the dialog
  • A colour wheel and triangle method for tweaking colours (by the way, all these colour widgets are reusable, so you can easily dump them into your PyQGIS plugins)
    Colour wheel widget
  • A colour palettes tab. This tab supports adding and removing colours from a palette, creating new palettes and importing and exporting colours from a GPL palette file. (We’ll explore colour palettes in more detail later in this post.)
    Colour palettes
  • A colour sampler! This tab allows you to sample a colour from under the mouse pointer. Just click the “Sample color” button, and then click anywhere on the screen (or press the space bar if you’re sampling outside of the QGIS window). You even get the choice of averaging the colour sample over a range of pixels. (Note that support for sampling is operating system dependant, and currently it is not available under OSX.)
    Built in colour sampler! Woohoo!

Part 2 – New colour button menus

Just like the new colour dialog is heavily based off other colour dialog implementations, this new feature is inspired by Microsoft’s excellent colour buttons in their recent Office versions (I make no claim to originality here!). Now, all QGIS colour buttons come with a handy drop down menu which allows you to quickly choose from some frequently used colour shortcuts. You’ve got the previously available options of copying and pasting colours from 2.4, plus handy swatches for recently used colours and for other standard colours.


Handy colour menu for buttons

Part 3 – Colour palettes

You may have noticed in the above screenshot the “Standard colors” swatches, and wondered what these were all about.  Well, QGIS 2.6 has extensive support for color palettes. There’s a few different “built-in” color palettes:

  • The “Standard colors” palette. This palette can be modified through the Options → Colors tab. You can add, remove, edit, and rename colours, as well as import color schemes from a GPL palette file. These standard colours apply to your QGIS installation, so they’ll be available regardless of what project you’re currently working on.

    Customising the standard colours

    Customising the standard QGIS colours

  • The “Project colors” palette. This can be accessed via the Project Properties → Default styles tab. This palette is saved inside the .qgs project file, so it’s handy for setting up a project-specific colour scheme.
  • The “Recent colors” palette. This simply shows colours you’ve recently used within QGIS.

You can easily create new colour palettes directly from the colour picker dialog. Behind the scenes, these palettes are saved into your .qgis/palettes folder as standard GPL palette files, which makes it nice and easy to modify them in other apps or transfer them between installations. It’s also possible to just dump a stack of quality palettes directly into this folder and they’ll be available from within QGIS.

Perhaps the best bit about colour schemes in QGIS is that they can be created using PyQGIS plugins, which opens up tons of creative possibilities… More on this in a future blog post!

So there we go. Tons of improvements for working with colours are heading your way in QGIS 2.6, which is due out on the 24th October.

(Before we end, let’s take a quick look at what the competition offers over in MapInfo land. Yeah… no thanks. You might want to invest some development time there Pitney Bowes!)

by Nyall Dawson at September 29, 2014 01:45 PM


Rilascio del plugin RNDT per GeoNetwork 2.10


Salve a tutti, GeoSolutions è lieta di annunciare il rilascio ufficiale del plugin di GeoNetwork per la gestione e disseminazione di metadati secondo lo standard italiano RNDT. A questo link è possibile trovare: I pacchetti a disposizione sono creati in automatico ogni qual volta viene effettuata una modifica o un fix a GeoNetwork o al plugin RNDT stesso. Una demo online con alcune schede di metadato pronte è disponibile a questo link. Per quanto riguarda la documentazione, facciamo riferimento alla documentazione standard di GeoNetwork disponibile a questo link, tuttavia per facilitare il compito di coloro che volessero utilizzare GeoNetwork con il plugin RNDT pur non avendo esperienza specifica GeoSolutions ha creato queste brevi guide introduttive: GeoSolutions intende ringraziare il proprio partner Esalab per il l'aiuto fornito nella creazione del plugin RNDT ed i seguenti enti che hanno collaborato alla realizzazione:
  • Regione Piemonte, con il supporto tecnico  di CSI Piemonte
  • Provincia Autonoma di Bolzano
  • Regione Sardegna
Infine riteniamo opportuno sottolineare che GeoSolutions è a disposizione con i suoi GeoSolutions Enterprise Services per fornire supporto professionale per GeoServer, GeoNetwork e MapStore. Maggiori informazioni sono reperibili sul sito di riferimento oppure possono essere direttamente richieste tramite il nostro modulo di contatto online. The GeoSolutions team,

by simone giannecchini at September 29, 2014 09:00 AM

September 28, 2014

gvSIG Team

Octubre gvSIG: 10 años compartiendo y construyendo (Actualización)

Actualizamos el post con bastantes novedades y actualización de información de varias activiades. Destacamos el lanzamiento de las 1as Jornadas gvSIG de Perú, un nuevo MOOC de introducción a gvSIG en idioma inglés y nuevas actividades propuestas desde Argentina, Chile, Cuba, España, Italia y México.

Decía Thoreau que el tiempo era la corriente en la que estaba pescando. El próximo octubre harán 10 años desde la publicación de una primera versión de gvSIG. ¡10 años ya!

Desde algunas de las Comunidades de gvSIG se nos propuso realizar actividades durante el mes de octubre que celebraran de algún modo esta efeméride. Al comentar esta propuesta de manera informal han ido surgiendo cada vez más propuestas, que nos llevan por un lado a anunciar las ya confirmadas y a hacer un llamamiento a sumarse con nuevas actividades durante todo octubre.

En algunos casos se ha hecho coincidir las jornadas nacionales con este “mes gvSIG”, en otros se están organizando charlas en universidades, hay previstos varios webinars,…y novedades que esperamos confirmar en breve y que a buen seguro despertarán el interés de la comunidad.

Octubre es también el mes en que esperamos tener listo gvSIG 2.1, una versión que ya en sus build de testing está recibiendo una valoración muy positiva…y que continuamos mejorando con cambios que a más de uno sorprenderán. Andamos trabajando en más cosas, una nueva web, nuevas extensiones,…

Por otro lado hemos lanzado ya una nueva convocatoria de cursos on-line con considerables descuentos que esperemos que hagan la formación certificada más accesible a todos vosotros (además de inclur un curso totalmente gratuito de i3GEO).

Vamos a las actividades confirmadas por orden alfabético de país:

  • Webinars: organizados en colaboración con MundoGEO (En breve +información)
    • gvSIG aplicado a criminología. Con la participación de ICSPOL, la unidad de análisis de datos de la Policía Local de Castellón (España) y la colaboración de CRÍMINA (Centro para el estudio y prevención de la delincuencia) y el Instituto Vasco de Criminología.
    • gvSIG em mapeamentos de bacias hidrográficas. Impartido por Gilberto Cugler.
    • gvSIG aplicado a fauna y espacios naturales protegidos. Con la participación de eGeoMapping. Webinar sobre el uso de gvSIG aplicado a la fauna y los espacios naturales protegidos, donde se podrá ver un ejemplo práctico de aplicación con el fin de gestionar la información cartográfica vinculada a proyectos de fauna y poder desarrollar análisis y representación de mapas temáticos provenientes de datos tomados en campo, y un ejemplo en el caso de los ENP de España.
    • Modelizador de geoprocesos en gvSIG. Impartido por Gustavo Agüero (Consultores A&A) y coordinador de la Comunidad gvSIG de Costa Rica.
      • Idioma: español.
      • Fecha: 17 de octubre.
      • Inscripción: En breve + información.
  • MOOC,  acrónimo en inglés de Massive Online Open Courses ( ó Cursos online masivos y abiertos):
    • Basic GIS with gvSIG (More information will be added shortly). Organizado por Asociación gvSIG en colaboración con GISMAP.
      • Idioma: inglés
    • Dispositivos Móviles para la Gestión del Territorio. Nueva edición de este curso, en esta ocasión en la plataforma de formación online UPV [X].
      • Impartido por Israel Quintanilla y Aurea Gallego, del Dpto. de Ingeniería Cartográfica, Geodesia y Fotogrametría, de la ETSI Geodésica, Cartográfica y Topográfica de la Universidad Politécnica de Valencia.
      • Resumen: Se conocerán los distintos sistemas de georreferenciación / navegación aplicados a dispositivos móviles, la estructura de los Sistemas de Información Geográfica (SIG) y su aplicabilidad a la gestión del territorio y se describirán los sistemas de comunicación existentes (GPRS/UMTS, internet), con el objeto de analizar las aplicaciones a la ingeniería y la gestión del territorio que proporciona la integración de estos tres sistemas en los dispositivos móviles. Asimismo, se describirán los principales software de navegación y gestión de la información (SIG) existentes en el mercado para dispositivos móviles. Por último, se realizara una valoración de las distintas aplicaciones que pueden proporcionar los dispositivos móviles para la gestión del territorio, para la ingeniería, geografía, geología, ciencias medio ambientales…
      • Más información: http://cursodispositivosmoviles.upvx.es/ficha
    • Introducción a scripting en gvSIG 2.1. Curso de introducción para los usuarios que quieran comenzar a desarrollar sus primeros scripts con Python en la nueva versión de gvSIG.
      • Impartido por Óscar Martínez (masquesig).
      • En breve más información.
  • Argentina:
    • 4as Jornadas Argentinas de gvSIG. Los días 2 y 3 de octubre de 2014 se celebrarán en el campus de la Universidad Nacional de Villa María, Córdoba.
    • Capacitación “gvSIG para docentes e investigadores“. Universidad Nacional de Río Cuarto en ámbito del Observatorio de Conflictos Sociales y Ambientales de la Universidad. Contacto (Ricardo Castro): rcastro.vm@gmail.com
  • Brasil:
    • Evento em comemoração aos 10 anos do gvSIG na UFPR Litoral.
      • Seminário: Geotecnologias Sociais Livres: 10 anos do gvSIG. Local:UFPR Litoral (Matinhos-PR); início 18h;  Painelistas: Dra.Édina M. Vergara – UFPR Litoral, Dr. Alexandro G. Schäfer – UNIPAMPA – Bagé-RS, Dr.Nelson C. Rosot – UFPR, Doutorando Ricardo Monteiro – UFPR Litoral, Gilberto Cugler.
      • Evento Paralelo 1: Curso de gvSIG (30h) com prof. Gilberto Cugler – de 22 a 24/10, na UFPR Litoral;
      • Evento Paralelo 2: Curso de gvSIG (20h) para professores da rede pública – Outubro e Novembro,  ministrado pelo prof. Ricardo Monteiro na UFPR Litoral.
      • Mais informações:ricardoarqui@yahoo.com.br
    • Evento aniversário do gvSIG. Grupo Hímaco promove um evento (dia 15 de outubro) no Arquivo Público do Estado de São Paulo. O evento terá a participação dos membros do Hímaco e abordará os seguintes temas: 1) Software livre, sua história e seu lugar no presente (Luis Ferla) . 2) O que é SIG Histórico e o trabalho do Hímaco (Delphine Lacroix, Maíra Rosin e Orlando Guamier). A entrada é gratuita, sendo limitada a 30 lugares. Serão fornecidos certificados. Mais informações: grupohimaco@gmail.com
  • Chile:
    • Charla “gvSIG: Geomática libre como estrategia para la gestión territorial“. Fecha: 29 de octubre a las 11:30 hrs, Sala 728 del Departamento de Ingeniería Geográfica de la Universidad de Santiago de Chile. Actividad organizada por la Asociación gvSIG, la carrera de Ingeniería Civil en Geografía y el Magister en Geomática de la UdeSantiago. Contacto (Marcos Medina): marcos.medina@usach.cl
  • Cuba:
    • Seminario científico gvSIG en el Laboratorio de Computación Gráfica del Centro de Estudios de Informática, de la Universidad Central Marta Abreu de Las Villas. Durante dicho seminaria se mostrarán todos los trabajos realizados durante estos años relacionados con gvSIG. Contacto (Romel Vazquez): romel@uclv.edu.cu
  • Ecuador:
    • II Foro Mundo Unigis Quito 2014. Durante el evento se llevará a cabo un taller “OpenGIS para proyectos geomáticos” impartido por miembros de la Comunidad gvSIG Ecuador. Se llevará a cabo los días 22 y 23 de Octubre en instalaciones de la USFQ en Cumbayá, Quito.
  • España:
    • XVI Congreso Nacional de Arboricultura. Ponencia y taller sobre el uso de los Sistemas de Información Geográfica en la gestión del arbolado. Web del evento: http://congresoaea.org/
    • Jornada de gvSIG en la Universidad Politécnica de Valencia. Organizada por la Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica y Topográfica (en breve +información).
  • Italia:
  • México:
    • Taller de gvSIG para Asociaciones Civiles y Colectivos Sociales en Guadalajara: organizado por GeoAlternativa. En breve se dará más información de fechas. Contacto (Alonso Morilla): alonsomorilla@geoalternativa.com
    • Ponencia en la Universidad Veracruzana. Abierta al público en general y a la comunidad universitaria. Mediante vídeo-conferencia participará la Asociación gvSIG. Contacto (Armando Colliere): a.colliere@gmail.com
  • Perú:
  • Uruguay:

Hay varias actividades que se están promoviendo en otros países y que esperamos poder anunciar en breve.

Iremos actualizando este post con las nuevas actividades que se vayan confirmando.

Si quieres participar simplemente cuéntanos tú idea en info@gvsig.com

Filed under: community, events, gvSIG Desktop, press office, spanish Tagged: jornadas, mooc, webinar

by Alvaro at September 28, 2014 11:41 PM

September 26, 2014

Narcélio de Sá

MDE em zonas costeiras: Alguns Desafios

Journal of Coastal ResearchA criação de MDE (Modelos Digitais de Elevação) e os desafios  de sua utilização em Zonas Costeiras foi tema de um artigo publicado  no Journal of Coastal Research , nesse mês de Setembro.

Os MDE  suportam uma ampla variedade de usos, incluindo modelagem de processos de superfície, mapeamento de habitat e de planejamento de conservação, alterações costeiras e mudança de terreno e visualização e exploração da Terra em três dimensões.

No artigo os pesquisadores ,Barry W. Eakins e Pamela R. Grothe, discutem a complexidade de se integrar dados batimétricos e topográficos para criar MDE costeiros.

Já que a princípio estes modelos podem conter desvios significativos da superfície que se destina a representar, o que poderia reduzir a sua utilidade.

MDE exemplo

Exemplo de deformação topográfica introduzida pelo modelo de interpolação. Em (A) temos uma imagem colorida com base do modelo GEBCO, com 90 metros de resolução, ao longo da costa noroeste da Islândia. Como esse é um modelo batimétrico existe uma extrapolação da área continental, devido a pobreza de dados de altitude positiva. E em (B) temos a mesma área com a inclusão de dados do modelo ETOPO1, também com 90 metros de resolução. O resultado da interpolação dos dois modelos resulta em uma representação mais fidedigna da zona costeira.

Desafios mais comuns na construção de MDE em zona costeiras:

Os autores identificaram os desafios mais comuns na construção de MDE em zona costeiras e apresentam algumas soluções. Os desafios foram agrupados em seis categorias gerais: (1) dados de origem, (2) processamento dos dados, (3) desenvolvimento do modelo, (4)avalização do modelo, (5) alterações morfológicas, e (6) incerteza do modelo.

Os pesquisadores finalizam propondo algumas práticas que ajudam a melhorar a acurácia e utilidade do MDE, dentre elas: Inspeção visual de dados de origem em um sistema de informação geográfica (SIG); estabelecimento de pontos de referência horizontais e verticais comuns  e a quantificação da incerteza do MDE ao nível da célula são algumas dessas ações a serem tomadas.

Para os pesquisadores que estão trabalhando com zona costeira o artigo pode ser uma excelente referência. Ainda mais para os que estão trabalhando com delimitação de linha de costa via modelos tridimensionais, por exemplo.

Saiba mais:

O artigo completo pode ser acessado no site da publicação, em:

ETOPO1 Global Relief Model: http://www.ngdc.noaa.gov/mgg/global/global.html

GEBCO (General Bathymetric Chart of the Oceans): http://www.gebco.net

Fonte: www.gisandscience.com  em 22 /09/2014 por MATT ARTZ



The post MDE em zonas costeiras: Alguns Desafios appeared first on Narcélio de Sá.

by Narcélio de Sá at September 26, 2014 11:55 AM

gvSIG Team

Próximo Webinar. gvSIG: Herramientas para la gestión del delito

crimeJunto con la Policía Local de Castellón desde la Asociación gvSIG, y con la colaboración de Crimina (Centro de Investigación y Formación Criminológica de la Universidad Miguel Hernández y el Ayuntamiento de Elche) y el Instituto Vasco de Criminología, estamos trabajando en el análisis y posibilidades del uso de gvSIG como Sistema de Información Geográfica para el análisis del delito. El objetivo final sería poder disponer de un producto sectorial, basado en gvSIG, y con las herramientas específicas que se requieren para su uso desde la perspectiva de la criminología.

Para realizar este primer análisis hemos utilizado como base el White Paper de IACA (The International Association of Crime Analysts) referente a los requisitos que ha de cumplir un SIG para el análisis del delito. Esta primera aproximación ya nos lleva a concluir que gvSIG cumple con la práctica totalidad de los requisitos definidos. gvSIG, por tanto, ya dispone de herramientas de análisis y representación gráfica muy útiles para la investigación espacio temporal del hecho criminal. Un siguiente paso de nuestro análisis fue realizar una comparativa con el SIG privativo al uso, determinando si gvSIG era un sustituto eficaz de cualquier software no libre y que restringa los derechos de los usuarios.

Sobre todo esto, y enmarcado en el Octubre gvSIG-10º Aniversario, trataremos en el próximo webinar del día 7, organizado por MundoGEO y que esperamos que sea de vuestro interés.

Si os interesa el tema, podéis apuntaros al webinar aquí: https://www2.gotomeeting.com/register/344953314

Filed under: events, gvSIG Desktop, opinion, spanish Tagged: crime, criminología, delito, webinar

by Alvaro at September 26, 2014 08:48 AM

Tyler Mitchell

From zero to HDFS in 60 min.

(Okay, so you can be up and running quicker if you have a better internet connection than me.)

Want to get your hands dirty with Hadoop related technologies but don’t have time to waste?  I’ve spent way too much time trying to get HBase, for example, running on my Macbook with Brew and wish I had just tried this Virtualbox approach before.

In this short post I show how easy it was for me to get an NFS share mounted on OSX – so I could transparently and simply copy files on HDFS without needing any special tools.   Here are the details…

Hortonworks Sandbox is an excellent virtual machine file, that’s primed and loaded with all the tools you would want to try out.  Best of all, it’s free and a simple (meh) 2.5GB download.  Virtualbox, VMWare and Hyper-V versions are all available.

Once I launched it, I had access to a simple web console, showing me all the varied apps I have running.

HDP main web consoleHDP main web console

Here I enabled Ambari and was able to access that dashboard right away.  (Some tutorials say you have to reboot the VM, but I didn’t have to.)

HDP Ambari dashboardHDP Ambari dashboard

The first thing I wanted to do was enable file access via NFS.  You read that right – I had heard earlier today that Hortonworks Data Platform (HDP) supported NFS right out of the box.  To be fair, I don’t know what others are doing, so maybe this is old news, but it was good news for me.

So using various configuration windows via Ambari, I went through a tutorial for configuring NFS capabilities.  However, to my joy, I found that all the configuration changes I needed to make were already made by default!  So, NFS by default sounded good to me.

After switching Virtualbox from NAT networking to Bridged mode, I then told OSX to mount the drive.  Et voila!

Mounting NFS share from HDP HDFS on OSXMounting NFS share from HDP HDFS on OSX


So I’m just getting started with using this Sandbox environment but it was definitely a timesaver for setting up a development environment.

I’ll want to jump into testing HBase with some other work I’m doing, but I may also get tempted into trying various other apps they’ve packaged neatly into this distribution.. when I have some spare time that is. ;-)

by Tyler Mitchell at September 26, 2014 06:14 AM

PostGIS Development

Getting distinct pixel values and pixel value counts of a raster

PostGIS raster has so so many functions and probably at least 10 ways of doing something some much much slower than others. Suppose you have a raster, or you have a raster area of interest — say elevation raster for example, and you want to know the distinct pixel values in the area. The temptation is to reach for ST_Value function in raster, but there is a much much more efficient function to use, and that is the ST_ValueCount function.

ST_ValueCount function is one of many statistical raster functions available with PostGIS 2.0+. It is a set returning function that returns 2 values for each row: a pixel value (value), and a count of pixels (count) in the raster that have that value. It also has variants that allow you to filter for certain pixel values.

This tip was prompted by the question on stackexchange How can I extract all distinct values from a PostGIS Raster?

Continue Reading by clicking title hyperlink ..

by Regina Obe at September 26, 2014 12:00 AM

September 25, 2014

Boundless Blog

Juan’s Thoughts from NSGIC

Last week, a few of us here at Boundless attended the National States Geographic Information Council (NSGIC) Annual Conference in beautiful Charleston, SC. NSGIC’s mission is to promote statewide spatial coordination activities in all states and to be an effective advocate for states on national policy and initiatives. It’s an important mission and we were proud to be Gold Sponsors this year.

NSGIC 2014 Annual Conference

What I Presented

I had the privilege to deliver a well-received keynote presentation on Monday evening entitled “Open Source Geospatial Software: Current adoptions and future technologies solving today’s and tomorrow’s challenges”. While that sounds long and complicated, I basically went over the opportunities unlocked by adopting open source spatial technology and how organizations at the local, state or federal level can take advantage of them. The spatial software industry is one of the few where the open source tsunami hasn’t yet fully revolutionized the way we work. However, it is happening and I’m glad to finally see increasing diversity in our ecosystem of available tools. As with most ecosystems, this will bring about a healthier long-term outcome.

What I Learned

Instead of talking about what I said, I would like to share a bit of what I heard. NSGIC puts on a great program and one of the best things about this conference is seeing first-hand the challenges that states face. They are usually strikingly similar across states, both in concept and timing, which is a testament to the level of coordination that happens among states, local governments and, in many instances, the Federal Government (which was represented by agencies such as NOAA and USDOT).

“No single source of truth.”

Throughout all the high-quality presentations, I was very interested to see how most states have what I call the “data roll-up problem,” where different jurisdictions (i.e. counties) often produce and maintain the data but states collect it as part of the “authoritative” source of information. The biggest challenges to producing statewide data that is complete and comprehensive are usually non-technical, and we heard great stories about how states are breaking down barriers when it comes to accessing data.  Guess what? Charging for data usually ends up being more expensive than implementing an open data policy! When it comes to the technical details, I believe Boundless will have a lot to say in the next year with the work we have been doing on distributed versioning of spatial data to help address some of these challenges.

“Don’t fight the web.”

I was also pleasantly surprised to see how most states have a very modern approach to their services. They realize the importance of the web, and have an IT approach for delivering content and services to their users (which thanks to some very advanced open data policies, in many cases includes just about everybody). We even got to hear novel approaches to geocoding, like using Natural Language Processing (NLP) to extract places from documents so they can be placed on a map (with open source libraries, of course). Imagine having a map of all your legislation!

See you in Annapolis!

At a time when budgets are tight, it’s refreshing to witness local, state and federal agencies resort to innovative and imaginative approaches to solving problems. At Boundless, we are big proponents of efficiency through the use of open source spatial software and we are happy to bring our point of view into the conversation while realizing that every organization is at a different stage in adopting open source models and software. We hope to further this discussion at the NSGIC mid-year conference in Annapolis in February of 2015.

The post Juan’s Thoughts from NSGIC appeared first on Boundless.

by Juan Marin at September 25, 2014 04:06 PM

Slashgeo (FOSS Articles)

FOSS4G 2014 Wrap-Up

FOSS4G 2014 took place 2 weeks ago and here’s what you should not miss.

The post FOSS4G 2014 Wrap-Up appeared first on Slashgeo.org.

by Alex at September 25, 2014 01:22 PM

Jo Cook

New Portable GIS Releases

I’m pleased to announce not one, but two new releases of Portable GIS! The first, version 4.2, contains QGIS 2.4 and PostGIS 1.5 and will be the last release to include that version of PostGIS.

The second, version 5, contains QGIS 2.4 and PostGIS 2.1 and all future releases will be based on this. Get them here:

There are two important things about these two releases. The first is that the download size is almost twice what it was previously- this is out of my control and is due to the increased size of the QGIS installation. The second is that version 5.0 should be considered a beta release as it’s very much un-tested. If there are any problems let me know via the Portable GIS google group.

You might also be interested to see a short presentation I did about Portable GIS at GeoMob London in September: http://archaeogeek.github.io/geomob-portablegis/#/

September 25, 2014 08:49 AM

September 24, 2014

Jackie Ng

Docker-izing MapGuide

There was a motivation behind this public service announcement.

It was part of my investigations into being able to deploy MapGuide as a Docker container.

What is Docker you may ask? Have a read of their introduction page.

TL;DR? Docker is a tool that allows you to run and deploy software inside virtualized software containers. This is not a heavyweight VM like VirtualBox and their ilk. This is something that leverages existing features in the Linux Kernel to provide "lightweight" VMs with very low overhead.

A docker-ized application gives us various benefits:
  • Your application and its dependencies are all self-contained and will not interfere with anything outside of its container and vice versa.
  • Deployment is dead simple. No figuring out what pre-requisites that have to be installed. They'll all be part of the docker image that you can pull down with a single command.
  • Your application can run in host environments that the application was not originally compiled/tested for. Build once, run anywhere (where docker is installed :))
There's many more benefits than what's listed here. So you can probably see where a docker-ized MapGuide would really be useful from a developer and administrator perspective.

But there is a catch to all this goodness. Firstly you need a Linux distribution that uses Linux Kernel v3.8 or newer as that contains the required OS virtualization features needed for Docker to work.

Secondly, you need to run a 64-bit Linux distribution as that is what Docker only supports. In order to run MapGuide within a Docker container, we need a way to run a 32-bit MapGuide within a 64-bit Linux environment as Docker can only be run from within a 64-bit Linux host and as previously mentioned, we still don't have a functional 64-bit Linux build of MapGuide yet :( So the workaround is to install the required 32-bit packages, which you can find in my previous post.

So after applying all of this newly acquired knowledge, allow me to introduce my first Docker image for MapGuide.

This is a CentOS 6 base image that has the following software and packages pre-installed:
From this base image, you can build your own docker image that installs your own MapGuide data, applications and configurations and deploy/run that image as a docker container.

Here's a basic example of getting a docker-ized MapGuide up and running with mapguide-rest and some sample data packages using 64-bit Ubuntu 14.04 using the above docker base image:

Firstly, we install the docker package like so

sudo apt-get install docker.io

Then make a new directory and create a file named Dockerfile

Put the following text into the Dockerfile. The comments should be self-explanatory. 

# This image is based from the MapGuide docker base image
FROM jumpinjackie/mapguide-base
# Install additional packages, load your MapGuide applications and data, etc.
# Download Sheboygan dataset
RUN wget -P /usr/local/mapguideopensource-2.6.0/server/Packages http://download.osgeo.org/mapguide/releases/2.6.0/Release/Sheboygan.mgp
# Download Melbourne dataset
RUN wget -P /usr/local/mapguideopensource-2.6.0/server/Packages https://github.com/jumpinjackie/mapguide-sample-melbourne/releases/download/v0.2/Melbourne.mgp
# Download mapguide-rest 0.10
RUN wget https://github.com/jumpinjackie/mapguide-rest/releases/download/v0.10-pre/mapguide-rest-0.10.zip
# Set up install location for mapguide-rest
RUN mkdir -p /usr/local/mapguideopensource-2.6.0/webserverextensions/www/rest
# Extract mapguide-rest
RUN unzip mapguide-rest-0.10.zip -d /usr/local/mapguideopensource-2.6.0/webserverextensions/www/rest
# Fix up permissions of the cache directory (for tiles and smarty templates)
RUN chown daemon:daemon /usr/local/mapguideopensource-2.6.0/webserverextensions/www/rest/cache
# Expose the web server port to the world outside the container. The default port is 8008
# Run supervisor, that will start the MapGuide Server and Apache httpd server
CMD ["/usr/bin/supervisord"]

Now save the Dockerfile, and run the following command to build the docker image from that file

sudo docker build -t my-mapguide-app .

This command will download the mapguide-base docker image which will take a few moments depending on your download speed. This is only downloaded once and will remain until you explicitly remove this base image.

my-mapguide-app will be the name of the docker image, which you'll need to reference when you will run a container from it, which is what we will do next. But before we do that, we should list our docker images and see if our new image is there.

sudo docker images

Now that we have confirmation that our image has been created, we can create a container from it like so.

sudo docker -d --name mapguide -t my-mapguide-app

The -d switch indicates that this container will run in the background. The --name switch assigns the name mapguide to this container so we don't have to remember a long UUID for referencing this container in future operations, which is what is outputted when the command succeeds.

Finally the -t switch indicates that we want to create a container from the my-mapguide-app image that we just created.

Now that we have started a container, we now have:

  • MapGuide Server running
  • The Sheboygan and Melbourne sample data packages downloaded to the Packages directory of the MapGuide Server installation directory
  • The mapguide-rest extension installed
  • Apache HTTP Server running on port 8008 which is exposed
We now just need to know what IP address has been assigned to this container. To do that, we can run the following command

sudo docker inspect mapguide | grep IPAddress

Now that we have an IP address, we can see if things are in order by firing up the Site Administrator

If we login and go to the Manage Packages page, we can see the packages we've downloaded as part of building our my-mapguide-app Docker image are there.

Now load these packages, and go to the mapguide-rest sample apps landing page just to see that the extension was installed.

If the samples on this landing page work, you have just verified that your docker-ized MapGuide container is now fully operational.

So that's a little run-through of how to get MapGuide running in a Docker container. Now the other thing about Docker that is really awesome is that the big players in Cloud Computing already (or starting to) support Docker containers as a PaaS deployment option.

Can you say MapGuide on the cloud?

Now just to clarify, MapGuide on the cloud via IaaS is already relatively easy. I, the AWS noob easily got a MapGuide demo site on Amazon EC2 set up over the GovHack weekend, which stayed up long enough to impress the judges to win some awards.

However the IaaS approach to deployment puts a burden on you to maintain the actual infrastructure (VMs, etc). As a case in point, our GovHack demo site has been taken down because I butchered my Amazon EC2 instance due to a combination of failure to act on an important email alert on this issue from Amazon and my general AWS noob-ery.

The PaaS approach lets you focus solely on deploying the applications, without having to worry about the underlying infrastructure. MapGuide as a Docker container enables the possibility of using this cloud deployment option.

Hopefully this post has sold you on the power and potential of Docker and how having MapGuide as a docker container may open up deployment and development scenarios that were previously not possible or took a lot of manual effort.

As for that Docker base image I linked to, that is just the tip of the iceberg. I'm just getting my feet wet with Docker and foresee many future blog posts on this topic as I learn more about what Docker can and can't do.

I can see the possibility of having different base images in the future:
  • Individual Server and Web Tier Docker images. Imagine how easy it would be to set up a load-balanced cluster via Docker containers? I'd have to grok how these containers communicate first, but the possibilities are very interesting.
  • Web Tier images tailored for the PHP or Java installation profiles.
  • Many others?
I also wouldn't comfortably say that the above docker image is currently production-ready. There's questions that need to be answered:
  • How do we handle the case of a mgserver or httpd process falling over on a background docker container?
  • How can we easily access and manage log files in a docker container?
  • How can we perform repository backup/restoration operations within a docker container?
  • How do we perform $MAPGUIDE_SERVER_ADMIN_TASK within the docker container?
If you have an idea on how these questions can be answered, I invite you to help improve the design of this docker image or to enlighten me on the comments below.

by Jackie Ng (noreply@blogger.com) at September 24, 2014 05:53 PM


GeoSolutions Presentations at FOSS4G 2014


Dear Readers, a couple of weeks have passed since the end of this year's wonderful FOSS4G hence it is time to publish the material we have presented in case someone wanted to go back and review it. Here below you can find the presentations that GeoSolutions team members Andrea Aime and Mauro Bartolomeoli gave during the presentations sessions.

Raster data in GeoServer and GeoTools: Achievements, issues and future developments

[slideshare id=39467273&doc=nucjf3mlr6a8eizfeoa2-signature-d121a51515a17d2d4d58257138d9e20a921b294dbe73d15489412674ae34f064-poli-140924052952-phpapp01] Here is the video: http://vimeo.com/106225056

Advanced Cartographic Map Rendering in GeoServer

[slideshare id=39467167&doc=xbmpfygutmaao3xup8lq-signature-056e9bbbdf181a7e7a1b20b1416a8b18bf5c4439a23ff9f150f9b2daaea654e2-poli-140924052659-phpapp01]

Advanced Security in GeoServer

[slideshare id=39467272&doc=4uszgamzsde3mrq6qlgr-signature-d121a51515a17d2d4d58257138d9e20a921b294dbe73d15489412674ae34f064-poli-140924052952-phpapp01] Here is the video: http://vimeo.com/106221740 Enjoy! The GeoSolutions team,

by simone giannecchini at September 24, 2014 03:06 PM

Slashgeo (FOSS Articles)

HALE 2.9.0 Released – new look, new tools, new INSPIRE Annex II/III support

HALE 2.9.0 released – new look, new tools, INSPIRE codelists + Annex II/III

The HUMBOLDT Alignment Editor (HALE) is a spatial data transformation application licensed unde LGPL. You use HALE to interactively and visually define and execute schema mappings and data harmonisation processes.

We have just completed testing and documentation for the new HALE 2.9.0 release. There is a lot that has changed under the hood for the 2.9 release. Apart from a lot of bug fixes and an upgrade of the underlying platform to Eclipse Luna,we can again provide an installer for Windows and a version of HALE that runs on current Mac OS X operating systems.

The new release comes with a long list of useful new features, as you would expect after the relatively long break since the last release of HALE. Get your download here and read in detail about the new features here. Here are the headline news:

  • INSPIRE Code List Support: Browse and search the code lists from the INSPIRE registry provided by the JRC and directly load them in HALE.
  • Create ATOM feed based INSPIRE download services. Information on feature types and coordinate reference systems will be included automatically.
  • INSPIRE Annex II and III schemas now built in: HALE supports any schema, but usage of the inbuilt schemas is super-simple, so we have extended the set of inbuilt schemas to also include the final versions of all Annex II and III schemas.
  • New mapping documentation format: We added a new mapping documentation format based on HTML and SVG that is interactive and optimal for web display.
  • Extended command line interface: The new command line interface is far more flexible in its configuration and allows data export to be easily configured with support through the HALE user interface.
  • Smart Retype: Do you have source and target schema types that are very similar and differ just in a few properties or only the namespace? The Retype transformation function has configuration options to automatically copy properties/attributes with similar names.
  • Reprojection/CRS Conversion: You can now include a conversion to a given coordinate reference system (CRS) as part of writing the transformed data to GML.
  • Manage Schema changes: Next time a standard is updated, HALE will make the transition simple by identifying and highlighting changes.

As usual, there has been a set of other improvements (about 15). You can go here to learn more about these. We will post separate workflow descriptions for the usage of the CLI and on the INSPRIE Code Lists in the next days. Enjoy your work with HALE 2.9.0!

The post HALE 2.9.0 Released – new look, new tools, new INSPIRE Annex II/III support appeared first on Slashgeo.org.

by Thorsten Reitz at September 24, 2014 12:14 PM

gvSIG Team

10th International gvSIG Conference. Registration period is open

The registration period for the 10th International gvSIG Conference, organized by the gvSIG Association, is now open. It will be held from December 3rd to 5th in Valencia (Spain).

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

Once the registration is done you will immediately receive a confirmation code. Please, keep this code for later consultations or for update the registration data.

In addition, we remind you that we are expecting communication proposals for the Conference.

You just have to send an abstract, following the template provided on the Reports section of the Conference web page to conference-contact@gvsig.com and the scientific committee will evaluate it to be in the conference programme. There are two types of communications: presentation and poster.

We expect your participation.

[1] http://jornadas.gvsig.org

Filed under: community, english, events, training

by Mario at September 24, 2014 10:26 AM

September 23, 2014

GIS for Thought

Scottish Independence Referendum 2014, Election Maps in QGIS

As everyone will no doubt have heard, Scotland voted in a referendum on independence on the 18/09/2014. The vote was no, but it presents an excellent opportunity to visualise election results.

Addition From Black

Addition From Black

We start with a black background since in RGB 0,0,0 is pitch black. Then we have 2 datasets with graduated colour scheme from completely transparent to completely red/blue. We use the percentages per council area to show the split, but using absolute counts could also work. These layers have the blending mode of “Addition” so they stack creating a purple map, with the redder areas voting no and the bluer areas voting yes.

Bar Graph

Bar Graph

This is more of a proof of concept than a truly functional map. The bars are created from the polygon centroids as a line symbol. The length of each bar plotted in meters from a calculation of the number of votes * 1000. I found out that this could be more easily created using the diagrams feature, which would produce the same result without the need for creating centroids and allow for more placement options.

Data Driven Opacity and Hue

Data Driven Opacity and Hue

Simple Red to Blue gradient from the percentage of yes votes. So from 30% to 70%, providing a nice gradient of the vote outcome. Above this was place a completely white layer, which had its alpha channel driven by a normalized total voters field. So Glasgow has a white 100% transparent feature over it, while Orkney has a 0% transparent feature. This symbolises the impact of each councils vote and the result.

by Heikki Vesanto at September 23, 2014 08:17 PM

Antonio Santiago

Announcing the release of The Book of OpenLayers 3

I just sent this words to all the people interested in the book via LeanPub and I would like to post it here too, hoping this message arrives to more people.

The Book of OpenLayers3 is progressing well. It is not finished but I would like to notify you, in the next weeks, I will launch a pre-release of the book.

At this moment the book contains five chapters covering the most important topics of the new architecture and design of the library. All chapters are divided in a theory section, where I explain all the concepts and involved classes, and a practice section, where I show real working examples.

Remember, all the examples are also freely available at the GitHub repository: https://github.com/acanimal/thebookofopenlayers3 are right now running at: http://acanimal.github.io/thebookofopenlayers3.

My intention is continue writing, at least, two more chapters. One dedicated to the controls OpenLayers3 offers to interact with the map, and a second one, related to the concept of overlays. I hope to cover these two chapter in one month.

Thanks to LeanPub platform, once you buy a book you are allowed to download the new updates freely. I will notify you when new releases are available.

Please, do not hesitate to send me your feedback related with the book, from its content to its costs.

Finally, remember this book is self published, no great publishing company is behind it and no great marketing campaigns are organised, so any comments on shared networks that publicise the book will be appreciated.

Antonio Santiago (@acanimal) – #thebookofopenlayers3


by asantiago at September 23, 2014 03:33 PM


QGIS training (3 days) and Birdwatching/Field data collection (2 days) in South Portugal, January 2015

Faunalia and Imagine-Science are pleased to announce a QGIS training (3 days) course during a week that will include 2 days of field activities related to birdwatching and field data collection. Where: Portugal/Algarve, specifically “Ria de Alvor -Mexilhoeira Grande” near Portimão. When: 26 to 30 January 2015.   For more informations about QGIS training program, […]

by faunaliagis at September 23, 2014 02:39 PM

Boundless Blog

Ann’s Perspective on FOSS4G 2014

FOSS4G 2014

As Paul Ramsey mentioned, last week almost 900 members of the open source geospatial software community came together in Portland at FOSS4G 2014. We were proud to sponsor, privileged to participate in over nine presentations and nine workshops, excited about our new QGIS offerings, and pleased to see even greater interest in our PostGIS,  GeoServer, and OpenLayers offerings during the conference.

The power of Spatial IT resonated throughout the conference as participants were able to highlight their projects and unique use cases of open source geospatial tools to solve a wide variety of technical and business problems.

Highlights from our sessions

Paul conducted a very useful session on how to convince managers to embrace PostGIS and replace proprietary database offerings. The blend of technical and business elements in Paul’s talk spoke about the need to not only use the best available software, but also the continuing need to educate organizations about the value derived from using open source software.

Jody Garnett helped review the new and noteworthy features in GeoServer introduced over the past year. Since GeoServer is part of the core of OpenGeo Suite, it’s always promising to see new support for new standards like WCS 2.0 and new formats like GeoPackage and NetCDF become part of the software.

Andreas Hocevar helped describe what’s new and how to get started with OpenLayers 3. His talk provided an overview from a user’s perspective and covered common use cases and new features to help developers get comfortable with integrating spatial information into web applications.

The LocationTech events highlighted the ability of the community to truly embrace cooperation in the interest of advancing common projects and common goals.

FOSS4G is about community

A true sense of community, however, was the best part of the conference. There was a great feeling of camaraderie throughout the weeklong event. All of the presenters and booth participants, regardless of affiliation, were joined together by the common cause of promoting the value of and expanding the use of open source tools to reduce the cost of legacy GIS implementations and escape the monolithic, proprietary software options that dominate the industry.

Nothing drove the open source message home further for me than the train ride I took from the magnificent World Forestry Center back to my hotel after the gala on Thursday evening. Seated on the train, my badge now tucked in my purse, I was relaxing on the quiet train and became captivated by a conversation amongst three gentlemen seated just a few rows away. The three were discussing their week at FOSS4G, which seemed a very positive experience for all. And then, one of the men observed, “Open source is really becoming a standard in GIS. Even Esri was in attendance at FOSS4G.”

Well, I suppose that is just the point for the community — if you can’t beat ‘em, join ‘em! Whether Esri is genuine in their open source support or not remains to be seen but what is evident is they can no longer afford to ignore open source. Open source is a part of the geospatial software ecosystem and will continue to grow and provide more affordable opportunities for people to expand the technology into critical business and IT applications throughout their organizations.

I’m already planning for FOSS4G 2015 in Seoul!

The post Ann’s Perspective on FOSS4G 2014 appeared first on Boundless.

by Ann Johnson at September 23, 2014 01:41 PM

Jackie Ng

MapGuide tidbits: Running 32-bit MapGuide on 64-bit Linux

We still don't have our mythical 64-bit build of MapGuide on Linux yet. So in the meantime, should you want to run the 32-bit CentOS or Ubuntu builds of MapGuide in their respective 64-bit versions, here's the packages you will need to have installed beforehand.

On 64-bit Ubuntu: Just install the ia32-libs package

On 64-bit CentOS: You will need to install the following packages:
  • glibc.i686 
  • libstdc++.i686 
  • expat.i686 
  • libcurl.i686 
  • pcre.i686 
  • libxslt.i686 
  • libpng.i686
This will satisfy the dependencies required by your 32-bit MapGuide, its bundled Apache HTTPD Server and PHP.

The bundled Tomcat and Java wrapper API has not been tested under this environment at the time this post was published, so to take a logical shot in the dark, you probably need to just install the respective 32-bit JVM package for the Tomcat and Java wrapper API to work. If it turns out I'm wrong about that, please do correct me in the comments below.

by Jackie Ng (noreply@blogger.com) at September 23, 2014 12:20 PM


Foss Academy Schulungen (3 in einer Woche!)

1) Foss Academy Sommerschule von 1.-5.9.2014 in Berlin-Grünau

In der ersten Septemberwoche hat die Foss Academy Sommerschule in Berlin stattgefunden. 
Jeder Teilnehmer erstellte in insgesamt fünf Tagen eine komplette GDI mit Open Source Software, auf Wunsch auch in Gruppenarbeit. Zu Beginn der Sommerschule wurden die notwendigen technischen Grundlagen mit verschiedenen Schwerpunkten vermittelt. Ruth Schönbuchner von CSGIS präsentierte das freie Desktop GIS QGIS und gab einen Einblick in die Funktionsweise der Open Source Datenbank PostgreSQL/PostGIS. MapMedia war durch Jörg Thomsen vertreten, der eine allgemeine Einführung zum Thema Geodateninfrastruktur, sowie zum Kartenserver UMN Mapserver gab. 
Beginnend mit der zweiten Wochenhälfte gab Astrid Emde von der Firma WhereGroup eine Einführung in Mapbender 3, wonach die Grundlagen zur Erarbeitung einer eigenen GDI vollständig vermittelt waren und die Teilnehmer an ihrer individuellen GDI arbeiten konnten.
CSGIS organisiert jährlich die Winterschule der Foss Academy in Freising bei München (Rückblick Winterschule 2013). Ruth Schönbuchner von CSGIS war bei der Sommerschule nur an 2 Tagen anwesend (nicht wie bei der Winterschule an allen 5 Tagen), da schon die nächste Foss Academy Schulung in München wartete.

2) Einführung und Fortgeschrittene Schulung QGIS

Am 5. und 6. 9.2014 fand eine QGIS-Schulung in München statt. An zwei Tagen konnten die beiden Trainer Ruth Schönbuchner (CSGIS) und Marco Lechner (in medias res) fundierte Grundlagen zur Open Source Software QGIS und Einblick in neue Entwicklungen des Projektes geben.

by ruth (noreply@blogger.com) at September 23, 2014 08:13 AM

September 22, 2014

Paul Ramsey

PostGIS Feature Frenzy

A specially extended feature frenzy for FOSS4G 2014 in Portland. Usually I only frenzy for 25 minutes at a time, but they gave me an hour long session!

PostGIS Feature Frenzy — Paul Ramsey from FOSS4G on Vimeo.

Thanks to the organizers for giving me the big room and big slot!

by Paul Ramsey (noreply@blogger.com) at September 22, 2014 11:32 PM

Nathan Woodrow

QGIS atlas on non geometry tables

This is proof that no matter how close you are to a project you can still miss some really cool stuff that you never knew or considered was possible.

The problem to solve:

You have a CSV with a row of colours. Each row should be a new map and each column is the colour for that feature.

This is example of that kind of input

A       B
#93b2f3 #FF0000 
#dfbdbb #FF0000
#f9d230 #FF0000

This questhion was asked on GIS.SE this morning. When I first saw it I had no idea it was even possible, I was thinking along the same lines as the person asking, that it would have to be done with Python. Not hard, but a lot harder then something built in and I put it in the too hard basket. I thought the atlas can almost do that, almost but not really.

Well almost was wrong. It can.

Note: You will need QGIS 2.5 (2.6 when released) for this to work

Lets make some cool maps! (and go to GIS.SE and upvote Nyalls answer)

First open your vector layer and the CSV. Don't worry about style just yet, we will do it later.

Create a composer and add your map.

Here comes the first part of the trick.

Enable Atlas and set the coverage layer to the CSV layer. Wait? What? That doesn't make any sense. If you think about it for a while it does. We need a map for each row (or "feature") in the CSV and atlas does just that.


How do we style the features? Well here is the other part of the trick. In 2.6 there is a magic expression function that returns a field value from another feature. And it's as simple as attribute( $atlasfeature , 'A' ) - give me the attribute from the current atlas feature for field 'A'. Simple.

First we categorize our features so we have a symbol for each feature. I'm using a sample layer I have but you can understand how this works. The first feature is A and the other is B, etc, etc


Now to use another awesome feature of QGIS. The data defined symbol properties (and labels too). Change each symbol and define the colour data defined property. Using attribute( $atlasfeature , 'A' ) for the first one and attribute( $atlasfeature , 'B' ) for the second.


That is it. Now jump back over to your composer and enable Atlas preview.



Bam! Magic! How awesome is that!

Now my other thought was. "Ok cool, but the legend won't update". I should learn by now not to assume anything. The legend will also update based on the colours from the feature.



How far can we take this. What if you need the label to match the colour. Simple just make the label text look like this:

<h1 style='color:[% "A" %]'>This is the colour of A</h1>


Heaps of credit to Nyall and the others who have added all this great stuff to the composer, atlas, and the data defined properties. It's not something that you will do every day but it's great to see the flexibility of QGIS in these situations.

You can even make the background colour of the page match the atlas feature


but don't do that because people might think you are mad ;)

September 22, 2014 02:00 PM

Andrea Antonello

uDig 1.4.0 on Osgeo4W + BeeGIS and the Nettools (and java 7) + 32/64bit

I have been made aware of the fact that java is outdated on Osgeo4W and that I am the maintainer. So I checked into it and noticed that I never upgraded uDig to 1.4.0 (and of which I know I am the maintainer).

Also I was told that the Nettools didn't work very well and even BeeGIS!!!

So I took the time to do a huge upgrade of everything and and very important: also added the 64 bit versions for Osgeo4W. This is almost mandatory for those that do raster data processing with uDig.

So pick your software: 32bit installer or 64bit installer.

Enjoy!!! :-)


by andrea antonello (noreply@blogger.com) at September 22, 2014 01:00 PM

Narcélio de Sá

10 Softwares Livres para Recursos Hídricos

Um artigo da Gidahatari, uma consultoria peruana especializada em gestão de recursos hídricos, produziu uma lista bem interessante apontando os 10 melhores softwares livres para se trabalhar com recursos hídricos.

Por que usar software livre?

Em princípio porque é livre, sem custo, sem licença necessária e pode ser usado por qualquer pessoa dentro de uma instituição.

Outra razão importante, porque melhora a transparência das avaliações em recursos hídricos e do meio ambiente, e que os resultados bem como os modelo podem ser transmitidos, monitorados e auditados.

Desta forma, o software não se torna um impedimento para a compreensão e discussão dos impactos.

Por que eles são melhores?

  • Porque eles são apoiados por grandes instituições e comunidades científicas.
  • Porque eles são constantemente atualizados.
  • Porque existe documentação, tutoriais e manuais (muito deles traduzidos para diversos idiomas).
  • Porque são desenvolvidas muitas pesquisas e publicações sobre estes softwares.

TOP – 10:  Softwares livres para Recursos Hídricos

Sistemas de Informação Geográfica


QGIS é a ferramenta Open Source GIS mais conhecida, com um histórico comprovado e uma comunidade vibrante, (conheça a comunidade brasileira do QGIS), além disso conta com um ecossistema de “plugins” bem consolidado. O QGIS oferece verdadeiramente uma alternativa aberta que reduz as barreiras de custo, sem taxas de licença e pode ser executado no sistema operacional de sua escolha.




O SAGA GIS, é mais um SIG orientado plataforma de análise espacial. SAGA GIS é um software simples, mas poderoso, tem uma grande biblioteca para análise espacial e caracterização de bacias hidrográficas. Opções de interpolação em SAGA GIS são melhores implementadas do que em outros softwares livres e comerciais.


Modelagem de Rios



O modelo numérico HEC-RAS é desenvolvido pelo Corpo de Engenheiros do Exército dos Estados Unidos. Os modelos fluviais hidráulicos usam o gradiente e a topografia para avaliar barramentos, as velocidades da água e zonas alagadas. Também é usado para calcular o transporte de sedimentos e temperatura da água.




IRIC (International River Interface Cooperative) é desenvolvido a fim de proporcionar um ambiente de simulação completa do leito dos rios, os resultados podem ser importados e utilizados pelos usuários para análise, mitigação e prevenção de catástrofes, através da visualização dos resultados da simulação do rio.


 Modelagem hidrológica



O Sistema de Modelagem Hidrológica (HEC-HMS) foi concebido para simular os processos hidrológicos de bacias hidrográficas. O software inclui procedimentos de análise hidrológicas tradicionais, como eventos de infiltração, Hidrograma Unitário e routing hidrológico. HEC-HMS também inclui módulos para evapotranspiração, derretimento de neve e cálculo da umidade do solo.




O código modelagem PRMS (Sistema de Modelagem chuva – vazão) é um sistema modular, de parâmetros espacialmente distribuídos, que representa os processos físicos de uma bacia hidrográfica. Ele foi desenvolvido pelo Serviço Geológico dos EUA – USGS para avaliar os efeitos de diferentes combinações de geomorfologia, tipo e uso do solo, vegetação e os parâmetros climáticos sobre a resposta hidrológica da bacia.

wwwbrr.cr.usgs.gov / projects / SW_MoWS / PRMS.html

 Modelagem hidrogeológica



Modelo de Águas Subterrâneas desenvolvido pelo Serviço Geológico (USGS). A modelagem numérica é capaz de simular o fluxo de águas subterrâneas em duas ou três dimensões e simular os principais processos físicos relacionados ao sistema de águas subterrâneas como recarga, evapotranspiração, bombeamento, drenagem, etc.




O pacote MT3DMS é um modelo de transporte acoplado a um modelo de fluxo de massa MODFLOW. O código MT3DMS simula advecção, dispersão / difusão e reações químicas de adsorção / absorção de contaminantes nas águas subterrâneas.


Modelagem Dinâmica dos Fluidos Computacional



Praticamente qualquer fenômeno físico associado com a dinâmica de fluidos pode ser representado por esse software. O número de plugins e a disponibilidade livre do código possibilita que o usuário possa explorar diversas possibilidades para modelar vários tipos de problemas, incluindo modelos de turbulência, modelos termodinâmicos, dentre outros


 Ferramentas científicas de programação



É o software preferido para a análise científica e, portanto, para a avaliação dos recursos hídricos e do meio ambiente. Tem uma série de pacotes para diferentes ferramentas, tais como SIG, análise matemática, e inteligência artificial.

Se você procura por uma ferramenta completa para a manipulação, processamento, liquidação e plotagem de dados estruturado, Python – Scipy é uma solução eficaz e versátil aberta.

www.python.org ; www.scipy.org

Fonte: http://gidahatari.com/ih-es/los-10-mejores-softwares-libres-en-recursos-hidricos

The post 10 Softwares Livres para Recursos Hídricos appeared first on Narcélio de Sá.

by Narcélio de Sá at September 22, 2014 12:33 PM

September 21, 2014


Convocation à l'assemblée générale 2014

Nous vous prions de bien vouloir assister à l’assemblée générale annuelle de l'association OSGeo-fr, qui se tiendra le 22 octobre 2014, à 20h30, dans le salon IRC de l'OSGeo (vous pouvez vous y rendre par ici http://osgeo.asso.fr/content/osgeo-fr-irc-chat).

L'assemblée générale est l'occasion d'élire le bureau. Les personnes soucieuses de s'investir dans l'association peuvent donc se signaler sur la mailing-list et sur le wiki pages des postes à pourvoir en face des postes à pourvoir (http://wiki.osgeo.org/wiki/Poste_bureau).

Les points suivants seront à l’ordre du jour de cette réunion :

* Le bilan de gestion de l’exercice;
* Le bilan des actions menées ;
* Vote de la modification des statuts proposée ici (http://wiki.osgeo.org/wiki/RFC_changement_statuts_comites)
* Élection du bureau;
* Questions diverses.

D’autre part, il vous est possible de poser des questions à l’assemblée, par écrit. Les questions seront listées en début d'AG et nous prendrons un temps pour les traiter en fin de période.

Enfin, si vous ne pouvez pas répondre à cette convocation, vous pouvez vous faire représenter par un autre adhérent (dans la limite de 2 procurations par personne présente). La procuration est téléchargeable ici.

Nous vous prions d’agréer, Madame, Monsieur, nos respectueuses salutations.

Le président

by yjacolin at September 21, 2014 05:45 PM

Even Rouault

GeoTIFF tile de-duplication

Have you ever had the opportunity to work with a raster dataset, that has world coverage, including oceans, and a resolution of 38 meters ? With World Mercator projection, the width and height of such a raster is 1 million pixels (1 048 576 exactly). If we also add 15 overviews (to go to a 32x32 thumbnail), how big would be such a raster ? More than 5 terabytes ?! 1 million * 1 million * 4 (for RGBA) * 1.33 (space for overviews : 1/4 + 1/16 +... = 0.333..). BigTIFF to the rescue ?

You are wrong! Such a raster dataset can be as small as 1 392 764 bytes (1.3 MB) in standard GeoTIFF format (that can be further compressed to 78838 bytes once put in a .zip). And in that size, it can feature 1 431 655 765 (1.4 billion) GDAL logos. If you don't believe me, just download it now and check by yourself !


You should be able to display it at light speed in any reasonable desktop GIS. QGIS is one of them.

What is the recipe for such a file ? Simply (ab)using possibilities offered by the TIFF specification. Namely, for a tiled TIFF, for each resolution, there are 2 arrays : one that contains the location (offsets) of each tile data (TileOffsets tag), and another one the size of each tile data (TileByteCounts tag). Here we simply put the same value for the location of all tiles, and write just once a 2048x2048 tile (compressed with DEFLATE codec) that mosaics the 32x32 GDAL logo. Using just that leads to a file of size 2 971 732 bytes, much larger than needed. So we are going to abuse the TIFF specification even more. First by noticing that if the offset of the tile matches also its size, then we can use the same array for TileOffsets and TileByteCounts, thus saving (1048576/2048)^2*4 = 1048576 bytes. In that instance, the tile is 172094 bytes large, so we place it at offset 172094. And finally, we can also make the overviews point their TileOffsets and TileByteCounts tags to the single array of the full resolution. Actually, as the definition of the 16 TIFF directories ends at offset 3446, we have also 172094-3446 = 168 648 spare bytes !

Letting aside this challenge, it could be interesting to have that tile de-duplication  capability directly incorporated into the GDAL GeoTIFF driver in a more user friendly way than the mix of GDAL and direct byte access that has been used to build that file. A typical use case is when creating raster with a lot of oceanic area where tiles are in solid blue. Such technique can be used when creating MBTiles, but the good old TIFF can also do it. If you are interested, contact me !

by Even Rouault (noreply@blogger.com) at September 21, 2014 04:58 PM

September 20, 2014

Free and Open Source GIS Ramblings

Labels as text in SVG exports

Today’s post is inspired by a recent thread on the QGIS user mailing list titled “exporting text to Illustrator?”. The issue was that with the introduction of the new labeling system, all labels were exported as paths when creating an SVG. Unnoticed by almost everyone (and huge thanks to Alex Mandel for pointing out!) an option has been added to 2.4 by Larry Shaffer which allows exporting labels as texts again.

To export labels as text, open the Automatic Placement Settings (button in the upper right corner of the label dialog) and uncheck the Draw text as outlines option.

Screenshot 2014-09-20 21.03.26

Note that we are also cautioned that

For now the developers recommend you only toggle this option right
before exporting
and that you recheck it after.

Alex even recorded a video showcasing the functionality:

by underdark at September 20, 2014 07:09 PM

Geomatic Blog

Mapping for the busy cartographer: today moving dots

This article describes how to make a quick map using some nice services we have at our hands. Nowadays almost everyone can create a maps using services like CartoDB, Mapbox, uMap or even Google My Maps. In this case I’ll show how I used the incredible flexibility of CartoDB to combine some Postgres/PostGIS SQL with CartoCSS to animate some dots on top of OSM cartography rendered by Mapbox.

This combination is really unique and convenient, other services only allow you to upload or draw some features and decide some static styling for them. But with this combination, using old SQL you can adapt your data for different uses, with CartoCSS the power of the Mapnik rendering library is available and finally, using the awesome Torque capabilities, animation can be added to our map.


The idea of this map is to represent a crowd of cyclists running along the future bike line by the interior ring of the city of Valencia. Tomorrow Sunday 21 September there will be a march to show the interest of city bikers for this line so my idea was to make people think about how the city look like with this (still imaginary) bike lane full of cyclists, instead of cars.

Data preparation

  1. Trace a line that represents the route
  2. Transform the line to EPSG:3857
  3. Make the line denser, placing points every 25 meters using the «Densify geometries given an interval» QGIS processing tool
  4. Convert the line to points (again with Processing) and give them these properties:
    • route it will serve to produce more routes in the future
    • lap to separate the points of the route of other points of interest outside the route
    • id to order the rendering of the points


After uploading the dataset to my CartoDB account I’ve created a new visualization that will have these layers:

  1. A blurred line with the route
  2. A point marking the meeting place to start the activity, just in front of the city hall.
  3. The animated points moving over the route


Load the layer paseo and customise the SQL. The SQL is quite self-explanatory, first we filter the points over the line and then we use the ST_MakeLine aggregated function to rebuild our original line.

WITH route AS (
  FROM paseo
  WHERE route = 1 AND lap>0
  ORDER BY id)
  1 cartodb_id,
  ST_MakeLine(the_geom_webmercator) as the_geom_webmercator
FROM route

The styling of this layer is a simple CartoCSS rule with the only trick of a heavy blur filter.

    line-color: #A53ED5;
    line-width: 8;
    line-opacity: 0.7;
    line-comp-op: lighten;
    image-filters: agg-stack-blur(10,10);

Moving dots

This is the most important part of the map, of course. I have a path of points ordered and what I want is to show a more or less crowded ring of people moving. To do it, I’ve created a UNION of ten SELECTs to the table offsetting the id over the full range of id’s. To acieve that I’ve used this long SQL:

WITH route AS (
    SELECT * FROM paseo WHERE lap>0 AND route = 1
laps AS (
        cartodb_id, the_geom_webmercator,
    FROM route r1
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 25 THEN id - 25 ELSE id - 25 + 254 END id
    FROM route r2
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 50 THEN id - 50 ELSE id - 50 + 254 END id
    FROM route r3
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 75 THEN id - 75 ELSE id - 75 + 254 END id
    FROM route r4
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 100 THEN id - 100 ELSE id - 100 + 254 END id
    FROM route r5
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 125 THEN id - 125 ELSE id - 125 + 254 END id
    FROM route r6
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 150 THEN id - 150 ELSE id - 150 + 254 END id
    FROM route r7
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 175 THEN id - 175 ELSE id - 175 + 254 END id
    FROM route r8
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 200 THEN id - 200 ELSE id - 200 + 254 END id
    FROM route r9
        cartodb_id, the_geom_webmercator,
        CASE WHEN id  > 225 THEN id - 225 ELSE id - 225 + 254 END id
    FROM route r10
    cartodb_id, the_geom_webmercator,
    ((random()*10-10) + id) id
FROM laps

The first with subquery filters the points of the path for this route that feed the next subquery: 10 unions with an id offset separation of 25 points. This subquery is passed to the main query that finally randomizes the id by +-5 positions, that is the order, so the moving dots are not regular, giving a more interesting (anarchic?) effect.

Using the wizard, the main aspects of the Torque animation are set up. It’s important to use a proper resolution, duration and frame count to adjust the rendering to a nice motion. Afterwards some last touches to the CSS to adjust the compositing operation and specially the trails, leaving just one more rendering of a similar point, instead of the default bigger and more transparent feature.

Map {

  comp-op: minus;
  marker-fill-opacity: 1;
  marker-line-color: #FFFFFF;
  marker-line-width: 0.5;
  marker-line-opacity: 1;
  marker-type: ellipse;
  marker-width: 6;
  marker-fill: #41006D;
#paseo[frame-offset=2] {

Meeting point

To add a feature to the map to render the meeting point, I manually added a new feature to the layer using the CartoDB editor. This feature will have the property lap=0 so it won’t be on the other layers. The SQL for this layer is just a

SELECT * FROM paseo WHERE route = 1 and lap = 0

And the CartoCSS is quite simple with the only important trick to use an external SVG. I’ve used directly the town-hall marker from the Mapbox Maki repository.

  marker-fill-opacity: 0.9;
  marker-line-color: #FFF;
  marker-line-width: 1.5;
  marker-line-opacity: 1;
  marker-placement: point;
  marker-type: ellipse;
  marker-width: 40;
  marker-fill: #3B007F;
  marker-allow-overlap: true;

  marker-file: url(https://raw.githubusercontent.com/mapbox/maki/mb-pages/src/town-hall-24.svg);

Fixed info window

On this layer I’ve also configured an infowindow so when you click on the town hall icon you get some data about the schedule for the event.

Base map

I started using the Nokia day grey base map offered by CartoDB, but after a couple of iterations on the design, I thought it could be great to use a pale purple base map so I went to Mapbox web and quickly crafted a variation of their Mapbox Streets base layer.

Other components

Finally, using the new nice CartoDB layout capabilities I’ve added a simple title for the mobile version of the rendering and a couple of texts and an image (uploaded to imgur) for the logo of the group promoting this activity.


Well that’s all. You can check the visualization here. The job took like 4 to 5 hours. I finished the first animated version in 2/3 hours but you know, devil is in details and designing is always about iterations and refinement. Anyway I’m quite satisfied on the result and I think it serves for its purpose. Definitely I’ll have the opportunity to review and refine this process, as I imagine more routes and bike marches will happen in Valencia where bikers are winning the battle :-)

What do you think about this visualization. What do you like and what do you hate? Improvements? I’d love to hear your thoughts and comments to make better maps.

Update: almost same effect without crazy UNION

This morning Pedro-Juan asked my, why so many UNIONs? why not using just one long CASE?. After accepting the challenge I did something with CASEs but then realized that I wast just looping over a smaller set of id values, so I could use the modulo function. So the long UNION SQL could be reduced to this easy and simple SQL:

    cartodb_id, the_geom_webmercator, 
    ((random()*10-10) + id%3) id
FROM paseo WHERE lap>0 AND route = 1

Wow, that’s so concise compared with the huge SQL above!! Using this id%3 I forced all the values to be just 1,2,3 but with the afterwards random the moving effect is achieved.

The CartoCSS would need also some changes to allow to “fill” the rendering over all the animation time. Check the differences with the above code, specially the number of offsets added:

Map {

  comp-op: minus;
  marker-fill-opacity: 1;
  marker-line-color: #FFFFFF;
  marker-line-width: 0.5;
  marker-line-opacity: 1;
  marker-type: ellipse;
  marker-width: 6;
  marker-fill: #41006D;
#paseo[frame-offset=4] {}
#paseo[frame-offset=8] {}
#paseo[frame-offset=12] {}
#paseo[frame-offset=14] {}
#paseo[frame-offset=16] {}
#paseo[frame-offset=18] {}
#paseo[frame-offset=20] {}
#paseo[frame-offset=22] {}

The resultant visualization can be accessed here. Which one do you like more? Do you think it’s worth the simplicity over the (in my opinion) slightly worse effect?

Archivado en: OSM, PostGIS

by Jorge at September 20, 2014 06:00 PM

September 19, 2014

Narcélio de Sá

QGIS Brasil 4 anos

comunidade qgis brasil

A comunidade QGIS Brasil foi organizada a partir de 2010 para promover o QGIS no Brasil e países de língua portuguesa. Nossa missão é tornar o software, e seu material de apoio, mais amigável do que ele já é em língua inglesa.

Procuramos apresentar ao usuário QGIS do Brasil um excelente material de apoio com traduções da interface gráfica, manuais e organizar tutoriais, eventos e materiais de divulgação.

Baixe nosso material de divulgação e apresente a comunidade QGIS em seus cursos e palestras.


Objetivos da comunidade:

  • Promover o uso do QGIS no Brasil;
  • Apoiar o desenvolvimento do software;
  • Ampliar troca de informação sobre o uso do QGIS;
  • Traduzir o QGIS para o português:
    • Interface gráfica;
    • Documentação;
    • Tutoriais;

Números da Comunidade:

Mais de 1.000 participantes no grupo de discussão
Mais de 1.300 participantes no grupo do Facebook
Mais de 800 acessos diários ao site

Alcance da comunidade:


numeros qgis

Participe do Censo QGIS:

Iniciado no dia 26/05/2013 o censo entra no seu 116º dia com 514 usuários cadastrados.  Vale lembrar que o censo é um processo contínuo e funciona como um cadastro para os usuários QGIS do Brasil.

Não participou do Censo? Clique no botão abaixo e participe!


Mapa de usuários por cidade.

Aguarde os próximos resultados do Censo

Em breve compilaremos os dados para lançar estatísticas acerca do perfil dos usuários brasileiros. Para mais informações acesse: http://bit.ly/1jdAG6G

Como colaborar:

Ao colaborar em tais comissões, além de ampliar e consolidar seu conhecimento sobre o QGIS, abre oportunidades de construir novas amizades com usuário de todo país. Todos que colaboram com a comunidade tem seu trabalho reconhecido em nosso site.

Deseja contribuir financeiramente para manutenção deste serviço? Entre em contato conosco pelo e-mail comunidade@qgisbrasil.org.



Comunidade QGIS Brasil 4 anos from Narcelio de Sa

The post QGIS Brasil 4 anos appeared first on Narcélio de Sá.

by Narcélio de Sá at September 19, 2014 11:55 PM

gvSIG Team

Loading layers in databases from gvSIG

This is a translation of the post that was published by Joaquín del Cerro some days ago, made by Daniel Vicente Batista.

Hello everyone again.

Some days ago I had to correct an error in the exportation assistant to Database and I realized more than I expected, so I am telling you how it is now.

So I had some request…

  • Add data in an existing table.
  • gvSIG warning about if the table exists before trying to load it.
  • Ability to validate geometries before loading them in Database and verify if any of them is corrupted.
  • Ability to show to user about the errors produced so that user may be able to take correcting measures.
  • Not inserting in Database if an error that aborts the operation is produced.
  • The name of the table is proposed, and it’s based on the name of the table that user wants to export.
  • It was not clear what the primary key was. It has to be clarified and it will allow to choose a field of those that already exists as primary key.
  • Usability can be improved when introducing connection data.
  • Blank spaces and uppercase letter in identifiers.
  • Once connection data are introduced, just clicking in Next button to export data if there’s no setback.

With all these stuff in mind I remade almost all the assistant. Now it is divided in six steps or pages.

  1. Options about identifiers to use.

    It allows us to select two checks:

    • One of them to indicate that we want just lowercase in fields identifiers and table.
    • Another one to indicate that we don’t want blank spaces in identifiers, and if they are shown they have to be replaced by underline.

    It doesn’t mean that gvSIG doesn’t work good with uppercase and blank spaces. It’s because other apps that interact with tables with blanks or uppercase fields they don’t do it well or they need user to avoid these characters, that could be more tricky.

    These two checks are shown by default.

  2. Connection options.

    It asks us about connection parameters:

    • Connection type (generic JDBC, PostgreSQL,…)
    • Host name where the service is.
    • Port where the service is.
    • Database name we want to use
    • User
    • Key

    Here we can name this connection configuration to reuse it later.

  3. Table to create

    Here we need to choose to create a new table or add data to an existing one.

    If connection parameters indicated in previous step are correct, the tables list is shown in the database and allows us to choose one where it can be added.

    If we select the option to create a new one, that is the default value, we need to indicate the scheme and the name of the table. It will propose by default values as “public” to the scheme and as name equal to the one we want to export.

    If clicking Next this table already exists, the assistant doesn’t let us proceed, informing us this table already exists, and if we introduce spaces or uppercases it would ask us if we want to fix it automatically or not, following to next if we choose fix it alone.

  4. Primary key.

    It will allow us to choose among creating a new primary key based in an automatic value or choosing an existing one. Creating a new one option is checked by default and it will propose a “pk” name.

    If we indicate we want to use an existing field, we need to choose the field that we want from a list.

  5. Validating geometries.

    When loading data in a Database it is recommended that the geometries that we load are “correct”. This page will allow us to select among the option to lead with this:

    • Do nothing special, the geometries are inserted and the error aborts the process.

    • Verify that there’s no geometry corrupted, normally due to loading a format that is permissive to store geometries, for example lines with just one point or polygons with less than two.

      If we select this option, we need to choose among three actions to do when this happens:

      • Insert the entire feature with geometry set as null.
      • Don’t insert the feature and go to the next.
      • Fail, and abort the process.
    • Verify that the geometries are “valid” (ST_isValid). And if don’t, check to try to correct automatically the problem, and in case of don’t choosing among three actions, same as previous case.

    By default first option is checked, nothing special has to be done with the geometries.

  6. Features selection.

    Last we’ll need to indicate what features have to be loaded. We can:

    • Insert all features of the table, that is the default option.
    • Insert just selected features, what will insert just features that are selected ones in original table or layer.
    • Apply a filter, where we can apply a filter using syntax of a “where” of SQL that we can record, assigning a name.

After passed for these pages of the assistant the process of exportation to Database will begin, and in case of an error a dialogue box will be shown trying to describe what the problem is, and if it happened processing a feature, it will show us the values of the feature that occasioned it.

Well, it’s all.

Filed under: development, english, gvSIG Desktop

by Mario at September 19, 2014 09:55 AM

OSGeo News

Gary Sherman Receives Sol Katz Award

by warmerdam at September 19, 2014 12:35 AM