OSGeo Planet

gvSIG Team: Taller sobre gvSIG Desktop para principiantes en las 15as Jornadas Internacionales gvSIG

OSGeo Planet - Mon, 2019-10-21 14:27

El próximo 6 de noviembre de 2019, dentro de las 15as Jornadas Internacionales gvSIG que se celebrarán en Valencia (España), se impartirá un taller gratuito sobre gvSIG Desktop para principiantes, en el que cualquier persona que esté interesada en aprender a manejar la aplicación desde cero puede hacerlo.

Durante el taller se verá cómo crear mapas temáticos, con todos los elementos característicos (escala, norte, leyenda…), a partir de capas vectoriales, con su simbología y etiquetado. Se crearán además nuevas capas sobre las cuales se insertarán varias geometrías, digitalizando sobre una ortofoto. Se mostrará también cómo gestionar las tablas de atributos de dichas capas vectoriales, realizando selección de elementos de diferentes formas, y cómo conectar a capas remotas, que permite trabajar con una gran cantidad de cartografía ofrecida por las principales administraciones públicas sin tener que descargarla en local. También se explicará cómo trabajar con diferentes sistemas de referencia. Finalmente se aplicarán algunos geoprocesos.

Para asistir a los talleres debéis inscribiros tanto a las jornadas como a cada uno de los talleres en los que estéis interesados. Los talleres, como el resto de las jornadas, son totalmente gratuitos, pero tened en cuenta que las plazas son limitadas.

El taller se impartirá en la Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica y Topográfica (UPV), en un aula con ordenadores, por lo que no necesitáis llevar el vuestro.

Podéis consultar el programa completo de las jornadas aquí:

http://www.gvsig.com/es/eventos/jornadas-gvsig/15as-jornadas-gvsig/programa

La inscripción a las jornadas se realiza desde el siguiente formulario:

http://www.gvsig.com/es/eventos/jornadas-gvsig/15as-jornadas-gvsig/inscripcion

La inscripción a los talleres se puede realizar desde el siguiente apartado:

http://www.gvsig.com/es/eventos/jornadas-gvsig/15as-jornadas-gvsig/inscripcion-talleres

Categories: OSGeo Planet

GeoSolutions: MapStore Release 2019.02.01

OSGeo Planet - Mon, 2019-10-21 14:09

header_ms_21-300x243

Dear Reader,

We are pleased to announce the release 2019.02.01 of MapStore, our flagship Open Source WebGIS product. The full list of changes for this release can be found here, but the most interesting additions are the following:

  • Improvements to the layer filtering capabilities: improved the autocomplete functionality for attribute fields according to other filters applied
  • Print tool: filters defined on layers are now applied to the final print too
  • Layers list query parameter: now you can add layers to the map defining them in a new URL query paremeter, look at the documentation here
  • Improved documentation: Attribute Table and Theme customization sections have been enriched
  • Catalog tool: improved with autosearch
  • Hardening: many bug fixes and performance improvements for both desktop and mobile
Within this minor release we have mainly focused our effort on the hardening by providing bug fixes on various components and functionalities: you can find the complete list on github here. We would like to take this opportunity to whet your curiosity giving some news on the ongoing works, several interesting functionalities are under construction! GeoStory Yes, it's true. In the first quarter of the next year you will be able to use MapStore to do geospatial storytelling: we named the new tool GeoStory. Using a Cascade layout there will be possible to add various kind of sections like Titles/Covers, Paragraphs and Media contents (images, videos and also maps!) with the possibility to also organize them with an Immersive layout to make your story fascinating! Below a little taste. [caption id="attachment_4687" align="aligncenter" width="1024"]Editor of GeoStory Editor of GeoStory[/caption]   [caption id="attachment_4688" align="aligncenter" width="1024"]View of an immersive section View of an immersive section[/caption]   Application Contexts and Viewer Composer An additional interesting feature will make MapStore even more powerful than now. The new year will bring the Application Context tool for MapStore that will allow administrators to define multiple viewer contexts in a three steps wizard with the possibility to:
  • Define a custom name that will identify the viewer's context path inside the MapStore URL
  [caption id="attachment_4704" align="aligncenter" width="559"]General settings - the context name General settings - the context name[/caption]  
  • Define and configure which plugins need to be active inside the viewer
  [caption id="attachment_4696" align="aligncenter" width="1018"]Select the viewer plugins Select the viewer plugins[/caption]  
  • Configure the viewer map in terms of: default map scale/center, map CRS, layers and groups of layers in TOC, backgrounds (with the new admin UI that will be available in next major release!)
