OSGeo Planet

Fernando Quadro: Usando GeoServer com Docker

OSGeo Planet - Thu, 2017-07-13 10:30

Na publicação de hoje vou falar um pouco sobre o uso do Docker com o GeoServer utilizando o Geodocker. As etapas abaixo foram testadas em um ambiente onde foi instalado o Ubuntu 17.04.

Para instalar o Docker veja a descrição em https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/ na seção “Instalar usando o repositório”.

Em seguida, adicione o usuário atual ao grupo de usuários do docker (caso contrário, todos os comandos do docker devem ser prefixados com sudo):

$ sudo gpasswd -a $USER docker $ newgrp docker

Para iniciar, tente executar a imagem de teste do “Olá Mundo”

$ docker run hello-world

Para entender um poucos mais sobre Docker e mais alguns conceitos básicos, consulte: https://github.com/docker/labs/blob/master/beginner/chapters/alpine.md

Você pode baixar o seu Geodocker, por exemplo, de https://quay.io/organization/geodocker da seguinte maneira:

$ sudo docker pull quay.io/geodocker/base $ sudo docker pull quay.io/geodocker/geoserver

Para obter uma lista de imagens que já foram baixadas você pode executar o seguinte comando:

$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/geodocker/geoserver latest c60753e05956 8 months ago 904MB quay.io/geodocker/base latest 293209905a47 8 months ago 646MB

Agora tente executar a imagem base do Geodocker quay.io/geodocker/base

$ docker run -it --rm quay.io/geodocker/base:latest java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Feito isso, execute então a imagem do GeoServer através de quay.io/geodocker/geoserver

$ docker run --name geoserver -e AUTHOR="Anita" \ -d -P quay.io/geodocker/geoserver

As opções importantes são:

-d … Executar em background e apresentar o ID do container

-P … Publique todas as portas expostas a portas aleatórias

Agora que você já subiu seu docker, verifique se ele está em execução:

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 684598b57868 quay.io/geodocker/geoserver "/opt/tomcat/bin/c..." 2 hours ago Up 2 hours 0.0.0.0:32772->9090/tcp geoserver

Você também pode verificar quais portas estão abertas para acesso através do comando abaixo:

$ docker port geoserver 9090/tcp -> 0.0.0.0:32772

Parabéns, o seu Docker Geoserver agora está sendo executado em http://localhost:32772/geoserver/ (user = admin, password = geoserver).

Fonte: Free and Open Source GIS Ramblings

Categories: OSGeo Planet

Petr Pridal: GeoPackage in MapTiler 8.0

OSGeo Planet - Thu, 2017-07-13 10:14


MapTiler 8.0 is here - and it can generate map tiles in OGC GeoPackage format. The standardized OGC GeoPackage can store the tiles in the most popular mercator profile as well as in the coordinate systems specific for your country.

For the standard tile profile in Mercator - the generated GeoPackage file (.gpkg) is also compliant to MBTiles format in the same moment - which makes it very versatile and compatible with many viewers and software tools.
Our utility for direct fast uploading of the map tiles to the most popular cloud hostings (such as Google Cloud Storage or Amazon S3 buckets) now supports the GeoPackage format too - for all profiles generated by MapTiler. This means you can push any tiles to a reliable hosting which costs a few cents - and you get a web viewer and WMTS compatible with ArcGIS and QGIS. This including map tiles in a local coordinate system - and available for batch processing and automation as `cloudpush` command in the terminal.
It is possible to drop 16-bit raster input files into MapTiler - and they are automatically scaled into 8-bit RGBA output tiles - which eliminates the need for extra preprocessing in some cases. 
MapTiler graphic interface now allows to visually pick a colour for transparency from the input file.There is no need to use 3rd party software to select  required background colour of your map.
We have updated the internal Proj4 library with the latest database of the coordinate systems and projections.MapTiler 8.0 also includes the following features: - QuadKey tiling scheme output in the folder (known from Microsoft Bing Maps) - Online preview of the bounding box for the input file - The GUI remembers Amazon S3 / Google Cloud Storage credentials - Global projected cutline applicable on more input files [Pro command line]

The updated version is now available at http://www.maptiler.com/. Try it out for free now!
Categories: OSGeo Planet

gvSIG Team: “Learning GIS with Game of Thrones” free book

OSGeo Planet - Wed, 2017-07-12 16:54

Have you decided to learn to work with a Geographic Information System and you don’t know how to start? Now that the premiere of the new season of Game of Thrones series will be in a few days, we recommend you do it using the book that we have just published: “Learning GIS with Game of Thrones“.

This book compiles a series of post with practical exercises that have been published in the gvSIG project blog previously. The objective is that anyone, without previous knowledge and through a series of practical exercises, learn to handle a GIS in an entertaining and funny way.

Everything necessary to follow the course is available free of charge, including gvSIG Desktop software – a free GIS used in more than 160 countries – as well as the data (download links are available in the book) and this tutorial, distributed with a Creative Commons license.

At the end of the book we have added a section with a series of links for those who want to delve into the learning of a Geographic Information System.

You can download it from: http://downloads.gvsig.org/download/documents/books/GoT_book_GIS_gvSIG.pdf

Enjoy it!


Filed under: english, gvSIG Desktop, training Tagged: free book, Game of Thrones, training
Categories: OSGeo Planet

Free and Open Source GIS Ramblings: Docker basics with Geodocker GeoServer

OSGeo Planet - Wed, 2017-07-12 13:22

Today’s post is mostly notes-to-self about using Docker. These steps were tested on a fresh Ubuntu 17.04 install.

Install Docker as described in https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/ “Install using the repository” section.

Then add the current user to the docker user group (otherwise, all docker commands have to be prefixed with sudo)

