OSGeo Planet

GeoNode: Other Languages

OSGeo Planet - Thu, 2017-09-14 11:41
Categories: OSGeo Planet

GeoNode: Ssl

OSGeo Planet - Thu, 2017-09-14 11:41
Categories: OSGeo Planet

GeoNode: Troubleshoot

OSGeo Planet - Thu, 2017-09-14 11:41
Categories: OSGeo Planet

GeoNode: Customize Geonode

OSGeo Planet - Thu, 2017-09-14 11:41
Categories: OSGeo Planet

GeoNode: Production Geonode

OSGeo Planet - Thu, 2017-09-14 11:41
Categories: OSGeo Planet

GeoNode: Install Geonode

OSGeo Planet - Thu, 2017-09-14 11:41
Categories: OSGeo Planet

PostGIS Development: PostGIS 2.4.0rc1 Released

OSGeo Planet - Wed, 2017-09-13 00:00

The PostGIS development team is pleased to announce the release of PostGIS 2.4.0rc1. Best served with PostgreSQL 10beta4 or rc1 which is coming soon and pgRouting 2.5.0rc 2.5.0 release is eminent. See the full list of changes in the news file.

We encourage everyone to test and in particular package maintainers to insure no surprises at final release time.


If you are upgrading from an existing PostGIS install, make sure after installing PostGIS 2.4.0rc1 binaries to do.


— if you have additional postgishy extensions below upgrade them too

ALTER EXTENSION postgis_sfcgal UPDATE; ALTER EXTENSION postgis_topology UPDATE; ALTER EXTENSION postgis_tiger_geocoder UPDATE; --pgRouting 2.5.0 is imminent ALTER EXTENSION pgrouting UPDATE;

In order to have Map Box Vector Tiles support enabled, you’ll need to compile with protobuf support and pkg-config to verify the correct minimum version of protobuf-c see protobuf for details. ST_FrechetDistance function will not be enabled if PostGIS is compiled with lower than GEOS 3.7.0. GEOS 3.7.0 will probably not be released before PostGIS 2.4.0 is out.

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

gvSIG Team: Disponible grabación del webinar “Geomática libre para gestión municipal. La Suite gvSIG y casos de uso”

OSGeo Planet - Tue, 2017-09-12 16:14

Ya tenéis disponible el vídeo del webinar “Geomática libre para gestión municipal. La Suite gvSIG y casos de uso” impartido como parte de la iniciativa GeoForAll Iberoamérica.

Los apartados que se recorren durante el webinar son:

  • Gestión municipal y componente territorial. ¿Por qué necesitamos usar SIG?
  • Diferencias entre SIG y CAD
  • Componentes de un SIG municipal
  • Suite gvSIG. Catálogo de soluciones de geomática libre
  • Curso gratuito de gvSIG aplicado a gestión municipal

Os dejamos con el vídeo:

Filed under: geoportal, gvSIG Desktop, gvSIG Mobile, gvSIG Online, gvSIG Suite, IDE, software libre, spanish Tagged: ayuntamientos, ciudades, GeoForAll, gestión municipal, Infraestructuras de Datos Espaciales, webinar
Categories: OSGeo Planet

Free and Open Source GIS Ramblings: Drive-time Isochrones from a single Shapefile using QGIS, PostGIS, and Pgrouting

OSGeo Planet - Mon, 2017-09-11 20:01

This is a guest post by Chris Kohler .


This guide provides step-by-step instructions to produce drive-time isochrones using a single vector shapefile. The method described here involves building a routing network using a single vector shapefile of your roads data within a Virtual Box. Furthermore, the network is built by creating start and end nodes (source and target nodes) on each road segment. We will use Postgresql, with PostGIS and Pgrouting extensions, as our database. Please consider this type of routing to be fair, regarding accuracy, as the routing algorithms are based off the nodes locations and not specific addresses. I am currently working on an improved workflow to have site address points serve as nodes to optimize results. One of the many benefits of this workflow is no financial cost to produce (outside collecting your roads data). I will provide instructions for creating, and using your virtual machine within this guide.