[caption id="attachment_4698" align="aligncenter" width="775"]Configure the map Configure the map[/caption]   Further ongoing and future work

For the next releases we have plans to work on the following (in sparse order)

  • Further improvements to charts and dashboards (we have in plan to add some interesting capabilities like the possibility to define quick filters in dashboard, stay tuned!)
  • Further improvements to the TOC drag&drop capabilities and settings
  • Support for multiple map projections (expected in next major release 2019.03.00 of MapStore)
  • Vector Tiles and MapBox Style support

Stay tuned for additional news on the next features!

If you are interested in learning about how we can help you achieving your goals with open source products like GeoServerMapStore, GeoNode and GeoNetwork through our Enterprise Support Services and GeoServer Deployment Warranty offerings, feel free to contact us!

The GeoSolutions team,
Categories: OSGeo Planet

CARTO Blog: PostGIS 3.0.0 Just Released

OSGeo Planet - Mon, 2019-10-21 09:00
Most of our users are aware that under the hood, CARTO runs on PostgreSQL and PostGIS. In fact, when it comes to contributing to PostGIS, we are the most active organizatio...
Categories: OSGeo Planet

Narcélio de Sá: Atlas no QGIS – Automatizando a produção de mapas

OSGeo Planet - Sun, 2019-10-20 22:33

Em um post anterior eu ensino como construir um mapa de localização no QGIS. Nesse vídeo tutorial iremos explorar as funcionalidades do Atlas do QGIS para a produção de mapas em série.

O que é a função Atlas do QGIS?

Por vezes nos deparamos com situações onde precisamos criar muitos mapas com o mesmo modelo – geralmente um para cada unidade administrativa ou região de interesse. Criar esses mapas manualmente pode levar muito tempo e, fazer qualquer atualização nesses mapas pode se tornar uma tarefa árdua. 

O QGIS possui uma ferramenta chamada Atlas que pode ajudá-lo a criar um modelo de mapa e publicar facilmente um grande número de mapas para diferentes regiões geográficas. Nesse exemplo iremos montar 3 mapas temáticos para cada município cearense, ao todo iremos produzir se uma só vez 552 mapas utilizando o atlas e algumas técnicas de estilo e layout.

Sumário:
  • Apresentação: 0:00
  • Configurando Temas: 1:44
  • Criando compositor de impressão: 3:27
  • Configurando tamanho da página no compositor: 3:47
  • Adicionando mapa no compositor: 5:00
  • Configurando Grid de Coordenadas: 5:57
  • Adicionando Título ao mapa: 11:51
  • Inserindo rosa dos ventos: 12:41
  • Adicionando escala gráfica: 13:09
  • Inserindo legenda: 15:20
  • Adicionando escala numérica: 16:20
  • Inserindo mapa de situação: 18:00
  • Definindo temas para o mapa principal: 19:30
  • Configurando tema do mapa de situação: 20:47
  • Ajustando o enquadramento no mapa de situação: 22:40
  • Configurando o Atlas: 25:40
  • Configurando o título dinâmico: 27:55
  • Ajustando tamanho da escala gráfica: 29:35
  • Configurando posição da escala gráfica: 32:27
  • Configurando a legenda dinâmica: 35:04
  • Clonando configurações do layout para outros mapas: 36:30
  • Configurando os temas de cada mapa: 37:25
  • Ajustando a quebra de linhas na legenda dinâmica: 38:55
  • Configurando posição da legenda : 41:40
  • Configurando o nome do arquivo para exportação: 43:40
  • Isolando a feição do atlas com configuração de estilo: 45:30
  • Configurando escalas padrões para o projeto: 51:00
  • Exportando os mapas: 56:00