$ sudo gpasswd -a $USER docker $ newgrp docker

Test run the hello world image

$ docker run hello-world

For some more Docker basics, see https://github.com/docker/labs/blob/master/beginner/chapters/alpine.md.

Pull Geodocker images, for example from https://quay.io/organization/geodocker

$ docker pull quay.io/geodocker/base $ docker pull quay.io/geodocker/geoserver

Get a list of pulled images

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/geodocker/geoserver latest c60753e05956 8 months ago 904MB quay.io/geodocker/base latest 293209905a47 8 months ago 646MB

Test run quay.io/geodocker/base

$ docker run -it --rm quay.io/geodocker/base:latest java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Run quay.io/geodocker/geoserver

$ docker run --name geoserver -e AUTHOR="Anita" \ -d -P quay.io/geodocker/geoserver

The important options are:

-d … Run container in background and print container ID

-P … Publish all exposed ports to random ports

Check if the image is running

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 684598b57868 quay.io/geodocker/geoserver "/opt/tomcat/bin/c..." 2 hours ago Up 2 hours 0.0.0.0:32772->9090/tcp geoserver

You can also check which ports to access using

$ docker port geoserver 9090/tcp -> 0.0.0.0:32772

Geoserver should now run on http://localhost:32772/geoserver/ (user=admin, password=geoserver)

For more tests, let’s connect to Geoserver from QGIS

All default example layers are listed

and can be loaded into QGIS


Categories: OSGeo Planet

Fernando Quadro: A História do Open Source GIS

OSGeo Planet - Wed, 2017-07-12 11:29

O advento do mapeamento digital e dos sistemas de informação geoespacial (SIG) mudou completamente a maneira como os humanos pensam e interagem com o mundo ao seu redor. O conceito de sobreposição de camadas discretas de informações de localização para tomada de decisão foi introduzido pela primeira vez por Ian McHarg, um arquiteto paisagista, na década de 1960. Ao mesmo tempo, Roger Tomlinson – conhecido universalmente como o “Pai do SIG” – completou sua tese de doutorado focada no uso de métodos de computação para a sobreposição de informações geoespaciais. Roger então trabalhou para criar o primeiro SIG computarizado, o Sistema de Informações Geográficas do Canadá, que foi usado principalmente para pesquisa.

As raízes do SIG de código aberto remontam o U.S. Department of the Interior em 1978. Desde então, o SIG de fonte aberta permeou muitas indústrias, tanto governamentais como comerciais e, naturalmente, teve uma trajetória e impacto diferentes do que a sua propriedade, contrapartida baseada em licença. O U.S. Department of Labor denominou a tecnologia geoespacial como uma das três maiores indústrias de alto crescimento no século XXI. A evolução do SIG de código aberto nas últimas quatro décadas levou a suas inúmeras aplicações inovadoras e impactantes hoje em dia.

1. O início do SIG: MOSS e GRASS

Em 1978, o Departamento do Interior dos EUA criou o Sistema de Sobreposição e Estatística do Mapa (MOSS). O MOSS foi criado com o objetivo de rastrear e avaliar o impacto do desenvolvimento do meio ambiente, na vida selvagem e nos padrões de migração. Foi o primeiro GIS interativo amplamente implantado, baseado em vetores, bem como o primeiro GIS a ser implantado para uso de produção em minicomputadores.

GRASS (Sistema de Suporte à Análise de Recursos Geográficos) seguiu logo depois, com mais de 350 módulos para processar raster, vetor, processamento de imagem e dados gráficos. O software foi originalmente criado para ser usado pelos militares dos EUA para auxiliar na gestão da terra e no planejamento ambiental. O GRASS é amplamente utilizado hoje em ambas as áreas científicas e comerciais para gerenciamento e análise de dados geoespaciais, processamento de imagem, modelagem espacial e temporal e criação de gráficos e mapas.

2. GeoTools, GDAL, PostGIS e GeoServer

Em 1996, a Universidade de Leeds estabeleceu um projeto para criar uma biblioteca GIS baseada em Java que poderia ser incorporada em diferentes aplicativos conforme necessário. O resultado final, GeoTools, serve como uma biblioteca de código aberto para a manipulação de dados geoespaciais e hoje é amplamente utilizado em servidores de recursos geoespaciais na Web, servidores de mapas da Web e aplicativos desktop.

Quatro anos depois, uma biblioteca geoespacial chamada Biblioteca de Abstração de Dados Geoespaciais (GDAL) surgiu em cena. O GDAL torna possível o uso de aplicativos GIS para suportar os diferentes formatos de dados que existem em todo o mundo SIG. Além disso, vem com uma variedade de úteis utilitários de linha de comando para processamento e tradução de dados em vários formatos. Com suporte para mais de 50 formatos raster e 20 formatos de dados vetoriais, é a biblioteca de acesso a dados geoespaciais mais utilizada no mundo, suportando aplicativos como o Google Earth, o Sistema de Suporte de Análise de Recursos Geográficos (GRASS), QGIS, o Feature Manipulation Engine (FME) E ArcGIS.

Em 2001, a Refractions Research desenvolveu o programa de código aberto PostGIS para habilitar espacialmente os dados armazenados no banco de dados do Postgres. No mesmo ano, o GeoServer, um aplicativo Java para publicação de dados como serviços web baseados nos padrões OGC, também foi criado. Tanto o PostGIS como o GeoServer foram projetos incrivelmente bem-sucedidos e são conhecidos hoje como o banco de dados GIS de código aberto e o servidor de mapas mais amplamente utilizados.

3. Projetos de código aberto impulsionam a inovação e a educação

