News aggregator

deegree: Download docker images from docker hub

OSGeo Planet - Tue, 2016-08-30 15:32

Get current deegree release versions on docker from docker hub:

  • 3.3.18 - docker pull tfr42/deegree:3.3.18
  • 3.3.19 - docker pull tfr42/deegree:3.3.19
  • 3.4-RC1 - docker pull tfr42/deegree:3.4-RC1
  • 3.4-RC2 - docker pull tfr42/deegree:3.4-RC2

docker pull tfr42/deegree:latest will pull the latest image which is currently 3.4-RC2!

Dockerfile is available at https://github.com/tfr42/deegree-docker.

Categories: OSGeo Planet

Petr Pridal: Blue-Green Deployment with Docker and Nginx

OSGeo Planet - Tue, 2016-08-30 15:28


Here at Klokan Technologies, we mostly develop software services and we run them as Docker containers. To release new versions, we use the blue-green deployment technique. This reduces downtime and limits the impact of configuration errors.
The basic idea is simple. Instead of having just one production environment, there are two identical ones: blue and green. They take turns actively running the service. A new version is deployed to the environment that is not currently active. Only after the service successfully starts up there and passes all health checks is that environment marked as active. The old active environment is then stopped and prepared to receive the next deployment.
The switch from one environment being active to the other one is a crucial step. If it’s not atomic, there will be a short period where neither environment is active and any request coming in at this time will fail. We use Nginx for this purpose because it does have this capability and because we have it as a reverse proxy anyway.
ExampleTo illustrate the whole process, let us consider an example. We will deploy a Python application in a file called hello.py, listed below. It listens for HTTP requests on port 9000 and responds with a greeting, providing a simple service.

$ cat hello.py
from wsgiref.simple_server import make_server

GREETING = b'Hello, world!\n'