Baixe os arquivos utilizados nesse tutorial

Projeto e Camadas: http://bit.ly/atlas_qgis

O que vocês acharam deste tutorial Atlas no QGIS - Automatizando a produção de mapas ? Aguardo seus comentários, dicas e sugestões. Não deixe de curtir  nossa página no Facebook [Narcélio de Sá – Geotecnologias] , inscreva-se no nosso canal no Youtube e não esqueça de seguir nosso Twitter [@narceliodesa]

The post Atlas no QGIS – Automatizando a produção de mapas appeared first on Narcélio de Sá.

Categories: OSGeo Planet

PostGIS Development: PostGIS 3.0.0

OSGeo Planet - Sun, 2019-10-20 00:00

The PostGIS development team is pleased to release PostGIS 3.0.0.

This release works with PostgreSQL 9.5-12 and GEOS >= 3.6.

If you are using postgis_sfcgal extension, you need to compile against SFCGAL 1.3.1 or higher.

Best served with PostgreSQL 12 , GEOS 3.8.0 and pgRouting 3.0.0-beta.

Continue Reading by clicking title hyperlink ..
Categories: OSGeo Planet

gvSIG Team: gvSIG Projects: Google Summer of Code 2019

OSGeo Planet - Sat, 2019-10-19 11:01

Google Summer of Code (GSoC) is a programme that has been set up by Google to introduce students to open source software development. It links students to open source organisations such as OSGeo.

We are very happy that we had two great students working on gvSIG-GSoC projects with us this summer. GSoC 2019 has just finished, so here you can find out about our students and their projects.

Creation of new topological rules in gvSIG desktop

The project consists of the creation of three new topological rules in the gvSIG desktop toolbox. These rules are ” Must be disjoint ”, “Must not have dangles” and “Must be larger than cluster tolerance” that will help to verify the integrity of the spatial information, validate the representations and correct possible errors of the point, linear and poligonal geometries. Definitely, ensure the quality of geographic data with open source software.

Student: Héctor Tundidor 

More info: https://github.com/hecnita/gvsig-gsoc2019-topology/wiki/Creation-of-new-topological-rules-in-gvSIG-desktop

Topological rules:

Repository: https://github.com/hecnita/gvsig-gsoc2019-topology

New rules for the Topology Framework in gvSIG Desktop

A new topology toolbox. This tool provides a group of integrity rules that check the validation of the geometries relationship in the data. A new topology data model can be created for each project. This toolbox provides a new set of tools to navigate, find and fix validation errors different from each topology rule. This project analyzes, implement and optimize a new set of rules that will be incorporated into this framework. This tools can be created in Java or in Jython through the Scripting composer tool.

Student: Mauro Carlevaro

More info: https://github.com/Maureque/gvsig-gsoc2019-topology/wiki/1.-New-rules-for-the-Topology-Framework-in-gvSIG-Desktop

Topological rules:

Repository: https://github.com/Maureque/gvsig-gsoc2019-topology

Categories: OSGeo Planet

GeoSolutions: Meet GeoSolutions at INSPIRE Helsinki 2019

OSGeo Planet - Fri, 2019-10-18 16:27

inspire 2019

Dear All, we are proud to announce that GeoSolutions will be present at the INSPIRE Helsinki 2019 Event which will be held in Helsinki from 22nd to 24th of October 2019.

GeoSolutions will be present with its INSPIRE Expert Nuno Oliveira and we will be happy to talk to you about our open source products, like GeoServerMapstore, GeoNode and GeoNetwork, as well as about our Enterprise Support Services and GeoServer Deployment Warranty offerings.

Our INSPIRE & GeoServer expert Nuno Oliveira is going to hold a workshop on GeoServer for INSPIRE, info below:

as well as another workshop on work performed with BRGM as follows:

If you are interested in learning about how we can help you achieving your goals with our Open Source products and professional services, make sure to visit us and talk to Nuno, he is a nice guy :).