O QGIS é amplamente considerado como o novo SIG de desktop de código aberto. Lançado em 2002, incorpora funções analíticas do GRASS, juntamente com o suporte ao formato de dados do GDAL, em uma aplicação de desktop amigável para realizar a edição de dados, a cartografia e a análise. O QGIS é interoperável com outras aplicações GIS de código aberto, por exemplo; Gerenciamento de dados do banco de dados PostGIS e publicação de dados no GeoServer como serviços da Web.

Como o SIG de código aberto continuou a ganhar força no início dos anos 2000, OSGeo e LocationTech foram criados para incubar projetos de código aberto. O OSGeo, lançado em 2006, foi projetado para apoiar o desenvolvimento colaborativo de software geoespacial de código aberto, bem como para promover o seu uso generalizado. O LocationTech, um grupo de trabalho dentro da Fundação Eclipse , foi criado para facilitar a colaboração SIG entre acadêmicos, indústria e comunidade.

Em 2011, Geo for All , o programa de divulgação educacional da Open Source Geospatial Foundation, foi fundado com o objetivo de tornar a educação e oportunidades geoespaciais acessíveis a todos. Como resultado do trabalho da fundação, muitos recursos educacionais para SIG de código aberto agora estão disponíveis gratuitamente na internet, incluindo a Academia FOSS4G e a GeoAcademy. O Geo for All eventualmente leva ao estabelecimento de laboratórios geoespaciais de código aberto e centros de pesquisa em todo o mundo para apoiar o desenvolvimento de tecnologias, treinamento e expertise de software de geoespacial de código aberto.

4. Suporte comercial de um SIG de código aberto

Em 2013, a Boundless, tornou-se a primeira empresa a fornecer suporte comercial e manutenção para os aplicativos GIS de código aberto mais populares do mundo nos níveis de banco de dados, servidor, desktop, web, celular e nuvem. O pacote de produtos Boundless “garante que as organizações que utilizam SIG de código aberto em configurações operacionais tenham o suporte técnico de que precisam para ter sucesso”. A empresa oferece aprimoramentos contínuos e manutenção para os softwares GIS open source mais popular.

5. O futuro e além

Os modernos desafios de computação exigem que o software funcione na nuvem e dê suporte as demandas apresentadas pelos enormes volumes de dados que estão sendo criados. Duas soluções de software GIS de código aberto projetadas para atender a esses desafios incluem GeoMesa, um banco de dados de fonte aberta, distribuído e espaço temporal, e o GeoTrellis, um mecanismo de processamento de dados geográficos para aplicações de alto desempenho.

Ambas as soluções, introduzidas em 2014, permitem o processamento de grandes dados geoespaciais na nuvem. Uma vez que eles são criados em frameworks de código aberto e não requerem licenças, e os usuários podem escalar o máximo que for necessário sem serem penalizados.

O SIG de código aberto é uma grande promessa e potencial, pois permite uma maior colaboração, compartilhamento de dados valiosos e acesso a recursos-chave. Com suas muitas aplicações ambientais, governamentais, de segurança pública e de saúde, o SIG de código aberto e os projetos que eleva tem potencial para mudar o mundo.

Este texto foi escrito originalmente em inglês por Anthony Calamito. Esta é uma tradução livre com algumas adaptações realizadas por mim.

Fonte: The New stack

Categories: OSGeo Planet

gvSIG Team: Learning GIS with Game of Thrones (XV and last): Add-ons installing

OSGeo Planet - Wed, 2017-07-12 11:28

We are going to dedicate this last post to the “Add-ons manager”, a tool that every gvSIG Desktop user should know.

The add-ons manager is a tool that allows to customize gvSIG, installing new extensions, functional ones as well as other types (symbol libraries). It can be run from the “Tools/Add-ons manager” menu, although it can be accessed during the installing process.

Thanks to the “Add-ons manager” you can access to the plugins not installed by default as well as to the new tools that are published after a final version.

At the window that appears firstly you have to select the add-ons installation source:

The add-ons can have 3 sources:

  • The own installation binary. The file that we have downloaded has a lot of plugins and add-ons, and some of them are not installed by default, but they are available to install. It allows to customize gvSIG without an internet connection.

  • Installation from file. We can have a file with a set of extensions to be installed on gvSIG.

  • From URL. Through an internet connection we can access to all the add-ons available at the gvSIG server and install those that we need. It’s the recommended option when we want to consult all the add-ons available.

Once the installation source is selected you have to press “Next”, and it will show the list of plugins available.

The add-ons manager interface is divided in 4 parts:

  1. List of available add-ons. The plug-in name, version, and type are indicated. The verifcation check boxes allow to distiguish between available (white) or already installed add-ons (green). You also can see the meaning of the icons.

  2. Information area concerning the plug-in selected in “1”.

  3. Area that shows the “Categories” and “Types” in which the plug-in is classified. When we choose a category or type from the list, a filter that runs on “1” shows only the plug-ins related to this category or type.

  4. Fast filter. Enables a filter from a text string entered by the user.

In our case we are going to install a new symbol library. For that we will select “Symbols” category, that will filter by “symbol libraries” plugins:

Now we will mark “G-Maps” library:

Then we press “Next” button and once it’s installed we press “Finish”. A message will indicate that we have to restart gvSIG, but it’s not necessary for symbol libraries. We would have to do it for functional plugins only.

Now, if we are going to change the symbology of any of our layers, for example “Locations”, we will see that we have the new symbols available:

You can see the symbol libraries available in the gvSIG documentation.

And with this last post we finish this atypical course about introduction to GIS. We expect that you have learnt, and besides it has been as much funny as for us to do it.

From this point you are prepared to go more deeply into the application and discover all its power. 

And a last advice… you can use the mailing lists to consult any doubt or tell us any problem that you find:

http://www.gvsig.com/en/community/mailing-lists


Filed under: english, gvSIG Desktop, training Tagged: Add-ons manager, Game of Thrones, symbology