Steps:–Getting Virtual Box(begin)–

Intro 1. Download/Install Oracle VM(https://www.virtualbox.org/wiki/Downloads)

Intro 2. Start the download/install OSGeo-Live 11(https://live.osgeo.org/en/overview/overview.html).

Pictures used in this workflow will show 10.5, though version 11 can be applied similarly. Make sure you download the version: osgeo-live-11-amd64.iso. If you have trouble finding it, here is the direct link to the download (https://sourceforge.net/projects/osgeo-live/files/10.5/osgeo-live-10.5-amd64.iso/download)
Intro 3. Ready for virtual machine creation: We will utilize the downloaded OSGeo-Live 11 suite with a virtual machine we create to begin our workflow. The steps to create your virtual machine are listed below. Also, here are steps from an earlier workshop with additional details with setting up your virtual machine with osgeo live(http://workshop.pgrouting.org/2.2.10/en/chapters/installation.html).

1.  Create Virutal Machine: In this step we begin creating the virtual machine housing our database.

Open Oracle VM VirtualBox Manager and select “New” located at the top left of the window.


Then fill out name, operating system, memory, etc. to create your first VM.


2. Add IDE Controller:  The purpose of this step is to create a placeholder for the osgeo 11 suite to be implemented. In the virtual box main window, right-click your newly-created vm and open the settings.


In the settings window, on the left side select the storage tab.

Find “adds new storage controller” button located at the bottom of the tab. Be careful of other buttons labeled “adds new storage attachment”! Select “adds new storage controller” button and a drop-down menu will appear. From the top of the drop-down select “Add IDE Controller”.



You will see a new item appear in the center of the window under the “Storage Tree”.

3.  Add Optical Drive: The osgeo 11 suite will be implemented into the virtual machine via an optical drive. Highlight the new controller IDE you created and select “add optical drive”.


A new window will pop-up and select “Choose Disk”.


Locate your downloaded file “osgeo-live 11 amd64.iso” and click open. A new object should appear in the middle window under your new controller displaying “osgeo-live-11.0-amd64.iso”.


Finally your virtual machine is ready for use.
Start your new Virtual Box, then wait and follow the onscreen prompts to begin using your virtual machine.


–Getting Virtual Box(end)—

4. Creating the routing database, and both extensions (postgis, pgrouting): The database we create and both extensions we add will provide the functions capable of producing isochrones.

To begin, start by opening the command line tool (hold control+left-alt+T) then log in to postgresql by typing “psql -U user;” into the command line and then press Enter. For the purpose of clear instruction I will refer to database name in this guide as “routing”, feel free to choose your own database name. Please input the command, seen in the figure below, to create the database:


You can use “\c routing” to connect to the database after creation.


The next step after creating and connecting to your new database is to create both extensions. I find it easier to take two-birds-with-one-stone typing “psql -U user routing;” this will simultaneously log you into postgresql and your routing database.

When your logged into your database, apply the commands below to add both extensions




5. Load shapefile to database: In this next step, the shapefile of your roads data must be placed into your virtual machine and further into your database.

My method is using email to send myself the roads shapefile then download and copy it from within my virtual machines web browser. From the desktop of your Virtual Machine, open the folder named “Databases” and select the application “shape2pgsql”.


Follow the UI of shp2pgsql to connect to your routing database you created in Step 4.


Next, select “Add File” and find your roads shapefile (in this guide we will call our shapefile “roads_table”) you want to use for your isochrones and click Open.


Finally, click “Import” to place your shapefile into your routing database.

6. Add source & target columns: The purpose of this step is to create columns which will serve as placeholders for our nodes data we create later.

There are multiple ways to add these columns into the roads_table. The most important part of this step is which table you choose to edit, the names of the columns you create, and the format of the columns. Take time to ensure the source & target columns are integer format. Below are the commands used in your command line for these functions.

ALTER TABLE roads_table ADD COLUMN "source" integer; ALTER TABLE roads_table ADD COLUMN "target" integer;



7. Create topology: Next, we will use a function to attach a node to each end of every road segment in the roads_table. The function in this step will create these nodes. These newly-created nodes will be stored in the source and target columns we created earlier in step 6.

As well as creating nodes, this function will also create a new table which will contain all these nodes. The suffix “_vertices_pgr” is added to the name of your shapefile to create this new table. For example, using our guide’s shapefile name , “roads_table”, the nodes table will be named accordingly: roads_table_vertices_pgr. However, we will not use the new table created from this function (roads_table_vertices_pgr). Below is the function, and a second simplified version, to be used in the command line for populating our source and target columns, in other words creating our network topology. Note the input format, the “geom” column in my case was called “the_geom” within my shapefile:

pgr_createTopology('roads_table', 0.001, 'geom', 'id', 'source', 'target', rows_where := 'true', clean := f)


Here is a direct link for more information on this function: http://docs.pgrouting.org/2.3/en/src/topology/doc/pgr_createTopology.html#pgr-create-topology

Below is an example(simplified) function for my roads shapefile:

SELECT pgr_createTopology('roads_table', 0.001, 'the_geom', 'id')

8. Create a second nodes table: A second nodes table will be created for later use. This second node table will contain the node data generated from pgr_createtopology function and be named “node”. Below is the command function for this process. Fill in your appropriate source and target fields following the manner seen in the command below, as well as your shapefile name.

To begin, find the folder on the Virtual Machines desktop named “Databases” and open the program “pgAdmin lll” located within.


Connect to your routing database in pgAdmin window. Then highlight your routing database, and find “SQL” tool at the top of the pgAdmin window. The tool resembles a small magnifying glass.


We input the below function into the SQL window of pgAdmin. Feel free to refer to this link for further information: (https://anitagraser.com/2011/02/07/a-beginners-guide-to-pgrouting/)

CREATE TABLE node AS   SELECT row_number() OVER (ORDER BY foo.p)::integer AS id,          foo.p AS the_geom   FROM (           SELECT DISTINCT roads_table.source AS p FROM roads_table      UNION      SELECT DISTINCT roads_table.target AS p FROM roads_table   ) foo   GROUP BY foo.p;


  1.  Create a routable network: After creating the second node table from step 8,  we will combine this node table(node) with our shapefile(roads_table) into one, new, table(network) that will be used as the routing network. This table will be called “network” and will be capable of processing routing queries.  Please input this command and execute in SQL pgAdmin tool as we did in step 8. Here is a reference for more information:(https://anitagraser.com/2011/02/07/a-beginners-guide-to-pgrouting/)   



CREATE TABLE network AS   SELECT a.*, b.id as start_id, c.id as end_id   FROM roads_table AS a      JOIN node AS b ON a.source = b.the_geom      JOIN node AS c ON a.target = c.the_geom;


10. Create a “noded” view of the network:  This new view will later be used to calculate the visual isochrones in later steps. Input this command and execute in SQL pgAdmin tool.

CREATE OR REPLACE VIEW network_nodes AS SELECT foo.id, st_centroid(st_collect(foo.pt)) AS geom FROM ( SELECT network.source AS id, st_geometryn (st_multi(network.geom),1) AS pt FROM network UNION SELECT network.target AS id, st_boundary(st_multi(network.geom)) AS pt FROM network) foo GROUP BY foo.id;


11.​ Add column for speed:​ This step may, or may not, apply if your original shapefile contained a field of values for road speeds.

In reality a network of roads will typically contain multiple speed limits. The shapefile you choose may have a speed field, otherwise the discrimination for the following steps will not allow varying speeds to be applied to your routing network respectfully.

If values of speed exists in your shapefile we will implement these values into a new field, “traveltime“, that will show rate of travel for every road segment in our network based off their geometry. Firstly, we will need to create a column to store individual traveling speeds. The name of our column will be “traveltime” using the format: ​double precision.​ Input this command and execute in the command line tool as seen below.

ALTER TABLE network ADD COLUMN traveltime double precision;


Next, we will populate the new column “traveltime” by calculating traveling speeds using an equation. This equation will take each road segments geometry(shape_leng) and divide by the rate of travel(either mph or kph). The sample command I’m using below utilizes mph as the rate while our geometry(shape_leng) units for my roads_table is in feet​. If you are using either mph or kph, input this command and execute in SQL pgAdmin tool. Below further details explain the variable “X”.

UPDATE network SET traveltime = shape_leng / X*60


How to find X​, ​here is an example​: Using example 30 mph as rate. To find X, we convert 30 miles to feet, we know 5280 ft = 1 mile, so we multiply 30 by 5280 and this gives us 158400 ft. Our rate has been converted from 30 miles per hour to 158400 feet per hour. For a rate of 30 mph, our equation for the field “traveltime”  equates to “shape_leng / 158400*60″. To discriminate this calculations output, we will insert additional details such as “where speed = 30;”. What this additional detail does is apply our calculated output to features with a “30” value in our “speed” field. Note: your “speed” field may be named differently.

UPDATE network SET traveltime = shape_leng / 158400*60 where speed = 30;

Repeat this step for each speed value in your shapefile examples:

UPDATE network SET traveltime = shape_leng / X*60 where speed = 45; UPDATE network SET traveltime = shape_leng / X*60 where speed = 55;

The back end is done. Great Job!

Our next step will be visualizing our data in QGIS. Open and connect QGIS to your routing database by right-clicking “PostGIS” in the Browser Panel within QGIS main window. Confirm the checkbox “Also list tables with no geometry” is checked to allow you to see the interior of your database more clearly. Fill out the name or your routing database and click “OK”.

If done correctly, from QGIS you will have access to tables and views created in your routing database. Feel free to visualize your network by drag-and-drop the network table into your QGIS Layers Panel. From here you can use the identify tool to select each road segment, and see the source and target nodes contained within that road segment. The node you choose will be used in the next step to create the views of drive-time.

12.Create views​: In this step, we create views from a function designed to determine the travel time cost. Transforming these views with tools will visualize the travel time costs as isochrones.

The command below will be how you start querying your database to create drive-time isochrones. Begin in QGIS by draging your network table into the contents. The visual will show your network as vector(lines). Simply select the road segment closest to your point of interest you would like to build your isochrone around. Then identify the road segment using the identify tool and locate the source and target fields. ​



Place the source or target field value in the below command where you see ​VALUE​, in all caps​.

This will serve you now as an isochrone catchment function for this workflow. Please feel free to use this command repeatedly for creating new isochrones by substituting the source value. Please input this command and execute in SQL pgAdmin tool.


CREATE OR REPLACE VIEW "​view_name" AS SELECT di.seq, di.id1, di.id2, di.cost, pt.id, pt.geom FROM pgr_drivingdistance('SELECT      gid::integer AS id, Source::integer AS source, Target::integer AS target,                                     Traveltime::double precision AS cost        FROM network'::text, ​VALUE::bigint, 100000::double precision, false, false) di(seq, id1, id2, cost) JOIN network_nodes pt ON di.id1 = pt.id;


13.Visualize Isochrone: Applying tools to the view will allow us to adjust the visual aspect to a more suitable isochrone overlay.

​After creating your view, a new item in your routing database is created, using the “view_name” you chose. Drag-and-drop this item into your QGIS LayersPanel. You will see lots of small dots which represent the nodes.

In the figure below, I named my view “take1“.


Each node you see contains a drive-time value, “cost”, which represents the time used to travel from the node you input in step 12’s function.


Start by installing the QGIS plug-in “Interpolation” by opening the Plugin Manager in QGIS interface.


Next, at the top of QGIS window select “Raster” and a drop-down will appear, select “Interpolation”.



A new window pops up and asks you for input.


Select your “​view”​ as the​ vector layer​, select ​”cost​” as your ​interpolation attribute​, and then click “Add”.


A new vector layer will show up in the bottom of the window, take care the type is Points“. For output, on the other half of the window, keep the interpolation method as “TIN”, edit the ​output file​ location and name. Check the box “​Add result to project​”.

Note: decreasing the cellsize of X and Y will increase the resolution but at the cost of performance.

Click “OK” on the bottom right of the window.


A black and white raster will appear in QGIS, also in the Layers Panel a new item was created.


Take some time to visualize the raster by coloring and adjusting values in symbology until you are comfortable with the look.



14. ​Create contours of our isochrone:​ Contours can be calculated from the isochrone as well.

Find near the top of QGIS window, open the “Raster” menu drop-down and select Extraction → Contour.


Fill out the appropriate interval between contour lines but leave the check box “Attribute name” unchecked. Click “OK”.



15.​ Zip and Share:​ Find where you saved your TIN and contours, compress them in a zip folder by highlighting them both and right-click to select “compress”. Email the compressed folder to yourself to export out of your virtual machine.

Example Isochrone catchment for this workflow:

CREATE OR REPLACE VIEW "2022" AS SELECT di.seq, Di.id1, Di.id2, Di.cost,                           Pt.id, Pt.geom FROM pgr_drivingdistance('SELECT gid::integer AS id,                                       Source::integer AS source, Target::integer AS target, Traveltime::double precision AS cost FROM network'::text, 2022::bigint, 100000::double precision, false, false) di(seq, id1, id2, cost) JOIN netowrk_nodes pt ON di.id1 = pt.id;

References: Virtual Box ORACLE VM, OSGeo-Live 11  amd64 iso, Workshop FOSS4G Bonn(​http://workshop.pgrouting.org/2.2.10/en/index.html​),

Categories: OSGeo Planet

Jackie Ng: Not all quiet on the MapGuide Maestro front

OSGeo Planet - Fri, 2017-09-08 17:54
Just because MapGuide Maestro is a windows-only .net application does not mean the Maestro API driving it (and your own custom MapGuide applications using the Maestro API) need to bear the same platform constraint.
We have .net Core to run .net code cross-platform. We have .net standard as a specification for building truly cross-platform .net class libraries. The API surface used by the MaestroAPI highly intersects with what is provided by .net standard. All the signs say that we have the means to make MaestroAPI a truly cross-platform .net standard compatible class library, and that we should probably do it.
So since the last release, my main focus has been to port the Maestro API to target .net standard 2.0, thus expanding its potential reach beyond full .net Framework on windows.
It is most encouraging to see this on a Linux terminal after all this effort.

The tale of getting to this point is worthy of a blog post itself. The internet could do with more .net standard porting stories.
Categories: OSGeo Planet

Jackie Ng: Announcing: mapguide-react-layout 0.10

OSGeo Planet - Thu, 2017-09-07 16:14
Here's a new release of mapguide-react-layout with a metric bucketload of new features.

QuickPlot now feature complete

As blogged previously, the final missing piece of the QuickPlot (capture box rotation) has been implemented, bringing this component to feature parity with the Fusion original. The rotation being controlled through a new numerical slider in the QuickPlot UI

Selection Panel sub-selection

Through creative use of QUERYMAPFEATURES, the Selection Panel can now support highlighting selected features within a selection set. Useful for visually sifting through big selections.

Persistent Load Indicator

A user raised a very valid point that if you don't have the navigator (aka. Zoom slider) active, there is no actual load indicator visible as the only place we have a load indicator is on the navigator component itself.

This release adds a persistent load indicator that is represented by a thin blue animated bar at the top.

Blink and you might miss it in the GIF below.

Coordinate Tracker

This release includes the missing Coordinate Tracker widget.

Init Warnings

Any warnings that we encounter during viewer initialization are now collected and displayed at the end. Here's some warnings that could be shown.

API enhancements

  • NPM module: Now supports custom redux application state and reducers. Check out the updated example to see how this is done.
  • NPM module: Selection Panel supports custom rendering of the body when a selected feature is to be displayed (if you don't like the default table-based attribute display)
  • NPM module: There is now a flat "mapguide-react-layout" module where you can import everything from, instead of having to import everything piecemeal.
  • Browser Globals: You can now specify locale as a mount option
  • Browser Globals: You can now specify a post-init hook function as a mount option
  • Browser Globals: Redux getState and dispatch functions exposed through MapGuide.Application class
  • Browser Globals: All dispatchable redux actions available under MapGuide.Actions namespace
  • Browser Globals: You can now retrieve and invoke registered commands through getCommand()
Other Changes
  • OpenLayers updated to 4.3.2
  • Blueprint updated to 1.27
  • Now built with TypeScript 2.5
  • Removed es6-promise from the viewer bundle. All template HTML files script include the es6-promise polyfill separately so that the viewer will continue to work in Internet Explorer
  • Ported across the view size status bar component
  • Full extension property support for the CursorPosition widget

Project Home Page
mapguide-react-layout on npm
Categories: OSGeo Planet

OSGeo News: GSoC 2017 Results

OSGeo Planet - Thu, 2017-09-07 13:41
Categories: OSGeo Planet

OSGeo News: GSoC 2017 Results

OSGeo Planet - Thu, 2017-09-07 13:41
Categories: OSGeo Planet

gvSIG Team: 1er Ciber Encuentro de Usuarios SIG. Conferencia gvSIG Desktop, Sistema de Información Geográfica Libre

OSGeo Planet - Thu, 2017-09-07 07:02

Ayer nuestro compañero Óscar Martínez participó en el 1er Ciber Encuentro de Usuarios SIG, impartiendo una conferencia centrada en gvSIG Desktop. Os dejamos con el vídeo de la ponencia.

Filed under: gvSIG Desktop, gvSIG Mobile, gvSIG Online, gvSIG Suite, software libre, spanish Tagged: webinar
Categories: OSGeo Planet

gvSIG Team: GeoForAll Iberoamérica presenta el webinar gratuito “Geomática libre para gestión municipal. La Suite gvSIG y casos de uso”

OSGeo Planet - Thu, 2017-09-07 06:29

GeoForAll Iberoamérica, iniciativa orientada a la difusión de la educación, el desarrollo, el uso y la investigación de Tecnologías Libres de Información Geográfica y Datos Geográficos Abiertos, anuncia su primer webinar gratuito “Geomática libre para gestión municipal. La Suite gvSIG y casos de uso” para el próximo martes día 12 de septiembre a las 15 horas UTC.

Es la administración local uno de los principales sectores donde el uso de los Sistemas de Información Geográfica adquiere todo su sentido. La realidad de la gestión municipal se manifiesta básicamente en el territorio, por lo que herramientas que nos permitan gestionar eficientemente la componente geográfica serán fundamentales para mejorar la gestión municipal.

Las características de soluciones como la Suite gvSIG, con aplicaciones web, de escritorio y móvil, permiten abordar con una mínima inversión y con garantías propias del software libre las necesidades relacionadas con el uso de información geoposicionada. En el presente webinar presentaremos sus características y aplicación a la gestión municipal. Y, además, al final del webinar daremos información relevante para los que quieran obtener formación gratuita relacionada con la temática.

Para apuntarse al webinar debéis utilizar el siguiente enlace:


En el propio enlace podréis comprobar la correspondiente hora local de la convocatoria (15 horas UTC).

Os animamos a que nos ayudéis a difundir este primer webinar que esperamos sirva para iniciar una larga serie.

Filed under: gvSIG Suite, software libre, spanish Tagged: administración local, ayuntamientos, gestión municipal, webinar
Categories: OSGeo Planet

gvSIG Team: La Asociación gvSIG participará en Visualizar’17: Migraciones

OSGeo Planet - Wed, 2017-09-06 10:38

El programa internacional de visualización de datos Visualizar celebra su décimo aniversario con un taller dedicado a las Migraciones, del 15 al 30 de septiembre en Madrid, organizado en colaboración con PorCausa.

El simposio abierto al público se llevará a cabo los días 15 y 16 de septiembre

Desde la Asociación gvSIG participaremos (sábado 16 a las 16:00 h) presentando la suite gvSIG y cómo este catálogo de soluciones libres puede ayudar a resolver las necesidades de visualización de datos con componente espacial, mostrando unos interesantes ejemplos en los que estamos trabajando relacionados con la temática del evento, las migraciones.

En 2005 de los 6.500 millones de seres humanos que había en nuestro planeta, se estima que un 3% de la población mundial (más de 190 millones) vivían en un país distinto del que les vio nacer. Los inmigrantes representaban el 1% de la población en Asia y Latinoamérica, el 2% en África, el 9% en Europa y el 14% en Norteamérica. Veremos como gvSIG puede ayudarnos a entender este fenómeno que no parece que vaya a ralentizarse.

Filed under: events, gvSIG Suite
Categories: OSGeo Planet

GIS for Thought: Storm Harvey QGIS Geometry Generator

OSGeo Planet - Wed, 2017-09-06 09:00

Storm Harvey produced some extremely high levels of rainfall. Some areas of Texas received over 50 inches of rain over 9 days.

The National Oceanic and Atmospheric Administration (NOAA) provided some really great real time datasets to map the progress of the storm.

Among these were:
Hourly Precipitation
Hurricane Path

From these we can produce a GIF of hourly precipitation:
Harvey Hourly Precipitation GIF

And total precipitation:
Hurricane Harvey Total Precipitation

Particularly the hurricane path was possible to create in QGIS using the Atlas Generator, and the excellent new:ish geometry generator. This can be found as an option for any layers symbology, as one of the renderers.

For my map I had a non spatial table that drove my atlas. This was a log table of all of the hours of precipitation I had loaded into my database. So I looped through each entry and showed the corresponding points of hourly precipitation for the corresponding hour. I also had hurricane path data as points for every 6 hours. So I could use the geometry generator to interpolate points in between known points.

While the query ended up being pretty long it is pretty straightforward.

It only needs to be run when the hour being generated does not end with a 00, 06, 12, or 18, because those are the positions I already know.

For the rest I need to generate two points. One for the previously known point, and one for the next known point.

Then I would create a line between those two points, measure the line, and place a point on the line x times one sixth of the way for the start of the line depending on the hour from the last known point.

Overall I am very impressed and happy with the result. With a bit of data defined rotation the storm progress looks great.

line_interpolate_point( Make_line( geometry( case when right(to_string(attribute(@atlas_feature , 'id')),2) IN ('00', '06', '12', '18') then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') ) else get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') - (attribute( @atlas_feature , 'id') % 100 % 6 )) end) , geometry( case when right(to_string(attribute(@atlas_feature , 'id')),2) IN ('00', '06', '12') then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') + 6 ) when right(to_string(attribute(@atlas_feature , 'id')),2) IN ('18') then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') + 100 - 18 ) when to_int(right(to_string(attribute(@atlas_feature , 'id')),2)) > 18 then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') - ((attribute( @atlas_feature , 'id') % 100 % 6) ) + 100 - 18) else get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') - ((attribute( @atlas_feature , 'id') % 100 % 6) ) + 6) end) ), length(Make_line(geometry( case when right(to_string(attribute(@atlas_feature , 'id')),2) IN ('00', '06', '12', '18') then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') ) else get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') - (attribute( @atlas_feature , 'id') % 100 % 6 )) end ) , geometry( case when right(to_string(attribute(@atlas_feature , 'id')),2) IN ('00', '06', '12') then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') + 6 ) when right(to_string(attribute(@atlas_feature , 'id')),2) IN ('18') then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') + 100 - 18 ) when to_int(right(to_string(attribute(@atlas_feature , 'id')),2)) > 18 then get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') - ((attribute( @atlas_feature , 'id') % 100 % 6) ) + 100 - 18) else get_feature( @layer_name , 'dtg', attribute( @atlas_feature , 'id') - ((attribute( @atlas_feature , 'id') % 100 % 6) ) + 6) end))) * ((attribute( @atlas_feature , 'id') % 100 % 6) * 0.16666666666666666))

Categories: OSGeo Planet

gvSIG Team: gvSIG Suite has been awarded at the “Helsinki NASA Europa Challenge”

OSGeo Planet - Wed, 2017-09-06 07:35

We’ve done it again. A new recognition. The gvSIG Suite has been awarded in Helsinki with the “NASA Europa Challenge”, the slogan of which was “Make Earth More Livable”.

During this year, at the gvSIG Association we’ve been working hard to create a catalog of products with gvSIG Desktop, gvSIG Online and gvSIG Mobile that allow to deal with any project with “geo” needs with this suite of open source solutions. It’s also allowing to extend our sectorial solutions: gvSIG Roads, gvSIG Educa, gvSIG Crime…

A main part of this work is based on having powerful 3D tools. And here we have bet on World Wind clearly, the NASA 3D software, and its different versions (Java World Wind for gvSIG Desktop, Web World Wind for gvSIG Online). A bet that has been supported by ESA (European Spatial Agency) in the last months, that has joined the project too.

This award is, at the same time, a recognition for all the persons and organizations that help to make gvSIG greater every day. And specially, from the gvSIG Association we want to recognize the bet of the Generalitat Valenciana on this World Wind and gvSIG integration.

Finally we promise that… in the next year there will be very interesting novelties in 3D tools in the gvSIG Suite.

Filed under: english, events, gvSIG Suite, premios, press office Tagged: Europa Challenge, NASA, World Wind
Categories: OSGeo Planet

gvSIG Team: La Suite gvSIG premiada en el “Helsinki NASA Europa Challenge”

OSGeo Planet - Tue, 2017-09-05 15:52

Lo hemos vuelto hacer. Un nuevo reconocimiento. La Suite gvSIG ha sido galardonada en Helsinki con el “NASA Europa Challenge” que este año llevaba por lema “Make Earth More Livable”.

Durante este año en la Asociación gvSIG hemos trabajado duro para ir construyendo un catálogo de productos con gvSIG Desktop, gvSIG Online y gvSIG Mobile que permitan abordar cualquier proyecto con necesidades “geo” con esta suite de soluciones en software libre. Esto, además, está permitiendo ir ampliando nuestras soluciones sectoriales: gvSIG Roads, gvSIG Educa, gvSIG Crime…

Una parte principal de este trabajo se fundamenta en disponer de unas potentes herramientas 3D. Y aquí hemos apostado claramente por World Wind, el software 3D de la NASA y sus distintas variantes (Java World Wind para gvSIG Desktop, Web World Wind para gvSIG Online). Una apuesta que se ha visto refrendada en los últimos meses por la ESA (Agencia Espacial Europea), que se ha sumado también al proyecto.

Este premio es, a su vez, un reconocimiento a todas las personas y organizaciones que ayudan a hacer más grande a gvSIG día a día (y esperamos que se sumen muchas más!). Y, especialmente, desde la Asociación gvSIG queremos reconocer la apuesta de la Generalitat Valenciana por la integración de World Wind y gvSIG.

Nos despedimos con una promesa…en el próximo año os esperan novedades muy interesantes en 3D en la Suite gvSIG.

Filed under: gvSIG Suite, premios, spanish Tagged: Europa Challenge, NASA, World Wind
Categories: OSGeo Planet

gvSIG Team: 9as Jornadas de Latinoamérica y Caribe de gvSIG: Ampliación del plazo de envío de comunicaciones

OSGeo Planet - Tue, 2017-09-05 13:15

Se ha ampliado el plazo de envío de resúmenes para las 9as Jornadas de Latinoamérica y Caribe de gvSIG, siendo la nueva fecha límite el día 14 de septiembre.

Las jornadas se celebrarán del 4 al 6 de octubre de 2017 en Santa María (Rio Grande do Sul – Brasil).

Os animamos a participar no solo como asistentes, sino como ponentes, presentando vuestros trabajos realizados sobre gvSIG. Toda la información sobre el envío de comunicaciones podéis encontrarla en la web del evento.

Recordamos también que sigue abierto el periodo de inscripción, siendo las jornadas totalmente gratuitas, incluidos los talleres. Podéis inscribiros desde el formulario de la web.

¡Os esperamos!

Filed under: community, events, portuguese, spanish, training Tagged: 9as Jornadas LAC
Categories: OSGeo Planet
Syndicate content