See you in Helsinki!

The GeoSolutions team,
Categories: OSGeo Planet

Jackie Ng: Announcing: mapguide-react-layout 0.12.4

OSGeo Planet - Thu, 2019-10-17 14:08
Since porting the Maestro API over to target .net standard and making the library truly cross-platform, the SDK story of the Maestro API was left in an somewhat undefined state. If you wanted to use the Maestro API for your own applications, where do you start?

For many milestones since that migration, I have intentionally side-stepped from answering that question until now. For the next milestone of MapGuide Maestro we'll be re-activating the Maestro SDK story in the form of a separate repository that contains:

  • Various code samples using the Maestro API
  • Source code template for the "Local Native" connection provider that wraps the official MapGuide .net API with instructions on how to roll your own build of this provider
So as a result, I've been re-vamping some of the code samples, especially usage in your own web applications. The last time I touched this code, it was all ASP.net Web Forms, not exactly a shining example of how best to use the Maestro API in your own web application in our current year.
Obviously, this means we need code samples that demonstrate usage of the Maestro API in ASP.net core. So in the process of building this modern code sample, I found some interesting challenges. 
Firstly, an ASP.net core application runs on its own webserver (Kestrel or IIS express). Our mapagent and built-in viewers are hosted on Apache or your local IIS. Even though in development they would both be on localhost, the web servers listen on different ports, meaning the same-origin policy is in play, complicating integration.
After some deliberation, I've decided that rather than try to embed the existing AJAX viewer in an iframe (which is what the old webforms sample did), I'll eat my own dogfood and just use the mapguide-react-layout as the viewer for the new asp.net core sample and set it up to talk to the existing mapagent of your MapGuide installation. This approach requires enabling CORS to make the mapagent accessible from a different origin. I figured out how this is actually done, which I'll show you in another blog post.
So with this main challenge addressed, I launched the work-in-progress asp.net core sample with the mapguide-react-layout viewer, and I get this problem.
For some context, this code sample does the following:
  1. Create a new session id
  2. Create a new web layout on-the-fly that sets up the task pane to point to our custom landing page of code samples
  3. Save this web layout into a session repository and then render the MVC view instructing the embedded mapguide-react-layout viewer to load from this weblayout and session id
It turns out that mapguide-react-layout misinterpreted this initial state and tries to load the viewer as though the user manually refreshed the browser (the URL state recovery feature introduced in 0.11) and assumes that a runtime map already exists
This was clearly a bug and since I needed this viewer to behave properly in the context of a new code sample for a re-activated SDK story for the next milestone release of MapGuide Maestro, this has been the longest block of text to segue into ...
... Announcing a new bugfix release of mapguide-react-layout :)
This release also fixes the font icons so they aren't a scrambled mess and fixes some minor warnings around some of the libraries we're using.
Project Home PageDownloadmapguide-react-layout on npm
Categories: OSGeo Planet

CARTO Blog: CARTO's Data Observatory 2.0, now powered by Google BigQuery

OSGeo Planet - Wed, 2019-10-16 09:00
Today, at the Spatial Data Science Conference, we presented the recently launched Data Observatory 2.0 (DO). A new platform to discover and consume location data for spatia...
Categories: OSGeo Planet

Fernando Quadro: Curso Online de GeoServer em Dezembro

OSGeo Planet - Tue, 2019-10-15 14:36

Caros leitores,

Quero convidá-los a participarem do Curso Online de GeoServer que estarei ministrando pela GEOCURSOS. O objetivo do curso é que você aprenda a disponibilizar, compartilhar e editar dados geográficos na internet com o GeoServer.

No curso serão abordados tópicos como: configuração de dados, criação de estilo com SLD, padrões OGC, interface administrativa (web), visualização cartográfica com OpenLayers, REST API, Segurança, entre outros.

O curso ocorrerá entre os dias 03 e 12 de dezembro (terças, quartas e quintas) das 20:00 as 22:00 (horário de Brasília).