Categories: OSGeo Planet

gvSIG Team: Learning GIS with Game of Thrones (XIV): Layouts

OSGeo Planet - Wed, 2017-07-12 11:27

At this second-to-last post of the course to learn the base of the Geographic Information Systems through practical exercises with Game of Thrones data we are going to work with the “Map” document.

A Layout document is a set of design elements of a map, organized in a virtual page, the objective of which is its graphical output (printing or exporting to PDF file). The elements that we see in the design are the elements that are printed or exported to the PDF file, being in the same paper size that we have selected on the screen. We can add two different type of elements in a Layout: Cartographic elements and design ones.

In our case we are going to create a map with the path followed by Greyjoy brothers, that we drew in the post about “Graphical editing“. 

Once we have our project open in gvSIG, firstly we are going to open the “Project manager” window. A fast way to do it is through the “Show/Project manager” menu. We select the “Map” type of document and we press “New”. A new window will be opened, where we can define the characteristics of the Map page. 

In our case we are going to select “A4” for the page size, then “Horizontal”, and we will select the View where we had our layers loaded instead of “Create new View” option. If you have more than one View in your project you will see a list with all of them.

You will see that a new map is created where the indicated View is added with a full extent at the page:

Pressing on the “black squares” that appear in the borders and medium points of the rectangle that defines the View extension we can change its size. At this way we are defining the design of our map. Clicking on the View element inserted and dragging it we can move it. In our case we resize the View inserted and we move it, and now we will insert other cartographic elements.

Most of the cartographic elements are closely linked to a View document, so that when making changes to the View, they can be reflected in the map (changes of zoom, displacements, legend changes, organization of layers, etc.). These tools are available from the “Map / Insert” menu and the corresponding button bar.

Let’s start by inserting the legend. This tool is available from the menu “Map / Insert / Legend” or from its button:

The legend is always associated with a View inserted in the Map and allows to represent the symbology of the different layers of that View. Once the tool is selected, we will indicate the first end of the rectangle defining the space to be filled by the legend. It will be indicated by clicking on the Map area at the desired location, and dragging until released at the opposite end. A dialog box will appear where you can define the graphic properties of the inserted legend:

In this window we can mark which layers (its symbology) we want to show in the legend..

Next we insert a North symbol. This tool is available from the  “Map / Insert / North” menu and from its corresponding button:

Once the tool is selected, the first end of the rectangle that defines the space to be occupied by the north symbol will be indicated by clicking on the Map area at the desired location, and dragging until released at the opposite end. A dialog box will appear where you can define the graphic properties of the inserted north:

And our Map will be like this one:

Finally, we will insert a title using the “Insert Text” tool (in the Map / Insert / Text menu or its corresponding button). The operation is similar to the other elements, and in this case we will indicate the text that we want to write: “Greyjoy Brothers”.

From here, to avoid extending this post, we recommend you to review the documentation related to the Map document where you will be able to see how to add graphic scales, boxes, etc. With practice you can create really well designed maps.

Once you have your map you can export it to a PDF file from this button:

You can send your PDF file to all your contacts already.

As it’s said, practice makes perfect.

To finish the course there’s only one post pending… don’t miss it.


Filed under: english, gvSIG Desktop, training Tagged: Game of Thrones, layout, map, pdf, print
Categories: OSGeo Planet

gvSIG Team: Learn GIS for free. Module 9: Raster reclassification and raster calculator

OSGeo Planet - Wed, 2017-07-12 09:58

We continue with the ninth module of the free GIS course, where we continue to show you how to work with gvSIG Desktop, in this case working with raster reclassification and rasterization tools, and learning what can we do with raster calculator.

To follow the course you need:

9.1 Raster reclassification

9.2 Raster calculator

Enjoy!

Giuliano Ramat made this course in the framework of a collaboration between the gvSIG Association and GISMAP

Related posts:


Filed under: english, gvSIG Desktop, training Tagged: calculator, course, free, gis, raster, rasterization, reclassification, tutorial, video
Categories: OSGeo Planet

gvSIG Team: Libro gratuito “Aprendiendo SIG con Juego de Tronos”

OSGeo Planet - Tue, 2017-07-11 12:24

¿Te has propuesto aprender a trabajar con un Sistema de Información Geográfica y no sabes por dónde empezar?. Ahora que quedan días para el estreno de la nueva temporada de la serie Juego de Tronos te recomendamos que lo hagas utilizando el libro que acabamos de poner disponible “Aprendiendo SIG con Juego de Tronos”.

Este libro recopila una serie de post con ejercicios prácticos publicados previamente en el blog del proyecto gvSIG. El objetivo es que cualquier persona, sin conocimientos previos y mediante una serie de ejercicios prácticos, aprenda a manejar un SIG de una forma amena y divertida.

Todo lo necesario para seguir el curso está disponible de forma libre y gratuita, tanto el software gvSIG Desktop – un SIG libre utilizado en más de 160 países – como los datos (tenéis los enlaces de descarga en el libro) y este propio tutorial que se distribuye con licencia Creative Commons.

Al final del libro hemos añadido un apartado con una serie de enlaces para los que quieran profundizar en su aprendizaje de un Sistema de Información Geográfica.

Podéis descargarlo en: http://downloads.gvsig.org/download/documents/books/Libro_GoT_SIG_gvSIG.pdf

¡Qué lo disfrutéis!


Filed under: gvSIG Desktop, spanish Tagged: curso, ejercicios, gratis, iniciación, Juego de tronos, mapas, sig, Sistemas de Información Geográfica, tutorial
Categories: OSGeo Planet

gvSIG Team: Crear gráficas en gvSIG Desktop. Vídeo-tutorial disponible

OSGeo Planet - Tue, 2017-07-11 07:16