def hello(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return [GREETING]

make_server('0.0.0.0', 9000, hello).serve_forever()

We will have one container for the application and one for Nginx. We will put both on the same Docker network, so that they can see each other. In our production environment, we have separate backend and frontend networks, but it is not necessary here. We will use official Docker images.

$ docker network create example
$ docker pull nginx
$ docker pull python:3


First we start the application itself in the BLUE environment. Notice that we name the container hello-BLUE.

$ docker run \
--name hello-BLUE \
-v $(pwd)/hello.py:/usr/local/src/hello.py \
--net=example \
-d \
python:3 \
python /usr/local/src/hello.py

Then we put the application configuration for Nginx into a file called nginx-conf.d/hello.conf. It sets up an HTTP proxy that forwards all requests to the application. Here again, we have to refer to the application container as hello-BLUE.

$ cat nginx-conf.d/hello.conf
server {
listen 80;
location / {
proxy_pass http://hello-BLUE:9000;
}
}

Now we can start Nginx. It will read the configuration file we have just created and publish the application proxy on port 8080.

$ docker run \
--name nginx \
-v $(pwd)/nginx-conf.d:/etc/nginx/conf.d \
--net=example \
-p 8080:80 \
-d \
nginx

See that it works.

$ curl http://localhost:8080
Hello, world!

Now we make a new version of the service by changing the greeting in the hello.py file.

$ cat hello.py
from wsgiref.simple_server import make_server

GREETING = b'Hello, world! (VERSION 2)\n' # <=== Change here

def hello(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return [GREETING]

make_server('0.0.0.0', 9000, hello).serve_forever()

We start the application again, this time in the GREEN environment. Notice the change in the container name. Otherwise the command is the same as before.

$ docker run \
--name hello-GREEN \ # <=== Change here.
-v $(pwd)/hello.py:/usr/local/src/hello.py \
--net=example \
-d \
python:3 \
python /usr/local/src/hello.py

We have to change the name of the application container in the Nginx configuration as well.

$ cat nginx-conf.d/hello.conf
server {
listen 80;
location / {
proxy_pass http://hello-GREEN:9000; # <=== Change here
}
}

Before switching active environments, we must check that the configuration is correct and that the application is reachable. There is an Nginx command line option for that, so we run it in a temporary container.

$ docker run \
--rm \
-v $(pwd)/nginx-conf.d:/etc/nginx/conf.d \
--net=example \
nginx \
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

If the check was successful we send the Nginx container a SIGHUP signal. This will make it re-read the configuration and restart itself without dropping any requests.

$ docker kill -s HUP nginx
And we can see that we have a new version deployed.

$ curl http://localhost:8080
Hello, world! (VERSION 2)
The BLUE environment is no longer needed, so we remove it.

$ docker stop hello-BLUE
$ docker rm hello-BLUE
ConclusionIn our example, we only had one application container for the service. There could be more and they would all be manipulated together. There could also be more services running on the same machine. They would each have its own BLUE and GREEN environments.
The Nginx container and other infrastructure containers with state are not deployed using this technique. This includes databases and most caches. We can’t stop or restart databases because the active environments are using them even during the switch, and we usually don’t want to clear caches on each deployment.
There is more to making this approach viable for automated deployment. We haven’t mentioned how to determine which environment is currently active for a given service and machine. Also, manually editing configuration files before each deployment is clearly not the way to go. At Klokan Technologies, we actually use Ansible with a custom module to solve both problems, but that is a story for another day.
Categories: OSGeo Planet

deegree: deegree 3.3.19 released

OSGeo Planet - Tue, 2016-08-30 15:25

deegree 3.3.17 has been released and is available now from repo.deegree.org.

This maintenance release includes a number of fixes and is recommended for anyone still on the 3.3.x line.

Categories: OSGeo Planet

gvSIG Team: Camino a gvSIG 2.3: Anaglifos

OSGeo Planet - Tue, 2016-08-30 13:00

Anaglifos_gvSIG

La posibilidad de ver en modo anaglifo las Vistas 3D en gvSIG es una de las (múltiples) novedades que el usuario encontrará en gvSIG Desktop 2.3.

Las imágenes de anaglifo o anaglifos son imágenes de dos dimensiones capaces de provocar un efecto tridimensional cuando se ven con lentes especiales (lentes de color diferente para cada ojo). Las imágenes de anaglifo se componen de dos capas de color, superpuestas pero movidas ligeramente una respecto a la otra para producir el efecto de profundidad. Cuando se ve a través de unas gafas anaglifo, se revelará una imagen tridimensional. La corteza visual del cerebro fusiona esto dentro de la percepción de una escena con profundidad.

En gvSIG 2.3, en la pestaña de 3D de las propiedades de una Vista se podrá definir este modo de visualización.

En el siguiente vídeo vemos el efecto que tiene su aplicación:


Filed under: gvSIG Desktop, spanish Tagged: 3D, anaglifos, Estereoscopía, gvSIG 3D
Categories: OSGeo Planet

gvSIG Team: Camino a gvSIG 2.3: Animaciones

OSGeo Planet - Tue, 2016-08-30 08:12

Entre las novedades relacionadas con 3D en gvSIG 2.3 encontramos la posibilidad de realizar animaciones.

Los usuarios de gvSIG contarán con un gestor de animaciones que permitirá ir guardando los encuadres que generarán la animación.

Os dejamos con un vídeo sobre el funcionamiento de esta nueva herramienta:


Filed under: gvSIG Desktop, spanish Tagged: 3D, animaciones, gvSIG 3D
Categories: OSGeo Planet

Ian Turton's Blog: Improved Polygon Labelling for GeoServer

OSGeo Planet - Tue, 2016-08-30 00:00

As part of the FOSS4G Code Sprint I worked with Casper Børgesen to implement Vladimir Agafonkin’s Polygon Labelling Algorithm. This is a fast way of calculating the Pole of Inaccessibility of a polygon to allow us to place a label (or other related item) at the “widest” part of the polygon. While GeoServer has been able to use a centroid function for some time there are cases when the centroid doesn’t fall within the polygon for these GeoTools and GeoServer have used the interiorPoint which at least guarantees to be on the polygon boundary if not actually inside.

The work has now been merged into the GeoTool’s master branch and after a minor bug fix today I could use it in GeoServer by simply dropping the jar file into the WEB-INF/lib folder of the latest release.

A few short fixes to copies of the population style later, I could see what the outcome looked like.

<TextSymbolizer> <Geometry> <ogc:Function name="centroid"> <ogc:PropertyName>the_geom</ogc:PropertyName> </ogc:Function> </Geometry> <Label>

Centroid's

If you look at the labels for Louisiana (LA) and Florida (FL) you will see that in both cases the label is either over the edge or right on the edge of the state. Obviously it would look much nicer if it wasn’t, so I changed the name of the function being called in the Geometry section of the SLD to interiorPoint which gave the following map:

interior point

As you can now see, Florida looks better but Louisiana is actually slightly worse, this is one of the cases where we get back a point on the polygon boundary. If we now change the SLD to use the new function:

<TextSymbolizer> <Geometry> <ogc:Function name="labelPoint"> <ogc:PropertyName>the_geom</ogc:PropertyName> <ogc:Literal>1.0</ogc:Literal> </ogc:Function> </Geometry> <Label>

Note the second argument to the function - this is a tolerance value for the algorithm (but we may remove it and provide a sensible default later). This gives us the following map:

label point

Now Louisiana and Florida look good, with well placed labels.

So please go ahead and test this out on your own data and let the mailing lists know if you find any issues. We are considering making this the default for GeoServer text symbolizers so it would be good to know if there are any issues before we do that.

Categories: OSGeo Planet

GeoSolutions: GeoSolutions becomes OGC Member

OSGeo Planet - Mon, 2016-08-29 14:34

ogc

Dear All,

just a few words to say that we have eventually decided to become OGC Members in order to put a legal stamp on our long standing committment to interoperable solutions built with our open source products GeoServer, MapStore and GeoNetwork.

In particular this year we are involved in the OGC Testbed 12 (more info here) together with our Austrian partner EOX (see the slides from the March KO meeting here) where we are doing work towards extending support for serving spatiotemporal data (expecially from the NetCDF format) in GeoServer. Please, notice that the initiative is underway and the final direction is up to the testbed sponsors and participants which means that our contributions are under consideration. However, we will strive to open source as much as possible about what we do and portions hof our work are already part of GeoServer (see previous post on spatiotemporal extensions for GeoServer).

If your organization is seeking a technical partner for your endevours with interoperability and OGC Standards, GeoSolutions will provide you with more than 10 years of experience in supporting clients all over the worlds in a wide variety of fields with designing, implementing and operating interoperable Spatial Data Infrastructures based on Open Source software, hence do not hesitate and get in touch with us and make sure to check our Enterprise Services Offer which is the contracting whicle we use to help our clients reach their goal with our products.

The GeoSolutions Team,

Geosolutions
Categories: OSGeo Planet

gvSIG Team: IDE del Instituto de Patrimonio Cultural de España

OSGeo Planet - Sun, 2016-08-28 14:50

IPCE_01

En este post vamos a presentaros la Infraestructura de Datos Espaciales en software libre para la gestión del Patrimonio que ha puesto en marcha la Asociación gvSIG, gracias a la tecnología gvSIG Online.

El IPCE, Instituto del Patrimonio Cultural de España, es una institución dependiente de la Dirección General de Bellas Artes y Bienes Culturales y de Archivos y Bibliotecas del Ministerio de Educación Cultura y Deporte, dedicada a la investigación, conservación y restauración de los bienes culturales que conforman el patrimonio histórico español. Para ello integra en su personal especialistas de diversas disciplinas: arquitectos, arqueólogos, etnógrafos, restauradores, físicos, geólogos, químicos, biólogos, documentalistas, informáticos, fotógrafos, bibliotecarios, archiveros y conservadores, entre otros.

En la práctica eso se traduce en una serie de tareas, proyectos y actividades alrededor de una información que en un amplio porcentaje de ocasiones tiene una componente geográfica. Una información muy valiosa y que, hasta la puesta en marcha de la IDE, era casi imposible reutilizar al no existir un mecanismo que permitiera no sólo tenerla localizada, sino también compartirla, combinarla e interoperar con ella para poder aprovechar todo el potencial de esta base de datos de conocimiento de carácter espacial.

La puesta en marcha de la IDE del IPCE tiene su punto de partida en un proyecto de investigación relacionado con la conservación preventiva. Se puede resumir que la conservación preventiva es una estrategia de conservación del patrimonio cultural que propone un método de trabajo sistemático para identificar, evaluar, detectar y controlar los riesgos de deterioro de los objetos, colecciones, y por extensión cualquier bien cultural, con el fin de eliminar o minimizar dichos riesgos, actuando sobre el origen de los problemas, que generalmente se encuentran en los factores externos a los propios bienes culturales, evitando con ello su deterioro o pérdida y la necesidad de acometer drásticos y costosos tratamientos aplicados sobre los propios bienes.

Los esfuerzos en la aplicación de métodos de trabajo de conservación preventiva se centran en una serie de aspectos en los que se concentran la mayor parte de los riesgos de deterioro que amenazan a los bienes culturales. Entre los aspectos que contempla la Conservación Preventiva encontramos algunos que tienen una especial relevancia en cuanto a la necesidad de implantar una Infraestructura de Datos Espaciales; destacan los siguientes:

  • Daños o pérdidas causados por episodios catastróficos como incendios, terremotos o inundaciones.
  • Daños causados por condiciones ambientales inadecuadas entre las que se incluyen los factores microclimáticos, las radiaciones asociadas a la luz y los contaminantes atmosféricos.
  • Daños causados por el biodeterioro, generalmente asociados a condiciones ambientales inadecuadas y deficiencias en la disposición y mantenimiento de las instalaciones.

En definitiva estos aspectos se concretan en el análisis de una información como la relativa a climatología y condiciones ambientales que es susceptible de ser analizada mediante Sistemas de Información Geográfica. Se trata además, en la mayoría de los casos, de información viva y variante que requiere de una clasificación temporal.

IPCE_gvSIG_03

Es evidente que la complejidad en la conservación de ciertos bienes culturales, como los centros históricos de las ciudades, los paisajes culturales, el arte rupestre y los bienes culturales ligados a ecosistemas naturales, o los componentes del patrimonio inmaterial, exigen herramientas específicas y complejas, muy diferentes a las desarrolladas hasta ahora, para la aplicación de estrategias de conservación preventiva. Es en este aspecto donde las Infraestructuras de Datos Espaciales pueden convertirse en una herramienta o tecnología de primer orden, sumando a la modernización de la gestión del Patrimonio Cultural.

Así, dentro de las tareas relacionadas con la conservación preventiva existía un proyecto de investigación para la deducción de índices de riesgo climático en relación con la conservación de los bienes culturales. Estudiar diferentes parámetros climáticos como la temperatura, la humedad o la pluviometría, etcétera, su variabilidad a lo largo del ciclo anual y poder cruzar las distintas entradas de información geográfica, era la base del proyecto que dio inicio a la puesta en marcha de la Infraestructura de Datos Espaciales. Para ello, además de las herramientas habituales de una IDE, se desarrolló un módulo de gestión de series temporales de datos, que permite por un lado añadir a la IDE cualquier serie de datos con el atributo tiempo y, por otro lado poder realizar la consulta de cualquier capa de climatología relevante para la conservación de los bienes culturales, en relación con una fecha concreta.

IPCE_gvSIG_04

gvSIG Online, la tecnología utilizada en la IDE del IPCE, es una plataforma integral para la puesta en marcha, gestión y explotación de Infraestructuras de Datos Espaciales. Internamente está formado por una serie de componentes de software, todos ellos con licencia libre, que permiten disponer de una IDE completa. La IDE del IPCE tiene tanto geoportales e información privada como algunos geoportales públicos, relacionados como ya se ha comentado con proyectos de investigación de conservación del patrimonio en relación con distintas variables climáticas. Una de las características que hacen diferente a esta IDE respecto a las implantadas por otras organizaciones como institutos geográficos, con información que es actualizada en períodos de tiempo grandes, es la relacionada con la variabilidad de proyectos que se generan y la utilización de datos que varían constantemente.

IPCE_gvSIG_02

La experiencia en la aplicación de estas tecnologías al ámbito de la conservación es extrapolable a otros organismos responsables del mantenimiento del Patrimonio Cultural y abre un nuevo campo de aplicación de la geomática hasta ahora poco explorado. Una solución que desde la Asociación gvSIG ofrecemos para todas aquellas organizaciones que requieran implantar su IDE / SIG Corporativo y que apuesten por todas las ventajas que aporta el software libre.

Podéis dar un vistazo a la parte pública de la IDE del IPCE aquí: https://ipce.gvsigonline.com/gvsigonline/

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

https://youtu.be/47rEuQtAnaA


Filed under: geoportal, gvSIG Online, SDI, spanish Tagged: Conservación, IDE, Infraestructura de Datos Espaciales, patrimonio
Categories: OSGeo Planet

From GIS to Remote Sensing: Exploring the new features of Semi-Automatic Classification Plugin v.5.0 "Kourou"

OSGeo Planet - Sun, 2016-08-28 11:19

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




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

gvSIG Team: TOPCART 2016. XI Congreso Internacional de Geomática y Ciencias de la Tierra. Programa de actividades y participación de gvSIG

OSGeo Planet - Sun, 2016-08-28 10:30

topcart_2016

Del 26 al 30 de octubre de 2016 se celebrará en el Palacio de Congresos de la ciudad de Toledo, el XI Congreso Internacional de Geomática y Ciencias de la Tierra (TOPCART2016).

El TOPCART 2016 contará con un amplio programa de conferencias, presentaciones de soluciones, tecnologías, seminarios y talleres en los que los asistentes podrán profundizar en sus conocimientos.

La Asociación gvSIG estará presente con una amplia presencia en las que hablaremos sobre proyectos y tecnologías como gvSIG Online, gvSIG Roads y gvSIG Desktop.

Las ponencias de gvSIG son:

  • gvSIG Online: plataforma integral para Infraestructuras de Datos Espaciales en software libre
  • gvSIG + World Wind: novedades del SIG libre en 3D
  • Infraestructura de Datos Espaciales de la Unión Internacional para la Conservación de la Naturaleza para la restauración de paisajes rurales
  • Infraestructura de Datos Espaciales del Instituto de Patrimonio Cultural de España
  • Gestión integral del mantenimiento y conservación de carreteras utilizando software con información cartográfica integrada
  • Infraestructura de Datos Espaciales en software libre para la gestión del Ciclo Integral del Agua

El programa completo puede consultarse en:

http://programa.topcart2016.com/


Filed under: events, press office, spanish Tagged: topcart
Categories: OSGeo Planet

gvSIG Team: FOSS4G 2016: gvSIG Video recordings (2)

OSGeo Planet - Sat, 2016-08-27 18:32

A very good talk: Spatial tools for LiDAR based watershed management and forestry analysis integrated in gvSIG

 


Filed under: english, events, gvSIG Desktop Tagged: forestry, foss4g, LiDAR, watershed
Categories: OSGeo Planet

Free and Open Source GIS Ramblings: OSGeo Code Sprint in Bonn

OSGeo Planet - Sat, 2016-08-27 09:24

It’s been a great week in Bonn! I joined the other members of the QGIS project at the pre-FOSS4G code sprint at the Basecamp, the weirdest location we’ve had for a developer meeting so far. We used this opportunity to have a face-to-face meeting of the QGIS PSC  with special guests Matthias Kuhn (on QGIS 3.0 and bug tracker discussions) and Lene Fischer (on community team issues)  – notes here.

picture by Tim Sutton

QGIS PSC meeting in action (from left to right: Otto Dassau, Paolo Cavallini, Anita Graser, Andreas Neumann, Jürgen E. Fischer), picture by Tim Sutton

I also finally took the time to compile a blog post on the results of the QGIS user survey 2015.

The code sprint was also a great opportunity to present the results of Akbar Gumbira’s Google Summer of Code project: the QGIS Resource Sharing plugin. This plugin makes it possible to easily share resources (such as SVG icons, symbol definitions, QGIS styles, and Processing scripts) with other QGIS users through an interface that closely resembles the well-known QGIS Plugin Manager. Akbar has also prepared great presentation with background info and screencasts showcasing his project.

QGIS Resource Sharing presentation, picture by @foss4g

QGIS Resource Sharing presentation, picture by @foss4g

The plugin is now available in the Plugin Repository and we have created the official QGIS Resources repository on Github. If you have symbols or styles that you want to share with the community, please create a resource collection and send us a pull request to add it to the official list.

Thanks to all the organizers who worked hard to make this one of the most well-organized and enjoyable code sprints I’ve ever been to. You are awesome!


Categories: OSGeo Planet

gvSIG Team: NASA WORLD WIND Europa Challenge 2016. List of nominees and gvSIG projects

OSGeo Planet - Fri, 2016-08-26 15:10

nasa

“The Europa Challenge has always had Europe’s INSPIRE Directive to guide project development. This year we continue to have INSPIRE guide us and more specifically, we are looking for urban management solutions. This year the Europa Challenge is asking the world’s *best and brightest* to deliver solutions serving city needs.

Almost every city needs the same data management tools as every other city. How can we help cities work together to be more sustainable, more livable and more resilient? If cities were able to share their solutions with each other, this would multiply their investment by the number of cities participating. Each city could develop different functionalities and then ‘share’ these with each other, massively increasing our planet’s collective productivity. “

This year gvSIG Association has two projects in the final list of nominees:

  • Improving the integration of NWW in gvSIG Desktop: Extrusion, vector data and EPSG support. More info: here.
  • gvSIG Online and Web World Wind, the solution for Spatial Data Infrastructures on Open Source software with 3D View. More info: here.

The 2016 projects are:

http://eurochallenge.como.polimi.it/projects2016


Filed under: events, gvSIG Desktop, gvSIG Online, press office, spanish Tagged: awards, Europa Challenge, nasa world wind
Categories: OSGeo Planet

QGIS Blog: What are trusted plugins?

OSGeo Planet - Fri, 2016-08-26 10:16

The core team of QGIS strives hard to provide the most advanced and user friendly GIS for free use by everyone. In the core QGIS project, every line of code that gets committed is subject to peer review when contributed by a non core developer. This gives us an opportunity to identify and correct inadvertent (or intentional) security issues that a developer may introduce into the code base. By contrast, all of the plugins that are published via the QGIS plugin repository are reviewed by the plugin developers themselves and we don’t have good insight into how much due diligence is applied to plugin code management.

The vast majority of our plugins (listed in http://plugins.qgis.org/ and inside your copy of QGIS) are developed by third parties, either individuals, companies, and institutions. As such, they are outside our direct control and the developers often relatively unknown to the QGIS community. We view this as a potential security risk. We are convinced the risk is small, because of many factors including the “many eyes” principle (the code is visible to everybody, and in use by thousands of people), but cannot exclude the possibility that someone tries to inject malicious code into a plugin.

In order to address this situation, we looked into the opportunity of implementing automatic tools to scan plugins, before their publication, and spot potential problems. Our research indicated that this approach would be difficult and costly, and easy to circumvent.

We (the PSC) therefore decided to implement a simple yet robust approach to security, based on the ‘web of trust’ principle: we trust people we know well in the community. You will see on the http://plugins.qgis.org web site that there is a ‘Trusted Author’ tag has been applied to plugins created by those members of the community that we know and trust.

The criteria for ‘Trusted Authors’ includes those community members that regularly meet at our QGIS developer meetings, and and those that are in almost daily contact with the core team via our developer mailing lists or background project discussions. The remaining plugins (and there are wonderful, reliable, robust, and useful plugins in the list) have not been given the ‘trusted’ label.

We would be delighted if a side effect of this choice would be to stimulate more active and direct involvement of plugin developers in the QGIS community. All plugin developers are therefore invited to join us at one of the next developer meetings (AKA HackFest), or otherwise become a recognized, active member of the community, so they can be integrated as ‘trusted’ plugin developers.


Categories: OSGeo Planet

gvSIG Team: FOSS4G 2016: gvSIG Video recordings (1)

OSGeo Planet - Fri, 2016-08-26 10:00

3D tools in gvSIG using Nasa World Wind

Digital field mapping with Geopaparazzi and gvSIG


Filed under: english, events, gvSIG Desktop, gvSIG Mobile, gvSIG Online Tagged: foss4g, Geopaparazzi, osgeo
Categories: OSGeo Planet

From GIS to Remote Sensing: Tutorial: Land Cover Classification and Mosaic of Several Landsat images

OSGeo Planet - Thu, 2016-08-25 15:07
This tutorial is about the land cover classification of several Landsat images in order to create a classification of a large study area using the Semi-Automatic Classification Plugin (SCP). For very basic tutorials see Tutorial 1: Your First Land Cover Classification and Tutorial 2: Land Cover Classification of Landsat Images.The study area of this tutorial is Costa Rica , a Country in Central America that has an extension of about 51,000 square kilometres. In particular, we are going to classify Landsat 8 and Landsat 7 images, masking clouds and creating a mosaic of classifications. We are going to identify the following land cover classes:
  1. Built-up;
  2. Vegetation;
  3. Soil;
  4. Water.
Following the video of this tutorial.



Categories: OSGeo Planet

From GIS to Remote Sensing: Major Update: Semi-Automatic Classification Plugin v. 4.9.0 - Sentinel-2 Download and Conversion to Reflectance

OSGeo Planet - Thu, 2016-08-25 14:55
This post is about a major update for the Semi-Automatic Classification Plugin for QGIS, version 4.9.0.


Following the changelog:
-updated the Sentinel-2 download for downloading single granules and selected bands
-updated the Sentinel-2 Pre processing tab for converting bands to TOA reflectance and surface reflectance (using DOS1)
Categories: OSGeo Planet

Paul Ramsey: PgSQL Indexes and "LIKE"

OSGeo Planet - Thu, 2016-08-25 09:05

Do you write queries like this:

SELECT * FROM users WHERE name LIKE 'G%'

Are your queries unexpectedly slow in PostgreSQL? Is the index not doing what you expect? Surprise! You’ve just discovered a PostgreSQL quirk.

TL;DR: If you are running a locale other than “C” (show LC_COLLATE to check) you need to create a special index to support pattern searching with the LIKE operator: CREATE INDEX myindex ON mytable (mytextcolumn text_pattern_ops). Note the specification of the text_pattern_ops operator class after the column name.

As a beginner SQL student, you might have asked “will the index make my ‘like’ query fast” and been answered “as long as the wildcard character is at the end of the string, it will.”

PgSQL Indexes and "LIKE"

That statement is only true in general if your database is initialized using the “C” locale (the North America/English-friendly UNIX default). Running with “C” used to be extremely common, but is less and less so, as modern operating systems automagically choose appropriate regional locales to provide approriate time and formatting for end users.

For example, I run Mac OSX and I live in British Columbia, an English-speaking chunk of North America. I could use “C” just fine, but when I check my database locale (via my collation), I see this:

pramsey=# show LC_COLLATE; lc_collate ------------- en_CA.UTF-8 (1 row)

It’s a good choice, it’s where I live, it supports lots of characters via UTF-8. However, it’s not “C”, so there are some quirks.

I have a big table of data linked to postal codes, this is what the table looks like:

Table "gis.postal_segments" Column | Type | Modifiers -------------------+--------------+----------- postal_code | text | not null segment | character(4) | Indexes: "postal_segments_pkey" PRIMARY KEY, btree (postal_code)

Note the index on the postal code, a standard btree.

I want to search rows based on a postal code prefix string, so I run:

EXPLAIN ANALYZE SELECT * FROM postal_segments WHERE postal_code LIKE 'V8V1X%'; QUERY PLAN ------------------------------------------------------------------------------------------------------ Seq Scan on postal_segments (cost=0.00..2496.85 rows=10 width=68) (actual time=30.320..34.219 rows=4 loops=1) Filter: (postal_code ~~ 'V8V1X%'::text) Rows Removed by Filter: 100144 Planning time: 0.250 ms Execution time: 34.263 ms (5 rows)

Ruh roh!

I have an index on the postal code, so why am I getting a sequence scan?!?! Because my index is no good for doing pattern matching in any collation other than “C”. I need a special index for that, which I create like this.

CREATE INDEX postal_segments_text_x ON postal_segments (postal_code text_pattern_ops);

The magic part is at the end, invoking text_pattern_ops as the opclass for this index. Now my query works as expected:

EXPLAIN ANALYZE SELECT * FROM postal_segments WHERE postal_code LIKE 'V8V1X%'; QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------- Index Scan using postal_segments_text_x on postal_segments (cost=0.29..8.31 rows=10 width=68) (actual time=0.067..0.073 rows=4 loops=1) Index Cond: ((postal_code ~>=~ 'V8V1X'::text) AND (postal_code ~<~ 'V8V1Y'::text)) Filter: (postal_code ~~ 'V8V1X%'::text) Planning time: 0.532 ms Execution time: 0.117 ms (5 rows)

I have gotten so used to PostgreSQL doing exactly the right thing automatically that it took quite a long time to track down this quirk when I ran into it. I hope this page helps others save some time!

Categories: OSGeo Planet

gvSIG Team: 12as Jornadas Internacionales gvSIG: “Conoce el territorio. Gestiona la realidad”

OSGeo Planet - Thu, 2016-08-25 06:50

xx_12as J gvSIG esp

Del 30 de noviembre al 2 de diciembre de 2016 tendrán lugar en Valencia, España, las 12as Jornadas Internacionales gvSIG, organizadas por la Asociación gvSIG bajo el lema “Conoce el territorio. Gestiona la realidad“.

Este año las jornadas se celebrarán en una nueva sede, concretamente en la Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica y Topográfica (Universitat Politècnica de València). En la página web del evento se facilitará más información sobre las salas de conferencias y talleres.

Ya está abierto el periodo para el envío de propuestas para comunicaciones para las Jornadas. Desde hoy pueden enviarse las propuestas a la dirección de correo electrónico conference-contact@gvsig.com, y serán valoradas por el comité científico de cara a su inclusión en el programa de las Jornadas. Existen dos modalidades de comunicación: ponencia y póster. Toda la información sobre las normas para la presentación de comunicaciones puede consultarse en el apartado ‘Comunicaciones’ de la web. El periodo de recepción de resúmenes finalizará el próximo 22 de septiembre.

Las organizaciones interesadas en colaborar en el evento pueden encontrar información en el apartado ‘¿Cómo colaborar?’ de la web de las jornadas.

¡Esperamos vuestra participación!


Filed under: events, press office, spanish Tagged: 12as Jornadas Internacionales gvSIG
Categories: OSGeo Planet
Syndicate content