Aqueles que poderem divulgar para seus contatos, agradeço. Quem quiser saber mais informações sobre o curso, pode obtê-las nos seguintes links:

Categories: OSGeo Planet

MapTiler: OpenStreetMap in WGS84

OSGeo Planet - Tue, 2019-10-15 11:00
Thumb

Global maps based on OpenStreetMap in WGS84 map projection are available on MapTiler Cloud via maps API. This complements the already existing maps in Web Mercator projection, which is de-facto the industry standard.

Why there are so many map projections?

Earth is not flat. Therefore, we need to mathematically solve the issue of projecting a globe into 2D space. It is possible to do in many ways, but all solutions, which are called map projections, have pros and cons.

Over time, Web Mercator become de-facto the industry standard. However, like any other map projections, it also has downsides: the most visible one is the distortion of sizes. Areas near poles are displayed much bigger while equatorial zone appears much smaller than in reality.

Various local/national coordinate systems were created because many maps were historically showing only limited territory. Therefore, they use projection which fits best to a specific territory. Local coordinate systems are still used by governments and required for official maps.

Some of the map projections

Some of the map projections. Image ©Tobias Jung CC BY-SA 4.0

Vector and raster OSM tiles in EPSG:4326

To fulfill specific needs, MapTiler Cloud is now adding base maps derived from OpenStreetMap in alternative coordinate systems. Base maps are available in WGS84.

https://api.maptiler.com/tiles/v3-4326/{z}/{x}/{y}.pbf?key={YOUR-OWN-KEY}

There is an OpenLayers 6 vector viewer code snippet, raster tiles rendered on-demand, WMTS service for use in desktop GIS software and static maps API. 

Maps in Lambert, Rijksdriehoekstelsel and other national coordinate systems

From the local coordinate systems, French Lambert, Dutch Rijksdriehoekstelsel are available and many others will come soon!

MapTiler Cloud is also able to host maps in any coordinate system with EPSG code. Just upload your map in GeoPackage format or create one with the new MapTiler Desktop 10.2.

OpenStreetMap in French Lambert and Dutch Rijksdriehoekstelsel map projections

OpenStreetMap in French Lambert and Dutch Rijksdriehoekstelsel map projections

Free maps API with local coordinate systems

Start using maps in WGS84, Lambert or Rijksdriehoekstelsel for free via MapTiler Cloud.

Categories: OSGeo Planet

gvSIG Team: Program of the 15th International gvSIG Conference is now available

OSGeo Planet - Mon, 2019-10-14 16:27

The program of the 15th International gvSIG Conference is now available. It includes a a great number of presentations and several free workshops for both users and developers.

Conference will take place from November 6th to 8th at School of Engineering in Geodesy, Cartography and Surveying (Universitat Politècnica de València, Spain), and registrations have to be done from the form available at the event website.

Registration for workshops will be independent, and they will be able to be made from October 15th. All the workshops information will be published at gvSIG Blog soon.

Categories: OSGeo Planet

gvSIG Team: Ya está disponible el programa de las 15as Jornadas Internacionales gvSIG

OSGeo Planet - Mon, 2019-10-14 16:21

El programa de las 15as Jornadas Internacionales gvSIG está ya disponible con una gran variedad de ponencias y varios talleres gratuitos, tanto para usuarios como para desarrolladores.

Las jornadas tendrán lugar del 6 al 8 de noviembre en la Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica y Topográfica (Universitat Politècnica de València, España), y para poder asistir es necesario inscribirse previamente desde el formulario habilitado en la web del evento. Se recomienda no esperar al último momento, ya que las salas cuentan con un aforo limitado.

Para los talleres gratuitos se deberá realizar una inscripción independiente, que podrá realizarse a partir del día 15 de octubre. Toda la información relativa a los mismos la podréis encontrar en el blog de gvSIG.

Categories: OSGeo Planet

Oslandia: (Fr) Rechercher une adresse avec QGIS

OSGeo Planet - Mon, 2019-10-14 09:14

Sorry, this entry is only available in French.

Categories: OSGeo Planet