Os traemos un nuevo vídeo-tutorial en el que os enseñamos a trabajar con gráficas en gvSIG Desktop, y enmarcado en la colaboración con la UMH en torno al Máster de Valoración, Catastro y Sistemas de Información Territorial.


Filed under: gvSIG Desktop, spanish Tagged: gráficas, gráficos, tutorial, vídeo-tutorial
Categories: OSGeo Planet

OSGeo News: Azavea 2017 Sponsorship

OSGeo Planet - Mon, 2017-07-10 23:24
Categories: OSGeo Planet

gvSIG Team: Towards gvSIG 2.4: Functionalities improved in gvpy

OSGeo Planet - Mon, 2017-07-10 16:07

As you may know, gvpy is a  gvsig library that help us with the execution of geoprocesses. Thus, geoprocesses added in our gvSIG Toolbox can be executed from a script with a single line of code.

For the new gvSIG 2.4, we introduced a small change is this geoprocess execution that will allow us to work with objects in a way that before it wasn’t possible. For example, some geoprocesses (like “profile”) have a graphical output, a object created from the library jfreechart. With this new functionality, is possible capture this object and process it.

An example: we have the task to create a big cuantity of profiles located around a road, as it  appears in the next image.

We want to save all this profiles in a folder so we have to use the profile geoprocesses multiple times, one for each profile. This is a basic script just for one line.

# encoding: utf-8 import gvsig from gvsig.libs import gvpy reload(gvpy) from org.jfree.chart import ChartUtilities def main(*args): #Remove this lines and add here your code route = gvsig.currentView().getLayer("perfil_huesca") dem = gvsig.currentView().getLayer("MDTHuesca") r = gvpy.runalg( "profile",route,dem,"",False,"") aJFreeChart = r[0].getChart() from java.io import FileOutputStream out = FileOutputStream("C:/temp/imagen1.png") ChartUtilities.writeChartAsPNG(out, aJFreeChart, 500, #aChartPanel.getWidth(), 200)#aChartPanel.getHeight());

Now, we want to repeat this process for each profile (a different selected line feature in the initial layer) and saving the graphical output in a folder.

The script would be like this:

# encoding: utf-8 import gvsig from gvsig.libs import gvpy from org.jfree.chart import ChartUtilities from java.io import FileOutputStream import os def main(*args): route = gvsig.currentView().getLayer("Secciones transversales") dem = gvsig.currentView().getLayer("MDTHuesca") features = route.features() selection = route.getSelection() idfeature = 0 for i in features: idfeature+=1 selection.select(i) r = gvpy.runalg( "profile",route,dem,"",False,"",ADDLAYER=False) aJFreeChart = r[0].getChart() filename = gvsig.getTempFile("imagen_"+str(idfeature),".png", "C:\\temp") #filename = os.path.join("C:\\temp", "imagen_"+str(n)+".png") out = FileOutputStream(filename) ChartUtilities.writeChartAsPNG(out, aJFreeChart, 500, #aChartPanel.getWidth(), 200)#aChartPanel.getHeight()); out.close() selection.deselectAll() return

If you change the parameter ADDLAYER to True, for each process execution the new created layer will be added to the View.

Now, we can check in our folder the output of all the profile geoprocess executed during the script.

This script is just a small example and it could be improved. If you make any improvement don’t hesitate and contact with us so we could publish the new example in the blog for share it with the community.

Hope you find useful this post!


Filed under: development, english, gvSIG Desktop, scripting Tagged: gvPy
Categories: OSGeo Planet

gvSIG Team: Learn GIS for free. Module 8: Vegetation index and unsupervised classification

OSGeo Planet - Mon, 2017-07-10 10:17

We continue with the eighth module of the free GIS course, where we continue to show you how to work with raster data in gvSIG Desktop, in this case calculating several parameters (NDVI, CTVI,…) related to vegetation index and learning to work with unsupervised classification tools.

To follow the course you need:

8.1 Vegetation index

8.2 Unsupervised classification

Arrived at this point of the course, we want to introduce you to your teacher Giuliano Ramat, who made this course in the framework of a collaboration between the gvSIG Association and GISMAP.

Related post:


Filed under: english, gvSIG Desktop, training Tagged: CTVI, NDVI, NRVI, raster, remote sensing, TTVI, TVI, unsupervised classification, vegetation index
Categories: OSGeo Planet

Jackie Ng: React-ing to the need for a modern MapGuide viewer (Part 17): Reason number 5537485 why react was the right choice

OSGeo Planet - Sat, 2017-07-08 18:11
An issue cropped up where the legend was not properly rendering a given layer that has multiple geometry styles. This issue was easily reproducible with the Redline widget.

We were expecting to see this after creating a redline layer and drawing some objects.


But we got this instead


Because this legend is a react component, we can inspect it (and the problem layer node) with the React developer tools


Remember the important React motto: The UI is a function of props and state. The HTML content of the LayerNode should be reflective of the props and state given to it. We should've seen something that resembled 3 style icons. But nothing's there.

So let's just check that the layer model for this LayerNode component is indeed a layer with multiple geometry styles


Indeed it is, so that means that the LayerNode component is the culprit. It is not handling the case of multiple geometry styles properly.

As we've already set up our test infrastructure to make it easy to write and run tests, it should be easy to write up an enzyme unit test that shows what we were actually expecting to see when a LayerNode renders a layer that has multiple geometry styles

component.legend.spec.tsx


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80import * as React from "react";
import { shallow, mount, render } from "enzyme";
import { MapLayer } from "../src/api/contracts/runtime-map";
import { LayerNode } from "../src/components/legend";
import { ILegendContext } from "../src/components/context";

// Mocks the ILegendContext needed by LayerNode and other legend sub-components
function mockContext(): ILegendContext {
return {
getIconMimeType: () => "image/png",
getStdIcon: (path: string) => path,
getChildren: (id) => [],
getCurrentScale: () => this.props.currentScale,
getTree: () => {},
getGroupVisibility: (group) => group.ActuallyVisible,
getLayerVisibility: (layer) => layer.ActuallyVisible,
setGroupVisibility: () => {},
setLayerVisibility: () => {},
getLayerSelectability: (layer) => true,
setLayerSelectability: () => {},
getGroupExpanded: (group) => true,
setGroupExpanded: () => {},
getLayerExpanded: (layer) => true,
setLayerExpanded: () => {}
};
}

describe("components/legend", () => {
it("renders a multi-geom-style layer with a rule for each geom style", () => {
const layer: MapLayer = {
Type: 1,
Selectable: true,
LayerDefinition: "Session:841258e8-63f9-11e7-8000-0a002700000f_en_MTI3LjAuMC4x0AFC0AFB0AFA//testing.LayerDefinition",
Name: "_testing",
LegendLabel: "testing",
ObjectId: "abcd12345",
DisplayInLegend: true,
ExpandInLegend: true,
Visible: true,
ActuallyVisible: true,
ScaleRange: [
{
MinScale: 0,
MaxScale: 10000,
FeatureStyle: [
{
Type: 4,
Rule: [
{
Icon: "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAB1JREFUOI1j/M/A8J+BAsBEieZRA0YNGDVgMBkAAFhtAh6Zl924AAAAAElFTkSuQmCC"
}
]
},
{
Type: 4,
Rule: [
{
Icon: "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAACVJREFUOI1jYBgFwwAwMjD8bcAjL8rAwKCNR56LibruGQVDFAAACkEBy4yPOpAAAAAASUVORK5CYII="
}
]
},
{
Type: 4,
Rule: [
{
Icon: "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAFhJREFUOI3t0D0OQFAUROHPIwoNS7ZJe5BoKJR+OpVH4jUkTjv3TDI3w6Z2zooNeSSfKNQYIwd3NISH6sFfQLCkFmQJdkVIGlG+44mfLyjMaCPpgO7C7tkBAXgKXzBhmUQAAAAASUVORK5CYII="
}
]
}
]
}
]
};
const wrapper = shallow(<LayerNode layer={layer} />, {
context: mockContext()
});
const rules = wrapper.find("RuleNode");
expect(rules.length).toBe(3); //One for each geom style
});
});

Running this in jest confirms our expectations were not met:

Summary of all failing tests
FAIL test\component.legend.spec.tsx (6.75s)
● components/legend › renders a multi-geom-style layer with a rule for each geom style

expect(received).toBe(expected)

Expected value to be (using ===):
3
Received:
0

at Object. (test/component.legend.spec.tsx:149:30)
at Promise.resolve.then.el (node_modules/p-map/index.js:42:16)
at process._tickCallback (internal/process/next_tick.js:103:7)


Test Suites: 1 failed, 22 passed, 23 total
Tests: 1 failed, 94 passed, 95 total
Snapshots: 0 total
Time: 14.532s
Ran all test suites.
We expected 3 RuleNode components (one for each geometry style) to have been rendered, but we only got nothing.

A look at the LayerNode rendering shows why. It only considered the first feature style of any layer's scale range.

So once that was fixed, not only does our test pass, but we have visual confirmation that multi-geometry-style layers now render like they did in the Fusion and AJAX viewers.


So the reason for writing this post was just a re-affirmation of my choice for using React to build this viewer.

  • The top-quality developer/debugging experience.
  • The react way of thinking about UIs that allowed me to easily identify the culprit (the LayerNode component)
  • The top-quality testing ecosystem around React (Jest, enzyme) that allowed me to easily write a unit test on this component to confirm and verify my expectations
Categories: OSGeo Planet

gvSIG Team: Towards gvSIG 2.4: New OSM map services

OSGeo Planet - Sat, 2017-07-08 15:58

In the next gvSIG Desktop version we will find new OpenStreetMap tile/map services.

We have added these services to the existing ones:

  • Open Sea Map, the free nautical chart that offers us a layer to add on any other background cartography (another OSM service for example) and which adds information about nautical-recreational tourism. It includes sea lights, buoys and other navigation signals, port information, repair shops, boat supplies and much more. Other associated services such as shops, restaurants and places of interest are also included. This service offers the black background, so using the transparency by pixel tool we will get a much more interesting visualization of the information to cross it with other layers. Here you have a video about it:

  • Open Railway Map. It is a service that offers us a layer of worldwide railway infrastructure. It includes infrastructures of all types of vehicles that run on rails, like train, metro, tram and funicular. Like the previous service the background colour of the layer is black, so we can use the transparency by pixel to cross it with other layers visually. Here you have a video:

  • Carto Dark and Carto Light, offered by Carto company under CC BY 3.0 license, with the OSM cartography in dark and light tones.
  • HOT Style. Style applied on the OSM base, focused in humanitarian emergency projects.

If you don’t want to wait for gvSIG 2.4 to use these services, you can add them manually from the “OSM” tab of the “Add layer” window. Here you have the data that you have to fill in for it:


Filed under: english, gvSIG Desktop, testing Tagged: carto dark, carto light, HOT, HOTOSM, nautical chart, open railway map, open sea map, OpenStreetMap, OSM, tile services, Webmaps
Categories: OSGeo Planet

gvSIG Team: Learn GIS for free. Module 7: Raster GIS. Working with Raster Data

OSGeo Planet - Fri, 2017-07-07 10:11

We continue with the seventh module of the free GIS course, where we are going to show you how to work with raster data in gvSIG Desktop.