PostGIS Development: PostGIS 3.0.0rc2

OSGeo Planet - Sun, 2019-10-13 00:00

The PostGIS development team is pleased to release PostGIS 3.0.0rc2. This will be the final RC before release.

This release works with PostgreSQL 9.5-12 and GEOS >= 3.6

Best served with PostgreSQL 12 , GEOS 3.8.0 and pgRouting 3.0.0-alpha.

Continue Reading by clicking title hyperlink ..
Categories: OSGeo Planet

XYCarto: Experimenting with Hydrological Analysis using TauDEM

OSGeo Planet - Thu, 2019-10-10 21:47

Blue Rivers Ordered

Over the past few years, I’ve played around with developing ordered rivers networks for different projects. I am not an expert in hydrology, but I can get close for cartographic purposes. I am an expert; however, in asking for help from those who know best and I rely on a lot of very smart people to guide me on my journey.

Recently, I decided to put together a visualization of ordered rivers for New Zealand. I came across a very nice data set offered through the Ministry for the Environment via the Koordinates website and thought I’d like to put it to use.

The rivers vis project made me wonder if I could build this base dataset myself using some of the recently released elevation data sets via the LINZ Data Service. The short answer to my question is “sorta”. Doing it open source is not an issue, but building an accurate ordered river centerline network is another story. This is a task I cannot take on as a solo project right now, but I could do a little experimentation. Below, I’ll offer some of methods and things I learned along the way.

Tools and Data

The method I tested used TauDEM and a 1m DEM raster accessed from the LINZ Data Service. I down sampled the DEM to 2m and 5m resolutions and used small areas for testing. Finding and open source tool was easy. I sorted through a few available methods and finally landed on “Terrain Analysis Using Digital Elevation Models” (TauDEM). There are additional methods through GRASS and SAGA GIS. I chose TauDEM because I never used it before.

Method Tested

To my knowledge, there is no open source tool where a person can put in a DEM and get a networked rivers centerline vector out the other side. It requires a number of steps to achieve your goal.

The basic run down to process the DEM is to:

  1. Fill sinks
  2. Determine flow directions
  3. Determine watersheds
  4. Determine flow accumulation
  5. Stream classification
  6. Export to vector

TauDEM does require a few extra steps to complete the process, but these steps are explained in the documentation of the tool. It was more about keeping all my variables in the right places and using them at the right time. I recommend using the variable names TauDEM provides.

BASH script here

Click the arrow to the left to view the full BASH script below:

#!bin/bash #Rough sketch for building river centerlines. Rasters have been clipped prior BASEPATH=/dir/path/to/base raster_list=$( find $BASEPATH -name "*.tif" ) taudem_outputs=/dir/path/to/outputs reso=resolution_number for i in $raster_list do

INPUT_RASTER=$i file_name=$( basename $i ) strip_input_extension=$( echo $file_name | sed 's/.tif//' ) reso_name=$taudem_outputs/${strip_input_extension}_${reso}res gdal_translate -tr $reso $reso -of GTiff $i $reso_name.tif fel=${reso_name}_fel.tif p=${reso_name}_p.tif sd8=${reso_name}_sd8.tif ad8=${reso_name}_ad8.tif ang=${reso_name}_ang.tif slp=${reso_name}_slp.tif sca=${reso_name}_sca.tif sa=${reso_name}_sa.tif ssa=${reso_name}_ssa.tif src=${reso_name}_src.tif ord=${reso_name}_strahlerorder.tif tree=${reso_name}_tree.dat coord=${reso_name}_coord.dat net=${reso_name}_network.shp w=${reso_name}_watershed.tif processed_input_file=$reso_name.tif #TauDEM Commands mpiexec -n 8 pitremove -z $processed_input_file -fel $fel mpiexec -n 8 d8flowdir -fel $fel -p $p -sd8 $sd8 mpiexec -n 8 aread8 -p $p -ad8 $ad8 -nc mpiexec -n 8 dinfflowdir -fel $fel -ang $ang -slp $slp mpiexec -n 8 areadinf -ang $ang -sca $sca -nc mpiexec -n 8 slopearea -slp $slp -sca $sca -sa $sa mpiexec -n 8 d8flowpathextremeup -p $p -sa $sa -ssa $ssa -nc mpiexec -n 8 threshold -ssa $ssa -src $src mpiexec -n 8 streamnet -fel $fel -p $p -ad8 $ad8 -src $src -ord $ord -tree $tree -coord $coord -net $net -w $w done