With this module we start the second part of the course, focused on raster data. Through three video-tutorials we will see an overview of raster GIS concepts and capabilities, available open satellite images, and you will be able to learn to work with raster data, filters and masks….

To follow the course you need:

7.1 Available satellite images and data

7.2 RGB Colour composite

7.3 RGB Filters and masks

Enjoy!

Related post:


Filed under: english, gvSIG Desktop Tagged: course, free, landsat, open data, raster, remote sensing, satellite images, tutorial, video
Categories: OSGeo Planet

gvSIG Team: Palabras a los alumnos de la IV Promoción de Grado en Ing. Geomática y II del Máster en Ing. Geomática y Geoinformación

OSGeo Planet - Thu, 2017-07-06 21:10

Hoy he tenido el tremendo honor de ejercer de Padrino de la IV Promoción de Grado de Ingenieros en Geomática y Topografía y II Promoción del Máster Universitario en Ingeniería en Geomática y Geoinformación.

Algún alumno me ha comentado si podía publicar el pequeño discurso que he dedicado a los ya titulados. Creo que no hay mejor sitio que este blog. Aquí lo tenéis (y enhorabuena)…

Excelentísimo Sr. Rector, autoridades académicas, profesores, alumnos, familiares y compañeros. Es un honor haber sido elegido Padrino de esta promoción. Y como persona que os acompaña en este acto de graduación, aunque probablemente tengáis en estos momentos la cabeza llena de recuerdos, pensamientos y sensaciones de todo tipo, tengo la responsabilidad de dedicaros unas palabras que espero os sirvan de consejo y estimulo.

Lo primero que os quiero decir es que tenéis que estar orgullosos de haber llegado hasta aquí, orgullosos de haber alcanzado una de las metas de vuestra vida en una universidad pública. Y aunque no hace falta decirlo, pues se les ve en la cara a todos y cada uno de ellos, vuestros familiares deben estar orgullosos de vosotros. Aún con la incertidumbre de qué nos encontraremos mañana, es en estos años universitarios donde en gran parte maduramos intelectual y personalmente.

Creedme si os digo que con el paso del tiempo, no somos pocos los que pensamos que nuestros años de estudiantes universitarios son una de las mejores etapas de la vida, llenos de experiencias que van mucho más allá de los libros.

Y con la satisfacción de un objetivo cumplido suele venir el vértigo de qué vendrá a continuación. ¿Hacia dónde irán vuestras vidas laborales?

Un consejo: No dudéis, estáis preparados para afrontar las dificultades del camino. Lo más importante que se aprende en la universidad no son fórmulas que se olvidan, o tecnologías que antes o después quedaran obsoletas. Se aprender a ser capaz de afrontar cualquier dificultad, a progresar, individualmente y junto a los compañeros. No es tan importante lo que nos enseñan, como lo que aprendemos.

Se dice que la universidad es el templo de la ciencia, y sin duda la búsqueda del conocimiento es el mayor proyecto cooperativo que ha emprendido la humanidad. Y esta acumulación de conocimiento no tiene más objetivo que mejorar la vida de las personas. No os olvidéis de eso.

No os descubro nada si os digo que no es el mejor momento, que ahí fuera las cosas están difíciles y que estos años de estudio y sacrificio no os aseguran nada. Pero también estoy plenamente convencido de que vuestro futuro depende en su mayor parte de vosotros mismos.

Mi consejo es que no creáis a los que dicen que todo está escrito, a aquellos que dicen que esto y aquello es imposible. Pelead por vuestros sueños. Confiad en vosotros, en vuestras posibilidades.

No tengáis miedo a fracasar, que eso no os impida intentarlo. Que las dificultades no os hagan abandonar vuestros sueños. Nunca, nunca, dejéis de estar orgullosos de vosotros mismos.


Filed under: spanish
Categories: OSGeo Planet

gvSIG Team: Vídeo-tutorial para aprender a crear un mapa temático con gvSIG

OSGeo Planet - Thu, 2017-07-06 11:44

Hoy os traemos un nuevo vídeo-tutorial para que podáis aprender en pocos minutos a crear vuestros mapas en gvSIG Desktop. Siguiendo los ejercicios que se presentan en el vídeo, y que podéis replicar pues los datos están disponibles para descarga, veréis lo sencillo que es diseñar vuestros propios mapas.

Para acceder al vídeo y datos, seguid leyendo…


Filed under: gvSIG Desktop, spanish
Categories: OSGeo Planet

gvSIG Team: I encuentro de Geobloggers. De qué hemos hablado…

OSGeo Planet - Wed, 2017-07-05 11:25

Hoy se ha celebrado el I encuentro de Geobloggers, en el que he participado representando a este blog. Los ponentes teníamos 2 intervenciones, una para contestar una serie de preguntas predefinidas y otra para presentar a la organización -en nuestro caso la Asociación gvSIG-. Para los que no hayan podido asistir o seguir por streaming la charla, os dejo aquí el texto de mi intervención.

¿Qué has estudiado, a qué te dedicas y de qué habla tu blog?

Ingeniero Técnico en Topografía. Director General de la Asociación gvSIG, que es una entidad bajo la cual se ha constituido una red internacional de empresas y entidades que apuesta por tecnologías geo en la que los usuarios son propietarios de las mismas.

En el blog de gvSIG hablamos de todo lo que rodea al proyecto gvSIG, a su suite o catálogo de soluciones, a la Asociación y a la Comunidad gvSIG, tocando todo tipo de aspectos: técnicos (usuario y desarrollo), casos de éxito, de opinión, divulgación, eventos…

…Resalto el hablamos, porque el blog de gvSIG no es un blog personal, sino que pertenece a toda la comunidad. Aunque la estructura profesional es la más activa a nivel de publicación de post, cosa natural por formar parte de nuestro día a día…Revisando, hay post de 50 autores diferentes de más de 10 países. Idiomas: principalmente español e inglés, pero se pueden encontrar post en unos cuantos idiomas. Y bueno, me siento muy honrado de representar a todos estos autores y compañeros de blog en este evento.

¿Geoego? Marca personal, entre la autosuficiencia y la colaboración

gvSIG es un proyecto colaborativo. Y como tal el blog es un reflejo de ello. En nuestro caso el blog no es más (ni menos) que un mecanismo (quizá el más importante) de mantener un contacto con la comunidad e informarla de todo lo que rodea a la marca gvSIG.

Por la propia naturaleza del proyecto, la práctica totalidad de lo que hacemos se basa en la colaboración. El propio blog, como ya he comentado, pero también todo lo que en él se reseña (nuevos desarrollos, eventos que organizan las comunidades, documentación que comparte una determinada entidad, etc.).

Al respecto de la colaboración desde gvSIG apostamos por reivindicar la sociedad del conocimiento frente a la sociedad de la información, reivindicar un carácter activo y colaborativo, sin usos condicionados de la tecnología, frente a un carácter pasivo, meramente de consumo. Creo que algo de todo esto también se refleja en nuestro blog.

¿El tamaño importa? Seguidores, entre la cantidad y la calidad

En cuanto a números, un dato interesante es que el crecimiento de seguidores está siendo exponencial y se ha notado principalmente en los 2 últimos años, donde gvSIG pasó de ser un proyecto de SIG de escritorio a una suite de soluciones. El año pasado tuvimos más de 140.000 visitas, con lectores de la práctica totalidad de países. En 2017, a mitad de año, llevamos unas 80.000 visitas por lo que la progresión continua a buen ritmo.

El blog, como tal, ha recibido un par de nominaciones a distintos premios en este año, lo que supongo es otro indicativo a tener en cuenta.

¿Endogamia? Colaborar para divulgar

Uno de los apartados a responder en este bloque nos indicaba que habláramos de “Colaborar para divulgar”. En nuestro caso creo que sería más adecuado cambiar el orden de los factores, para ser más acordes a nuestro producto y lo dejaría en un “Divulgar para colaborar”. Ese es uno de los objetivos en todo lo que hacemos, sumar más y más gente al proyecto. En un proyecto de conocimiento compartido, y no sólo, por sus características también de economía social, la fuerza de la comunidad es más que relevante.

Divulgar por divulgar, sin un fin detrás, o divulgar con unos objetivos meramente mercantiles es algo ajeno a nuestra forma de entender el desarrollo de software. Y, por tanto, de entender una herramienta de divulgación como es un blog.

¿Qué herramientas usas?

Básicamente utilizamos WordPress como herramienta y su conexión con las redes sociales para divulgar todo lo que publicamos.

Parte 2. Asociación gvSIG

La Asociación gvSIG es una entidad que se creó por dos motivos principales, por un lado establecer un marco en el que pymes se pudieran organizar, complementar y colaborar para poner en marcha un modelo de negocio basado en el conocimiento compartido y en la colaboración -en toda la cadena de producción, no sólo en el área técnica.

Por otro asegurar el mantenimiento del catálogo de tecnologías que se fueran materializando en el marco de ese modelo de desarrollo. Lo que empezó como un SIG de escritorio, hoy es una suite que incluye también software para móviles y plataformas para Infraestructura de Datos Espaciales, e incorpora una serie de soluciones verticales, como gvSIG Roads -conservación de carreteras-, gvSIG Educa -educación- o el que esperamos anunciar en breve gvSIG Crime -seguridad ciudadana y análisis del delito-.

La idea es sencilla de enunciar, parte de los beneficios, de la riqueza que genera el desarrollo de estas tecnologías revierte en la sostenibilidad del proyecto.

Me gustaría hacer un paréntesis para resaltar algo que quizá en este marco no sea necesario: la creciente importancia que está adquiriendo lo Geo. Por otro lado es lógico: La realidad se manifiesta en el territorio. Herramientas que nos permitan gestionar el territorio nos permitirán gestionar de forma más eficiente la realidad.

Por tanto, estamos en un momento muy interesante, en el que más allá del típico SIG, los Sistemas de Información -en su sentido más amplio- empiezan a incorporar la capacidad de integrar la dimensión geográfica. Hablamos de geolocalización de las TIC.

Tecnológicamente estas necesidades se pueden solventar con dos enfoques. En ningún caso el problema es de cumplir o no un determinado requisito tecnológico. Creo que la principal innovación que aportamos es ofrecer soluciones a uno de los dos enfoques u opciones que tiene cualquier organización con necesidades geo.

O el usuario se convierte en propietario de la solución y adquiere independencia tecnológica o se perpetua el viejo modelo donde la libertad queda condicionada por las licencias de uso.

Creo que es importante, principalmente cuando hablamos de nuestras administraciones públicas, pagadas por todos, que existan ambas opciones. Que quién quiera tener la tranquilidad de evitar la dependencia de un determinado proveedor o software cerrado, encuentre alternativas profesionales con soluciones libres.


Filed under: gvSIG Desktop, spanish
Categories: OSGeo Planet

gvSIG Team: Learn GIS for free. Module 6: Geoprocessing

OSGeo Planet - Wed, 2017-07-05 07:29

We continue with the sixth module of the free GIS course, where we are going to show you how to work with the framework and set of tools for processing geographic and related data in gvSIG Desktop.

To follow the course you need:

6.1 Geoprocessing part 1

6.2 Geoprocessing part 2

6.3 Geoprocessing part 3

Enjoy!

Related post:


Filed under: english, gvSIG Desktop, training Tagged: course, Geoprocessing, tutorial, videos
Categories: OSGeo Planet
Syndicate content