The script is a rough sketch, but does get results.

Challenges in the Process

One major challenge for this project was the size of the input DEM and my computers available RAM. I work primarily off a laptop. It’s a good machine but no match for a proper server set up with some spacious RAM. My laptop struggled with the large hi-resolution DEMs, so I needed to down-sample the images and choose a smaller test area to get it to work.

Clip the tiff with gdal_translate -projwin and down sample with -tr

gdal_translate -tr xres yres -projwin ulx uly lrx lry input.tif output.tif

The second challenge came up because I used a bounding box to clip my test regions. I recommend not doing this and instead clip your regions using a watershed boundary. Having square shapes for your test regions will give you very inaccurate and unhelpful results. For example, major channels in your DEM will be cut at the edges of your raster. You will not get accurate results.

Clipping a raster using a shapefile, like a watershed boundary, can be achieved using gdalwarp.

gdalwarp –cutline input.shp input.tif output.tif

Results

I ran my process and QCed the results against Aerial Imagery and a hillshade I developed from the DEM. The first run gave me good enough results to know I have a lot of work to do, but I did manage to develop a process I was happy with. The tool did a great job, but the accuracy of the DEM was a little more challenging. It’s a start. I captured a good number of river channels despite my incorrect usage of a square DEM, learned a lot about how DEM resolution affects outputs, and gained knowledge around how to spot troublesome artifacts.

Well Defined ChannelsImg 1: River capture in well defined channel.

From this experiment, there are a few ideas I’d like to explore further:

1. Accuracy of the DEM. The particular DEM I worked with had a number of ‘dams’ in the flows. Notably, bridges, culverts, vegetation artifacts, and other general errors that caused water to flow in interesting directions. When working with a data set like this, I am curious how manage these artifacts.

Road issueImg 1: River diversion at road.

Artifact issueImg 1: River diversion at culvert or bridge.

2. How to go beyond borders. This analysis can be broken down by watershed, but it will be necessary to link the outflows of those watersheds to the next for accurate results.

Edge issueImg 1: Flow not captured at edge.

3. As DEMs are released with better resolution, there is a need for scaled up computing power. The process needs a large amount of RAM. What is the best computational set up for capturing the largest area?

4. Did I do this correctly? I perform this task about once every two years and usually weekends when the surf is flat and the garden is weeded, so I am not an expert. There is a lot more research to be done to determine if I am using the tools to the best of their abilities.

Categories: OSGeo Planet

CARTO Blog: Spatial Data Simplified: Introducing Data Observatory 2.0

OSGeo Planet - Thu, 2019-10-10 09:00
Data is an essential ingredient for spatial analysis—which is predicated on access to your own data, plus useful third-party data. In the end, spatial analysis is about put...
Categories: OSGeo Planet

CARTO Blog: CARTO and SafeGraph Team Up for Behavior Pattern Insights

OSGeo Planet - Wed, 2019-10-09 09:00
Today, perhaps more than ever before, people are on the move. Transitioning between roles as consumers, parents, employees, tourists, and more means making a lot of stops i...
Categories: OSGeo Planet

PostGIS Development: PostGIS 3.0.0rc1

OSGeo Planet - Tue, 2019-10-08 00:00

The PostGIS development team is pleased to release PostGIS 3.0.0rc1.

This release works with PostgreSQL 9.5-12 and GEOS >= 3.6

Best served with PostgreSQL 12 , GEOS 3.8.0rc2 and pgRouting 3.0.0-alpha.

Continue Reading by clicking title hyperlink ..
Categories: OSGeo Planet

Oslandia: QGIS Versioning now supports foreign keys!

OSGeo Planet - Mon, 2019-09-30 07:52

QGIS-versioning is a QGIS and PostGIS plugin dedicated to data versioning and history management. It supports :

  • Keeping full table history with all modifications
  • Transparent access to current data
  • Versioning tables with branches
  • Work offline
  • Work on a data subset
  • Conflict management with a GUI

QGIS versioning conflict management

In a previous blog article we detailed how QGIS versioning can manage data history, branches, and work offline with PostGIS-stored data and QGIS. We recently added foreign key support to QGIS versioning so you can now historize any complex database schema.

This QGIS plugin is available in the official QGIS plugin repository, and you can fork it on GitHub too !

Foreign key support TL;DR

When a user decides to historize its PostgreSQL database with QGIS-versioning, the plugin alters the existing database schema and adds new fields in order to track down the different versions of a single table row. Every access to these versioned tables are subsequently made through updatable views in order to automatically fill in the new versioning fields.

Up to now, it was not possible to deal with primary keys and foreign keys : the original tables had to be constraints-free.  This limitation has been lifted thanks to this contribution.

To make it simple, the solution is to remove all constraints from the original database and transform them into a set of SQL check triggers installed on the working copy databases (SQLite or PostgreSQL). As verifications are made on the client side, it’s impossible to propagate invalid modifications on your base server when you “commit” updates.

Behind the curtains

When you choose to historize an existing database, a few fields are added to the existing table. Among these fields, versioning_ididentifies  one specific version of a row. For one existing row, there are several versions of this row, each with a different versioning_id but with the same original primary key field. As a consequence, that field cannot satisfy the unique constraint, so it cannot be a key, therefore no foreign key neither.

We therefore have to drop the primary key and foreign key constraints when historizing the table. Before removing them, constraints definitions are stored in a dedicated table so that these constraints can be checked later.

When the user checks out a specific table on a specific branch, QGIS-versioning uses that constraint table to build constraint checking triggers in the working copy. The way constraints are built depends on the checkout type (you can checkout in a SQLite file, in the master PostgreSQL database or in another PostgreSQL database).

What do we check ?

That’s where the fun begins ! The first thing we have to check is key uniqueness or foreign key referencing an existing key on insert or update. Remember that there are no primary key and foreign key anymore, we dropped them when activating historization. We keep the term for better understanding.

You also have to deal with deleting or updating a referenced row and the different ways of propagating the modification : cascade, set default, set null, or simply failure, as explained in PostgreSQL Foreign keys documentation .

Nevermind all that, this problem has been solved for you and everything is done automatically in QGIS-versioning. Before you ask, yes foreign keys spanning on multiple fields are also supported.

What’s new in QGIS ?

You will get a new message you probably already know about, when you try to make an invalid modification committing your changes to the master database

Error when foreign key constraint is violated

Partial checkout

One existing Qgis-versioning feature is partial checkout. It allows a user to select a subset of data to checkout in its working copy. It avoids downloading gigabytes of data you do not care about. You can, for instance, checkout features within a given spatial extent.

So far, so good. But if you have only a part of your data, you cannot ensure that modifying a data field as primary key will keep uniqueness. In this particular case, QGIS-versioning will trigger errors on commit, pointing out the invalid rows you have to modify so the unique constraint remains valid.

Error when committing non unique key after a partial checkout

Tests

There is a lot to check when you intend to replace the existing constraint system with your own constraint system based on triggers. In order to ensure QGIS-Versioning stability and reliability, we put some special effort on building a test set that cover all use cases and possible exceptions.

What’s next

There is now no known limitations on using QGIS-versioning on any of your database. If you think about a missing feature or just want to know more about QGIS and QGIS-versioning, feel free to contact us at infos+data@oslandia.com. And please have a look at our support offering for QGIS.

Many thanks to eHealth Africa who helped us develop these new features. eHealth Africa is a non-governmental organization based in Nigeria. Their mission is to build stronger health systems through the design and implementation of data-driven solutions.

Categories: OSGeo Planet
Syndicate content