Vous pouvez lire le billet sur le blog La Minute pour plus d'informations sur les RSS !
Feeds
11749 items (7 unread) in 53 feeds

-
Décryptagéo, l'information géographique
-
Cybergeo
-
Revue Internationale de Géomatique (RIG)
-
SIGMAG & SIGTV.FR - Un autre regard sur la géomatique (2 unread)
-
Mappemonde
-
Imagerie Géospatiale
-
Toute l’actualité des Geoservices de l'IGN
-
arcOrama, un blog sur les SIG, ceux d ESRI en particulier
-
arcOpole - Actualités du Programme
-
Géoclip, le générateur d'observatoires cartographiques
-
Blog GEOCONCEPT FR

-
Géoblogs (GeoRezo.net)
-
Geotribu
-
Les cafés géographiques
-
UrbaLine (le blog d'Aline sur l'urba, la géomatique, et l'habitat)
-
Séries temporelles (CESBIO)
-
Datafoncier, données pour les territoires (Cerema)
-
Cartes et figures du monde
-
SIGEA: actualités des SIG pour l'enseignement agricole
-
Data and GIS tips
-
Neogeo Technologies
-
ReLucBlog
-
L'Atelier de Cartographie
-
My Geomatic
-
archeomatic (le blog d'un archéologue à l’INRAP)
-
Cartographies numériques (5 unread)
-
Veille cartographie
-
Makina Corpus
-
Oslandia
-
Camptocamp
-
Carnet (neo)cartographique
-
Le blog de Geomatys
-
GEOMATIQUE
-
Geomatick
-
CartONG (actualités)
Géomatique anglophone
-
21:03
Free and Open Source GIS Ramblings: Stand-alone PyQGIS scripts with OSGeo4W
sur Planet OSGeoPyQGIS scripts are great to automate spatial processing workflows. It’s easy to run these scripts inside QGIS but it can be even more convenient to run PyQGIS scripts without even having to launch QGIS. To create a so-called “stand-alone†PyQGIS script, there are a few things that need to be taken care of. The following steps show how to set up PyCharm for stand-alone PyQGIS development on Windows10 with OSGeo4W.
An essential first step is to ensure that all environment variables are set correctly. The most reliable approach is to go to
C:\OSGeo4W64\bin
(or wherever OSGeo4W is installed on your machine), make a copy ofqgis-dev-g7.bat
(or any other QGIS version that you have installed) and rename it topycharm.bat
:Instead of launching QGIS, we want that
pycharm.bat
launches PyCharm. Therefore, we edit the final line in the .bat file to start pycharm64.exe:In PyCharm itself, the main task to finish our setup is configuring the project interpreter:
First, we add a new “system interpreter†for Python 3.7 using the corresponding OSGeo4W Python installation.
To finish the interpreter config, we need to add two additional paths pointing to
QGIS\python
andQGIS\python\plugins
:That’s it! Now we can start developing our stand-alone PyQGIS script.
The following example shows the necessary steps, particularly:
- Initializing QGIS
- Initializing Processing
- Running a Processing algorithm
import sys from qgis.core import QgsApplication, QgsProcessingFeedback from qgis.analysis import QgsNativeAlgorithms QgsApplication.setPrefixPath(r'C:\OSGeo4W64\apps\qgis-dev', True) qgs = QgsApplication([], False) qgs.initQgis() # Add the path to processing so we can import it next sys.path.append(r'C:\OSGeo4W64\apps\qgis-dev\python\plugins') # Imports usually should be at the top of a script but this unconventional # order is necessary here because QGIS has to be initialized first import processing from processing.core.Processing import Processing Processing.initialize() QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms()) feedback = QgsProcessingFeedback() rivers = r'D:\Documents\Geodata\NaturalEarthData\Natural_Earth_quick_start\10m_physical\ne_10m_rivers_lake_centerlines.shp' output = r'D:\Documents\Geodata\temp\danube3.shp' expression = "name LIKE '%Danube%'" danube = processing.run( 'native:extractbyexpression', {'INPUT': rivers, 'EXPRESSION': expression, 'OUTPUT': output}, feedback=feedback )['OUTPUT'] print(danube)
-
18:29
GeoTools Team: GeoTools 21.0 Released
sur Planet OSGeoThe GeoTools is pleased to announce the release of GeoTools 21.0 our first release with both Java 11 and Java 8 compatibility: geotools-21.0-bin.zip geotools-21.0-doc.zip geotools-21.0-userguide.zip geotools-21.0-project.zip maven repository This is a stable release of GeoTools made in conjunction with GeoServer 2.15 and GeoWebCache 1.15. Release highlights: Works with both Java 11 and Java -
1:04
Cameron Shorter: Starting build cycle for OSGeoLive 13.0
sur Planet OSGeoAre you interested in joining our Open Source GIS experience? The build cycle for the next OSGeoLive release 13.0, is going to start. The final version is planned to be ready on 30th July 2019 in time for FOSS4G 2019Â in Bucharest. Have a look at our schedule for the detailed steps.
Till then we have many challenges - from simple to challenging, to help describe and train people in the value of Open Source GIS.
For this release, we hope to help OSGeo Community projects join OSGeoLive, and work out how we can keep within our size constraints.
We'd love to build a cloud version of OSGeoLive for this release. It would make OSGeoLive, and OSGeo software much more accessible. It seems elusively achievable, but we haven't worked it out yet. If you think you could help, we'd love to hear from you.
Get involvedAre you a programmer or packager with experience in one of the Open Source GIS applications. Are you a technical writer interested in making FOSS4G accessible to all? Are you interested in helping update translations to latest documents on Transifex.
Contact usIf you would like to add a new project, help us to get in the cloud or have another goal you would like to work on and get involved you are very welcome.
Please join the OSGeoLive mailing list or meet us on IRC at our weekly meeting.
About OSGeoLiveOSGeoLive is a ​Lubuntu based distribution of Geospatial Open Source Software, available via a Live DVD, Virtual Machine and USB. You can use OSGeoLive to try a wide variety of open source geospatial software without installing anything.
-
20:00
The Wine Regions of the World
sur Google Maps ManiaDo you know your Bordeaux from your Burgundy? Do you know which grape varieties are grown in which wine regions? Whether you can answer these questions or not, if you care about wine, you should have a look at the Biarritz Wine Academy Map. The Biarritz Wine Academy Map is an interactive map of the wine regions of the world. The Biarritz Wine Academy Map is very much a work in progress. At the -
18:00
The Inequality Atlas
sur Google Maps ManiaThe Atlas of Inequality is a new interactive map which shows the income inequality of customers who visit stores and establishments in the Boston metro area. The map shows the place inequality score of each establishment. This score shows how unequal the store's customer's incomes are. The atlas reveals some interesting patterns as to which type of establishment are most equal and which are
-
14:22
Free and Open Source GIS Ramblings: Easy Processing scripts comeback in QGIS 3.6
sur Planet OSGeoWhen QGIS 3.0 was release, I published a Processing script template for QGIS3. While the script template is nicely pythonic, it’s also pretty long and daunting for non-programmers. This fact didn’t go unnoticed and Nathan Woodrow in particular started to work on a QGIS enhancement proposal to improve the situation and make writing Processing scripts easier, while – at the same time – keeping in line with common Python styles.
While the previous template had 57 lines of code, the new template only has 26 lines – 50% less code, same functionality! (Actually, this template provides more functionality since it also tracks progress and ensures that the algorithm can be cancelled.)
from qgis.processing import alg from qgis.core import QgsFeature, QgsFeatureSink @alg(name="split_lines_new_style", label=alg.tr("Alg name"), group="examplescripts", group_label=alg.tr("Example Scripts")) @alg.input(type=alg.SOURCE, name="INPUT", label="Input layer") @alg.input(type=alg.SINK, name="OUTPUT", label="Output layer") def testalg(instance, parameters, context, feedback, inputs): """ Description goes here. (Don't delete this! Removing this comment will cause errors.) """ source = instance.parameterAsSource(parameters, "INPUT", context) (sink, dest_id) = instance.parameterAsSink( parameters, "OUTPUT", context, source.fields(), source.wkbType(), source.sourceCrs()) total = 100.0 / source.featureCount() if source.featureCount() else 0 features = source.getFeatures() for current, feature in enumerate(features): if feedback.isCanceled(): break out_feature = QgsFeature(feature) sink.addFeature(out_feature, QgsFeatureSink.FastInsert) feedback.setProgress(int(current * total)) return {"OUTPUT": dest_id}
The key improvement are the new decorators that turn an ordinary function (such as testalg in the template) into a Processing algorithm. Decorators start with
@
and are written above a function definition. The@alg
decorator declares that the following function is a Processing algorithm, defines its name and assigns it to an algorithm group. The@alg.input
decorator creates an input parameter for the algorithm. Similarly, there is a@alg.output
decorator for output parameters.For a longer example script, check out the original QGIS enhancement proposal thread!
For now, this new way of writing Processing scripts is only supported by QGIS 3.6 but there are plans to back-port this improvement to 3.4 once it is more mature. So give it a try and report back!
-
11:16
GeoServer Team: GeoServer 2.15.0 Released
sur Planet OSGeoThe GeoServer team is happy to announce the GeoServer 2.15.0Â release with downloads (zip|war|exe), documentation (html|pdf) and extensions.
This release is production ready and is ready to work with your Java 8 or Java 11 operational environment. This release is made in conjunction with GeoWebCache 1.15.0 and GeoTools 21.0.
The ability to work with Java 11 is the result a dedicated code sprint. Thanks to organizations participating in the code sprint (Boundless, GeoSolutions, GeoCat, Astun Technology, CCRi) along with sprint sponsors (Gaia3D, atol, osgeo:uk, Astun Technology).
Layer Service SettingsTo start things off an often requested capability, the ability to control which services are enabled on a layer-by layer basis.
To try it our yourself see Service Settings in our user manual.
GeoFence Internal Server ExtensionOriginally a standalone service offering fine grain control over GeoServer security this functionality has been packaged up and embedded into a GeoServer extension for easier deployment.
- GeoFence rules provided greater control over security allowing layer by layer service restrictions
- GeoFence rules can provide access to data overriding layer details including CQL filter to limit contents returned and default style used for rendering
- GeoFence rules can limit access to a geographic extent
For more details see GeoFence Internal Server in our user manual.
Style Editor SLD Auto-CompleteTo help make editing easier the Style Editor can provide auto-complete suggestions for SLD 1.0. To try it out yourself use control-space for context aware suggestions.
Generate Classified Thematics mapsSLDService is now an official extension, with a number of improvements. SLDService can now be used for the
- classification of raster data too
- equal area classification
- standard deviation filtering
The SLD REST Service extension is used to generate thematic styles based on attribute data:
curl -v -u admin:geoserver -XGET [localhost:8080] ?attribute=PERSONS &ramp=CUSTOM &method=quantile &intervals=3 &startColor=0xFF0000 &endColor=0x0000FF &open=true
For more information see SLD Rest Service in our user manual.
WPS GetExecutionStatus and Dismiss OperationsWPS “GetExecutions†vendor operation allows each user to get the list of running processes:
- Users can review all their running processes
- Administrators can see all processes
The Dismiss vendor operation can be used to cancel the execution of one of the listed processes.
For more information see Dismiss in our user guide.
Java 11 SupportThe provided binary download works with either Java 8 or Java 11. Tomcat 9 or newer is required for the WAR install. The user guide compatibility list will continue to be updated based on your feedback.
The java ecosystem is now being led by the open source OpenJDK project, with long term support available from a range of organizations notably RedHat OpenJDK  and Adopt OpenJDK. The GeoTools user guide provides an overview of Java 8 and Java 11 distributions.
The net effect of these changes:
- If you have been using Oracle JDK please review your options
- Java 8 will continue to be available
- The Java ecosystem is now led by the open-source Open JDK project
Java 11 no longer supports the Java 2 extension mechanism used for native JAI and native ImageIO libraries. Â We recommend the use of the pure Java JAI-EXT operations which have been made the default (see the next section).
JAI-EXT operations on by defaultThe use of the JAI-EXT operations have long been a recommendation, with this release we are making them the default for GeoServer. Â The JAI-EXT library offers a pure java implementation enhanced for geospatial functionality supporting NODATA pixels and support for vector footprints.
GeoServer CodebaseIn addition to Java 11 support this release includes:
- Add JSON as a Legend Output format (GISP 173)
- Printing plugin upgrade version of JTS
- Upgrade NetCDF dependencies
- Improvements for vector tile production, both in terms of output correctness and production performance
Thanks to Andrea Aime for steady work on the codebase quality:
- PMD source code analysis, high priority checks, will fail the build in case of issues
- Error Prone byte code analysis, same as above
- Many small bugs fixed
For more details developers are invited to review Automated Quality Assurance checks in our developers manual. Also, work in ongoing on the master (dev) branch to extend the reach of static code checks using SpotBugs and CheckStyle too.
About GeoServer 2.15 SeriesAdditional information on the GeoServer 2.15 series:
- Release Notes (2.15.0|2.15-RC|2.15-M0)
- Running on Java 11 (User Manual)
-
20:00
How Many Miles do You Scroll Online?
sur Google Maps ManiaHave you ever wondered how many miles your fingers scroll when you browse the internet? Digital Detox did so s/he created a Google Chrome extension to track their personal scrolling distance on all the websites they visit. The data is then sent in real-time to a Leaflet map. Marco Land is an interactive map which shows the path of the Camino Francés, the most popular pilgrimage route of the Way -
18:00
Shopping on Street View
sur Google Maps ManiaRetailers Fred Perry and Raf Simons have released a virtual reality shopping experience. Fred Perry x Raf Simons is a custom Street View scene which you can navigate around just like you can move around in Street View on Google Maps. However, unlike Google Maps, on these virtual panoramas you can click on the people and buy their clothes. All the models that appear in Fred Perry x Raf Simons -
18:00
The Language of Data Visualization
sur Google Maps ManiaLast year the Financial Times released a poster designed to help people create data visualizations. The FT's poster provides a guide to lots of different methods of visualizing data (including different types of mapped visualization) and advice on when each method should be used. The Github page of the Visual Vocabulary poster includes external links to advice elsewhere on the internet on using
-
17:06
gvSIG Team: Camino a gvSIG 2.5: Enumeración de capas en la Tabla de Contenidos
sur Planet OSGeoUna de las componentes más utilizadas en un SIG es su Tabla de Contenidos, también conocida como TOC por sus siglas en inglés.
En la Tabla de Contenidos se enumeran todas las capas de una Vista y se muestra la leyenda con la que se representan las entidades de cada capa. También ayuda a administrar el orden de visualización de las capas en la Vista, a definir las capas que son visibles, las que están seleccionadas, permite el acceso rápido a distintas herramientas, etc.
Ya en gvSIG Desktop 2.4 iniciamos las mejoras en el TOC con la existencia de un catálogo, que permite la carga rápida de capas y la gestión de favoritos. En la nueva versión, gvSIG 2.5, encontraréis un nuevo plugin “Tabbed TOC†con el que continuamos estas mejoras.
Mediante este nuevo plugin añadimos a la Tabla de Contenidos una serie de nuevas opciones para enumerar o agrupar las capas de nuestra Vista.
Además de la enumeración principal podremos listar las capas según la fuente, si son o no visibles y si tienen o no elementos seleccionados. El procedimiento es muy sencillo, hacer clic en el icono de la parte superior del TOC que permite acceder a alguno de los métodos de agrupación.
Para ver cómo instalar este nuevo plugin y su funcionamiento, os dejamos con este vÃdeo:
-
16:57
gvSIG Team: Towards gvSIG 2.5: Listing layers at the Table of Contents
sur Planet OSGeoOne of the most used components in a GIS is the Table of Contents, also known as TOC.
All the layers of a View are listed at the Table of Contents, and the legend with which the entities of each layer are represented is shown too. It also helps to manage the display order of the layers in the View, to define the layers that are visible, which layers are selected, it allows quick access to different tools, etc.
In gvSIG Desktop 2.4, we started improvements in the TOC with a catalog, which allows to load layers quickly and manage the favourite ones. In the new version, gvSIG 2.5, you will find a new plugin called “Tabbed TOC†with which we are continuing these improvements.
Through this new plugin we add a series of new options to the Table of Contents to list or group the layers of our View.
Besides the main list, now we can list the layers according to the source, if they are visible or not, and if they have selected elements or not. The procedure is very simple, you have to click on the icon on the top of the TOC and it allows to access to any of the grouping methods.
Here you have a video about how to install this new plugin and how it works:
Â
-
16:00
The People's History Map of Paris
sur Google Maps ManiaThe history of the world is so often told through the stories of the rich and powerful. Libération has decided that it wants to tell the story of Paris' workers, peasants and insurgents. They have therefore released an historical map of Popular Paris from 1830 to 1980. Paris has often been the center of popular movements and protests. From the French Revolution of 1830, through the student and
-
13:25
Fernando Quadro: Introdução ao Leaflet – Trilhas com GeoJSON
sur Planet OSGeoPara adicionar uma trilha ao nosso mapa, vamos convertê-lo de um shapefile para GeoJSON. Há mais de uma maneira de fazer isso – você poderia usar ogr2ogr, mas optamos por usar o QGIS, pois ele não apenas o converteria, mas também transformaria o sistema de coordenadas ao mesmo tempo.
1. Convertendo para GeoJSON
Com o shapefile carregado no QGIS, podemos clicar com o botão direito na camada e escolher a opção “Export -> Save Features As…â€
Escolhemos o sistema de coordenadas apropriado ( EPSG:4326 – WGS 84) para uso com o Leaflet e o QGIS faz a conversão enquanto salva no GeoJSON. Isso torna nossa trilha pronta para uso no Leaflet.
2. Adicionando o arquivo
O arquivo GeoJSON precisa ser adicionado ao nosso arquivo HTML como um script, mas primeiro precisamos modificá-lo adicionando um nome de variável:
var trail = { "type": "FeatureCollection", "name": "rails", "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::3857" } }, "features": [ ...
Adicionando o var trail ao inÃcio do arquivo nos permitirá fazer referência a ele no Leaflet.
Em seguida, adicionamos o script e agora podemos adicioná-lo ao mapa:
var trail = L.geoJSON(trail); trail.addTo(map);
3. Estilizando a trilha
Podemos mudar a aparência da trilha adicionando opções à declaração L.geoJSON:
  var thetrail = L.geoJSON(trail, {       color: '#800000',       weight: 3,       dashArray: '12 8 12',   });
Isso transforma a trilha em vermelho escuro, aumentando sua largura para 3 pixels e criando uma linha tracejada.
4. Adicionando rótulo
Ao adicionar este rótulo quando se passa o mouse sobre a trilha o mesmo é apresentado na tela:
thetrail.bindTooltip('Trilha de Brumadinho')
5. Resultado
Após nossas mudanças o resultado do nosso mapa agora é esse:
6. Código
Após as alterações realizadas acima, o nosso código ficou da seguinte forma:
<!DOCTYPE html> <head>   <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css"   integrity="sha512-puBpdR0798OZvTTbP4A8Ix/l+A4dHDD0DGqYW6RQ+9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7+7N4QKrDh+drA=="   crossorigin=""/>    <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"   integrity="sha512-QVftwZFqvtRNi0ZyCtsznlKSWOStnDORoefr1enyq5mVL4tmKB3S/EnC3rRJcxCPavG10IcrVGSmPh6Qw5lwrg=="   crossorigin=""></script>   <script src="rails.geojson"></script> <style>     #mapDIV{         height: 700px;         width: 700px;         border: solid 1px black;     } </style> </head> <body>     <div id='mapDIV'></div> <script>     var map = L.map(document.getElementById('mapDIV'), {     center: [-20.1438, -44.1301],     zoom: 15     });     var basemap = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {         });     basemap.addTo(map);     var earthquakeMarker = L.marker([-20.1438, -44.1301],          {title: 'Janeiro 25, 2019 Desastre de Brumadinho'});      earthquakeMarker.bindPopup(          "Janeiro 25, 2019<br> Desastre de Brumadinho");      earthquakeMarker.addTo(map);      var thetrail = L.geoJSON(trail, {         color: '#800000',         weight: 3,         dashArray: '12 8 12',     });     thetrail.bindTooltip('Trilha de Brumadinho');     thetrail.addTo(map); </script> </body> </html>
-
11:10
Mapping the World's Power Plants
sur Google Maps ManiaOver 50% of electricity in the Asia-Pacific region comes from coal fueled power plants. The next biggest source of electricity is natural gas, which produces 17.9% of the region's electricity. The renewable energy power sources of solar, wind and tide only contribute 3.99% of the region's electricity. The Asia Pacific Energy Portal has released an interactive map which visualizes over 7,000
-
10:48
gvSIG Team: Towards gvSIG 2.5: New OSM map servers
sur Planet OSGeoSurely most of you know the OpenStreetMap (OSM) cartography, and almost certainly you have used it in some of your projects with gvSIG Desktop. Now we have added three new servers to the great number of OSM servers that were already available in gvSIG, that we think that will be interesting for certain uses:
- OSM France. Oriented to show the OSM data with the toponymy in French and the most representative symbols of French culture (for example, bakeries are represented with the symbol of a baguette). Surely it will be useful for the growing French-speaking gvSIG Desktop users community.
- Hillshading. It shows the relief of the ground through a representation using grey tones.
- OSM B&W. In this case it shows the OSM cartography, as represented by Mapnik, but without using colours, only using grey tones.
Here you have a video where you can see these three new OSM servers:
And if you don’t want to wait for the new gvSIG Desktop version to use them, you can add them manually filling in these parameters at the “OSM†tab of the “Add layer†window:
- OSM France
- Name: OSM France
- URL: [a.tile.openstreetmap.fr]
- Levels: 18
- Format: png
- Hillshading
- Name: Hillshading
- URL: [c.tiles.wmflabs.org]
- Levels: 18
- Format: png
- OSM B&W
- Name: OSM Black & White
- URL: [tiles.wmflabs.org]
- Levels: 18
- Format: png
-
20:30
Living and Dying in Texas
sur Google Maps ManiaThe average Texan can expect to live until they are 78.5 years old. Of course life expectancy in the state can vary dependent on where you live and your sex and race. Life Expectancy in Texas is an interactive map which allows you to see where people can expect to live longer or shorter lives in Texas. Enter your zip-code into the map and you can view details on life expectancy in your
-
18:56
GIScussions: Citymapper – London’s Uber?
sur Planet OSGeoTravel Puzzle
Last week Citymapper (one of the poster children of the UK’s OpenData movement) announced the launch of their CityMapper PASS card.
Citymapper started out with a travel app based on the early releases of transport open data by UK public providers, they then launched a hopper bus service for a short while and this morphed into their shared taxi service “Ride“. Along the way they raised an enormous amount of funding for a relatively small startup – according to Crunchbase they had a $10m Series A in 2014 and a $40m Series B in 2016 with some pretty serious investors coming on board. Now they have launched their PASS which potentially can save users upwards of £4 per week on the cost of an Oyster Card (London Transport’s contactless card). The Guardian explained the basic finances here
“While the pass will bring in revenue, it will also result in the company losing money, at least in the short term. Technically, it operates as a simple pre-paid debit card, with Citymapper paying TfL for each journey its users take until they hit the standard weekly price cap.
https://www.theguardian.com/uk-news/2019/feb/27/citymapper-pass-launch-london-travel-card-with-cheaper-rate-than-tfl
That means that every user who reaches the daily Tube price cap (£7.00 for zones one and two) at least five days in seven will result in Citymapper losing money on them that week. The company’s explicit plan to counter that loss is to expand the pass by bundling in ever more private offerings, where it has more power to negotiate prices, until it offers a bundle that covers everything from dockless bikes, through rental cars, to ridesharing services.â€If PASS is going to reach a critical mass (is that 10,000, 100,000 or more users?) they could be losing £15-20 per user per month at which point they will burn through their cash resources pretty quickly. The last accounts that Citymapper filed are for 2017 they show cash balances of £12.5m after an in year loss of £6.3m. It looks as if Citymapper will need another investment round to support an aggressive launch of PASS and the costs of acquiring users until they find ways to make the service profitable.
Does this matter? Just after the launch was announced JA Early said
It's not ever really been clear how Citymapper was supposed to make money. So, I assume, it's been funded by people who understand the immense value of data derived from sitting at the centre of a large network that tracks the travel times and habits of millions of urbanites.
— J A Earley (@AlbyEarley) February 21, 2019The only way Citymapper can make serious money is through wielding the political power it will accrue from its dominant position in the marketplace.
— J A Earley (@AlbyEarley) February 21, 2019
It will eventually turn on the consumer, regulators and the public realm to carve out a lucrative niche.Or as the Guardian concluded
“But the launch of the service has prompted concerns from some that the company’s end goal is to try and burn its funding to establish a large base of users that it can then wield in political battles with city authorities to gain better terms for itself. That model has brought success for companies like Uber and Airbnb, which have reshaped regulations around their needs in cities including San Francisco, New York and Paris.â€
https://www.theguardian.com/uk-news/2019/feb/27/citymapper-pass-launch-london-travel-card-with-cheaper-rate-than-tflTime will tell whether this pivot will work for Citymapper and their backers, I’m doubtful whether there is enough demand for this all inclusive multimodal public transport payment system. Of course Uber have shown how you can disrupt a market by throwing enough investors’ money at undercutting existing players, whether that is good in the long term for users of these services remains to be seen.
-
18:30
Permafrost is Becoming Permanently Lost
sur Google Maps ManiaNew lakes have started to appear from nowhere on the Tibet Plateau. These new lakes are being formed from the melting of the plateau's permafrost. The world's permafrost is thawing. This is very bad news. The amount of carbon held in permafrost is four times that of the carbon already released into the atmosphere. Releasing all that compressed carbon and methane into the atmosphere will -
16:32
Observing Global NO2 Emissions from Space
sur Google Maps ManiaThis animated map uses data from the European Space Agency’s Sentinel-5P satellite to show NO2 emissions around the world. The Sentinel 5P satellite is dedicated to monitoring air pollution. The satellite is able to sense ultraviolet, visible, near and short-wavelength infrared to monitor the amount of ozone, methane, formaldehyde, aerosol, carbon monoxide, NO2 and SO2 in the atmosphere. This
-
15:42
gvSIG Team: Camino a gvSIG 2.5: Nuevos servicios de mapas de OSM
sur Planet OSGeoSeguro que la gran mayorÃa de vosotros conocéis la cartografÃa de OpenStreetMap (OSM), y con casi toda seguridad la habréis utilizado en alguno de vuestros proyectos con gvSIG Desktop. Al buen número de servidores de OSM que ya estaban disponibles en gvSIG hemos añadido tres nuevos que consideramos que pueden ser interesantes para determinados usos:
- OSM France. Orientado a mostrar los datos de OSM con la toponimia en francés y simbologÃa más representativa de la cultura francesa (por ejemplo las panaderÃas ser representan con el sÃmbolo de una baguette). Seguramente será de utilidad para la cada vez mayor comunidad francófona de usuarios de gvSIG Desktop.
- Hillshading. Muestra el relieve del terreno mediante una representación del mismo utilizando tonos de gris.
- OSM B&W. En este caso muestra la cartografÃa de OSM, tal y como la representa Mapnik, pero sin uso del color, utilizando unicamente tonos de grises.
Podéis ver un vÃdeo en el que se muestran estos 3 nuevos servicios de OSM:
Y si no queréis esperar a la nueva versión de gvSIG Desktop para utilizarlos, los podéis añadir manualmente introduciendo estos parámetros en la pestaña de OSM de la ventana de “Añadir capaâ€:
- OSM France
- Nombre: OSM France
- URL: [a.tile.openstreetmap.fr]
- Levels: 18
- Format: png
- Hillshading
- Nombre: Hillshading
- URL: [c.tiles.wmflabs.org]
- Levels: 18
- Format: png
- OSM B&W
- Nombre: OSM Black & White
- URL: [tiles.wmflabs.org]
- Levels: 18
- Format: png
-
12:24
gvSIG Team: Towards gvSIG 2.5: New geoprocess, Grid by point density
sur Planet OSGeoIn the previous post we talked about a series of geoprocesses related to criminology made together with Jaume I University (UJI). These geoprocesses can be used in different fields, not exclusively in criminology.
Now we are going to show the “Grid by point density†geoprocess. The main objective of this geoprocess is to perform a fast and efficient count of points contained in a grid, that also is created by the geoprocess. Here it has been raised for crimes, but it can be applied to many other things. It allows to visualize how events are distributed when there is a layer with a large accumulation of them in the same areas quickly.
Crimes in New York (150.000 features)
The input parameters are a point layer and an expression (optional) that would be a filter to run the geoprocess. For example, we could apply a filter by type of crime.
The options make reference to:
- Grid distance: At the distance from the side of each square or hexagon. In relation to the measurements of the View.
- Grid type: It can be squared or hexagonal. And in hexagonal type there are two types: Vertical or horizontal.
- Add empty grids: It doesn’t add grid in areas where there are no specific elements, that is, where their count is zero.
It’s important to select the grid extension in the Analysis Region tab correctly.
The results of the geoprocess on the starting image layer returns a grid with an attribute table, where we will be able to apply a legend by intervals of values.
Here you can see the results on the complete crime layer with a shorter distance and vertical grid type.
And here applying a filter on a district.
In the attribute table you can see the total count of points within each grid, the total points involved in the initial calculation before filtering, and the percentage of those points in relation to the total.
In addition, we have taken advantage of this during the development of this geoprocess to improve and debug gvSIG to support layers with a larger number of records. One of these tests for this geoprocess was done with a layer with more than 6.7 million records and more than 10 fields.
You can now download and test the new Grid by point density geoprocess in the new distribution candidate to final version. You can download it from Tools -> Add-ons Manager, and search the “Geoprocess: Point density grid†geoprocess. Once installed and after restarting gvSIG, it will appear at the toolbox in the “Scripting – Data Analysis – Grid by density of points†section.
If you find any error or you have any recommendation, we encourage you to write to the gvSIG mailing lists.
-
11:30
Fernando Quadro: Introdução ao Leaflet – Adicionando Marcador
sur Planet OSGeoEstou começando devagar, então hoje vamos adicionar um marcador com alguns recursos extras. Já que o mapa de ontem já está centralizado no Desastre de Brumadinho, vamos adicionar um marcador lá.
1. Adicionando um Marcador
Para criar um marcador, o Leaflet usa a classe L.marker:
var earthquakeMarker = L.marker([-20.1438, -44.1301]);
Isso cria o marcador, porém precisa ser adicionado ao mapa:
earthquakeMarker.addTo(map);
E o nosso mapa fica assim:
Bom até agora, mas olhando para o mapa não nos diz nada sobre o marcador. Vamos mudar isso adicionando um título:
var earthquakeMarker = L.marker([-20.1438, -44.1301], {title: 'Janeiro 25, 2019 Desastre de Brumadinho'});
Agora, quando passamos o marcador, recebemos um título:
Agora, vamos adicionar um pop-up ao marcador para exibir mais informações no evento do click. Fazemos isso vinculando um pop-up ao nosso marcador existente:
var earthquakeMarker = L.marker([-20.1438, -44.1301], {title: 'Janeiro 25, 2019 Desastre de Brumadinho'}); earthquakeMarker.bindPopup("Janeiro 25, 2019
Desastre de Brumadinho"); earthquakeMarker.addTo(map);Quando clicamos no marcador, o pop-up é exibido.
-
20:00
Mapping Countries by Similarity
sur Google Maps ManiaThe Grand Prize winner in the World Data Visualization Prize 2019 was an interactive visualization which groups the world's countries using artificial intelligence. This interactive visualization, created by Interacta, shows the connections and similarities between different countries based on a number of different factors. The Country t-SNE map rearranges the countries of the world so that -
18:14
Detroit Foreclosures on Street View
sur Google Maps ManiaOne in three homes in Detroit has been foreclosed in the last 15 years. The result of all those lost homes is physically evident on the city's streets. It is also very evident when exploring the city on Google Maps Street View. GooBing Detroit uses the historical imagery function in Google Maps Street View to show how Detroit has changed over the years. By juxtaposing Street View images of the
-
18:01
gvSIG Team: Camino a gvSIG 2.5: Nuevo geoproceso, Rejilla por densidad de puntos
sur Planet OSGeoHablamos en el post anterior sobre una serie de geoprocesos relacionados con la criminologÃa realizados junto a la Universidad Jaume I (UJI). Puedes ver el vÃdeo de la ponencia aquÃ. Estos geoprocesos pueden utilizarse en diferentes campos, no ligado en exclusiva a la criminologÃa.
Le toca el turno al geoproceso de Rejilla por densidad de puntos. El objetivo principal de este geoproceso es el de realizar de una forma rápida y eficiente un conteo de puntos contenidos en una rejilla que también crea el geoproceso. En el caso planteado, delitos, pero se puede aplicar a muchas otra cosas. Esto permite visualizar de forma rápida cómo se distribuyen los eventos cuando hay una capa con una gran acumulación de ellos en unas mismas zonas.
Delitos en Nueva York (150.000 entidades)
Los parámetros de entrada son una capa de puntos y una expresión (opcional) que servirÃa de filtrado para ejecutar el geoproceso. Por ejemplo, podrÃamos aplicar un filtro por tipologÃa de delito.
Las opciones hacen referencia a:
- Distancia de rejilla: A la distancia del lado de cada cuadrado o hexágono. En relación con las medidas de la Vista.
- Tipo de rejilla: Puede ser cuadricular o hexagonal. Y en hexagonal dos tipos: Vertical o horizontal.
- Añadir rejillas vacÃas: No añadir rejilla en las zonas donde no hay elementos puntuales, o sea, donde su conteo es cero.
Es importante seleccionar correctamente en la pestaña de Región de análisis cual va a ser la extensión de la rejilla.
El resultado del geoproceso sobre la capa de la imagen inicial devuelve una rejilla con una tabla de atributos a la que podemos aplicarle una leyenda por intervalo de valores.
Aquà un resultado sobre toda la capa de delitos con otra distancia más pequeña y de tipo rejilla vertical.
Aquà aplicando un filtro sobre un distrito.
En la tabla de atributos se puede ver el conteo total de puntos dentro de cada rejilla, el total de puntos implicados en el cálculo inicial antes del filtrado, y el porcentaje de esos puntos respecto al total.
Además, hemos aprovechado durante el desarrollo de este geoproceso en hacer mejoras y depurar gvSIG para soportar capas con mayor número de registros. Una de estas pruebas para este geoproceso se realizo con una capa con más de 6.7millones de registros y más de 10 campos.
Ya puedes descargarte y probar el nuevo geoproceso de Rejilla por densidad de puntos en la nueva candidata a versión final . Puedes descargarlos de Herramientas -> Administrador de complementos y buscar por el geoproceso “Geoprocess: Point density gridâ€. Una vez instalado, aparecerá junto a los geoprocesos dentro del apartado de “Scripting – Análisis de datos – Rejilla por densidad de puntosâ€.
Si encuentras cualquier fallo o recomendación te animamos a escribirnos a las Listas de correo de gvSIG.
-
11:30
Fernando Quadro: Introdução ao Leaflet – Parte 1
sur Planet OSGeoPrezados leitores,
Os próximos 13 posts, serão dedicados a uma introdução ao framework Leaflet. Estarei começando do zero e cada postagem no blog será adicionado um pouco mais ao projeto. As postagens provavelmente não serão publicadas todos os dias.
Parte 1 – Configurando um Mapa Simples
Para começar, vamos criar um modelo, copiado diretamente dos documentos do Leaflet:
<!DOCTYPE html> <head>   <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css"   crossorigin=""/>    <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"   crossorigin=""></script>   <style>       #mapDIV{           height: 700px;           width: 700px;           border: solid 1px black;       } </style> </head> <body>     <div id='mapDIV'>i</div> </body> </html>
Também criamos um div para manter o id do mapa (mapDIV) na seção head, e adicionamos um estilo para definir o tamanho do mapa quando exibido no navegador. Este HTML irá “carregar†o Leaflet, mas você não verá nada. Precisamos adicionar um script que crie o mapa.
<script>       var map = L.map(document.getElementById('mapDIV'), {       center: [-20.1438, -44.1301],       zoom: 15       });       var basemap = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {           });           basemap.addTo(map); </script>
Este pequeno script, colocado depois da mapDiv, faz o seguinte:
- Adiciona um objeto de mapa
- Centraliza em uma latitude/longitude
- Define o nÃvel de zoom
- Adiciona o mapa base do OpenStreetMap
Se nós carregarmos o arquivo em nosso navegador, nós veremos isto:
Este mapa é centrado na localização do desastre de Brumadinho que ocorreu no dia 25 de janeiro de 2019. Vamos movê-lo em um post posterior.
Esse é o nosso primeiro post. A atribuição é importante e vamos adicioná-la ao mapa, junto com outras novidades no próximo post.
Aqui está o arquivo HTML completo:
<!DOCTYPE html> <head>   <link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css"   crossorigin=""/>    <script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js"   crossorigin=""></script>   <style>       #mapDIV{           height: 700px;           width: 700px;           border: solid 1px black;       } </style> </head> <body>     <div id='mapDIV'>i</div> <script>       var map = L.map(document.getElementById('mapDIV'), {       center: [-20.1438, -44.1301],       zoom: 15       });       var basemap = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {           });           basemap.addTo(map); </script> </body> </html>
-
11:20
A Journey Through Famine in India
sur Google Maps Mania"All this day our noses were infested and our bodyes almost infected with a most noysome smell, which after search, wee found to come from a great pitt, wherein were throwne 30 or 40 persons, men, weomen and children, old and younge confuseldy tumbled in together without order or Coveringe" - 1630, Peter Munday, Itinerarium Mundii In 1631 around 3 million people died of starvation & disease in
-
1:28
Martin Davis: Better/Faster ST_PointOnSurface for PostGIS
sur Planet OSGeoAnd now for the final chapter in the saga of improving InteriorPoint / PointOnSurface. For those who missed the first two episodes, the series began with a new approach for the venerable JTS Geometry.interiorPoint() for polygons algorithm. Episode 2 travelled deep into the wilds of C++ with a port to GEOS. The series finale shows how this results in greatly improved performance of PostGIS ST_PointOnSurface.
The BC Voting Area dataset is a convenient test case, since it has lots of large polygons (shown here with interior points computed).The query is about as simple as it gets:
select ST_PointOnSurface(geom) from ebc.voting_area;
Here's the query timings comparison, using the improved GEOS code and the previous implementation:Data size Time Time
OLDImprovement Time
ST_Centroid5,658 polygons
(2,171,676 vertices)341 ms 4,613 ms x 13 369 ms
As expected, there is a dramatic improvement in performance. The improved ST_PointOnSurface runs 13 times faster than the old code. And it's now as fast as ST_Centroid. It's also more robust and tolerant of invalid input (although this test doesn't show it).
This should show up in PostGIS in the fall release (PostGIS 3 / GEOS 3.8).
On to the next improvement... (and also gotta update the docs and the tutorial!)
-
20:00
The Rise in American Hate Groups
sur Google Maps ManiaLast year the number of hate groups operating in the United States reached another new record. According to the Southern Poverty Law Center there are now 1,020 hate groups in action across the country. Lat week the Southern Poverty Law Center released an updated version of its hate groups interactive map. This updated map provides users with more details, including which states have the most -
18:00
Wheelchair Accessible New York
sur Google Maps ManiaThe New York Times has created a map of Where the Subway Limits New Yorkers with Disabilities. The map shows all the areas of the city that are within a ten minute walk from a wheelchair accessible subway station. It also shows where the most people with problems walking live in New York. The map reveals that Manhattan is the most easily accessible area of New York for people with disabilities.
-
17:05
Fernando Quadro: Usando tiles do OpenStreetMap para Machine Learning
sur Planet OSGeoO OpenStreetMap é uma fonte de dados incrÃvel. O esforço coletivo de milhares de voluntários criou um rico conjunto de informações que abrange quase todos os locais do planeta.
Há um grande número de problemas em que as informações do mapa podem ser úteis:
- Urbanismo
- Infraestrutura de transporte público
- Campanhas de marketing
- Pontos crÃticos de crimes e tráfego
No entanto, para cada problema individual, há uma quantidade significativa de pensamento que precisa ser decidida sobre como transformar os dados usados ​​para criar o mapa em recursos úteis para a tarefa em questão. Para cada tarefa, é preciso entender os recursos disponÃveis e escrever código para extrair esses recursos do banco de dados do OpenStreetMap.
Uma alternativa a essa abordagem manual de engenharia de recursos seria usar redes convolucionais nos tiles renderizados do mapa.
1. Como as redes convolucionais poderiam ser usadas?
Se houver um relacionamento forte o suficiente entre as imagens do mapa (tiles) e a variável de resposta, uma rede convolucional poderá aprender os componentes visuais do mapa que são úteis para cada problema. Os designers do OpenStreetMap fizeram um ótimo trabalho ao garantir que a renderização do mapa expusesse tanta informação quanto o sistema visual pudesse compreender. E as redes de convolução provaram ser muito capazes de imitar o desempenho do sistema visual – por isso, é viável uma rede convolucional poder aprender quais recursos extrair das imagens – algo que seria demorado programar para cada domÃnio de problema especÃfico.
2. Testando a hipótese
Para testar se redes convolucionais podem aprender recursos úteis do mapa, foi escolhido um problema simples: Estimar a população de um determinado bloco do mapa. O censo dos EUA fornece dados sobre o número da população no nÃvel do setor censitário, e é possÃvel usar a informação de população dos setores para aproximar com as informações de população do mapa.
As etapas envolvidas:
- Faça o download dos dados da população no nÃvel do setor censitário do Census Bureau.
- Para um determinado nÃvel de zoom, identifique os tiles do OpenStreetMap que se cruzam com 1 ou mais setores censitários.
- Faça o download dos tiles de uma instância local do OpenMapTiles.
- Soma a população dos tratos dentro de cada tile, e adicione as populações fracionárias para trechos que se cruzam com o tile.
Visualizando os setores censitários que se sobrepõem aos 3 tiles de exemplo
Isso nos dá:
- Entrada X : uma representação de bitmap (RGB) do tile do OpenStreetMap
- Meta Y : uma população estimada do tile
Para reiterar, as únicas informações usadas pela rede para prever a população são os valores RGB dos tiles do OpenStreetMap.
Para este experimento, gerou um conjunto de dados da Califórnia, mas o mesmo processo pode ser feito para todos os estados dos EUA.
3. Resumo
Desempenho da rede ao prever a população de um determinado ladrilho
No exemplo de estimativa da população, há informações suficientes nos tiles do OpenStreetMap para superar significativamente um estimador ingênuo de população.
Para problemas com um sinal forte o suficiente, os tiles do OpenStreetMap podem ser usados ​​como uma fonte de dados sem a necessidade de engenharia manual de recursos.Este post foi traduzido e adaptado do original escrito por Robert Kyle do site Towards Data Science.
-
15:30
Making Map Quiz Infographics
sur Google Maps ManiaEarlier this month the Berliner Morgenpost posted an infographic of 12 Berlin location using OpenStreetMap building footprint data. It then asked its readers if they could name the 12 locations based purely on these small circular maps. Erkennen Sie die Gegend? includes 12 small circular maps and a clue to each location. If you need a little help then the answers are given (upside down) at the
-
11:00
CARTO Blog: Introducing the new CARTO dashboard 🎉
sur Planet OSGeoThe dashboard is one of the core pieces of CARTO. It’s what users see right after they login to their CARTO accounts. From here, users can manage their datasets, create map... -
9:18
gvSIG Team: Towards gvSIG 2.5: Fields importer
sur Planet OSGeoWe continue with a new feature of the next gvSIG Desktop version. In this post we will show you how the new tool to import fields works. Thanks to it you can import the fields that you want from one table to another, through a field that allows to establish a relationship.
This tool allows you to optimize this type of tasks, which otherwise would have to be done by establishing a series of steps: creating a link, exporting to new layer, editing the table if we want to make changes in the configuration of fields … With the fields importer all these actions are reduced to the use of a single tool, where you can define the fields to be imported and even define how to name them once imported. This is another extremely useful novelty.
Here you have a video where how to install the plugin and how it works is shown:
-
23:01
Australia's First Language Maps
sur Google Maps ManiaFirst Languages Australia is working with regional language centers across the country to build an interactive map of Australian languages. A map that uses the names and groupings favored by the speakers of each language. The Gambay - First Languages Map shows first languages on the map using colored map labels. The first languages are also listed in alphabetical order in the map sidebar. If
-
9:04
gvSIG Team: Camino a gvSIG 2.5: Importador de campos
sur Planet OSGeoSeguimos con las numerosas novedades de la próxima versión de gvSIG Desktop. En este post vamos a mostrar como funciona la nueva herramienta de importar campos. Gracias a ella podemos importar los campos que deseemos de una tabla a otra, mediante un campo que permita establecer una relación.
Esta herramienta permite optimizar este tipo de tareas, que de otro modo se tendrÃan que hacer estableciendo una serie de pasos: crear un enlace, exportar a nueva capa, editar la tabla si queremos realizar cambios en la configuración de campos…
Con el importador de campos todas estas acciones se reducen al uso de una única herramienta, donde podemos definir los campos a importar e incluso definir el nombre con el que queremos que aparezcan una vez importados. Otra novedad extremadamente útil.
Os dejamos un vÃdeo que muestra cómo instalar el plugin y su funcionamiento:
-
20:00
Mapping Real-Time Road Traffic
sur Google Maps ManiaThis interactive map of Palo Alto shows the live status of traffic signals. The map also uses live data to show how many vehicles are waiting at different intersections and how many pedestrians are waiting to cross at each intersection. The live traffic data on the map comes from TrafficWare's streaming TidalWave API. The colored traffic approach lanes on the Traffic map show the color of the -
18:00
Dissecting Planet Earth
sur Google Maps ManiaEarth Elevation provides an interesting view of the elevation of the Earth along circles of latitude. That sounds more complicated than it actually is. You can see Earth Elevation in action in the screenshot above, which shows the elevation & ocean depth around the world at 30° north of the Equator. This cross-section shows the relative height of the Rockies in America and the Himalayas in Asia. -
20:30
Searching for Slums with Machine Learning
sur Google Maps ManiaMachine learning techniques are being increasingly used to detect features in satellite and aerial imagery. Artificial intelligence and machine learning can be used to train algorithms to search for familiar patterns in aerial imagery of the Earth. The reasons for searching satellite imagery can be varied and can be for commercial, environmental or social purposes. One example of machine -
18:18
The Map of Science Fiction
sur Google Maps ManiaIn a parallel universe '100 Years of Sci Fi' is called '100 Years of Non-Fiction'. In a completely different parallel universe it is known as '100 Years of SYFY'. We don't live in either of those parallel universes so we shall call it by its given name. 100 Years of Sci Fi is an interactive map of science fiction novels listed on Good Reads. All the sci-fi novels on the map are organized by
-
15:13
gvSIG Team: Towards gvSIG 2.5: New geoprocess, Ring map
sur Planet OSGeoIn the last gvSIG Conferences we talked about a series of geoprocess created for criminology developed with Universidad Jaume I (UJI). You can see the video here (in spanish, if you have any question you can write directly to us and we will help you). This geoprocess can be used in different fields, not only in criminology.
The first geoprocess that we are going to present is the Ring Map. The objective of this geoprocess is to make easy to visualize info that is inside the layer. For example, it will show info in multiple fields in a single map.
In this example, we are going to see a layer with the population on each block for different range of ages. The result of the ring map will be like in the image. Now with this graph, with a quick look, we can analyse quickly how the population is distributed in each block and in different age ranges.
This geoprocess generate a series of rings and sectors. Each ring is a reference for the same field, and each sector is for the same geometry, that is pointed with an arrow. It creates three new layers with the rings, labels and arrows. Each of them can be modified as a normal shapefile. It creates an automatic legend that can also be modified as we need them.
The parameters that we need to execute this geoprocess is, at least one layer, (with any type of geometry) that it has a field with unique values for each geometry. It needed a opened table. If you are going to use layers, be sure that you open previously the attributes table, if not, this table will not appear as an option. If it doesn’t have an unique field, you can create it using the Field Calculator. This option has been created becouse it is posible to create diferent representations (differents table) to show them over the same vectorial layer.
The fields should be written in the order that we want them to appear. Also, we have multiple options for change the visualization of the rings. We can change sectors, gaps, size, labels..
This is a similar result from the initial image.
As always, you can see more information about this process pressing the help button.
You can test the Ring Map geoprocess at the new distribution candidate to final version. Just go to Tools -> Addons Manager and Search for “Geoprocess: Ring Mapâ€.
If you find any error we encourage you to write about it at the users mailing list. It will help us to fix them.
-
14:45
gvSIG Team: Camino a gvSIG 2.5: Nuevo Geoproceso, Mapa de anillos
sur Planet OSGeoYa comentamos en las últimas jornadas de gvSIG una serie de geoprocesos relacionados con criminologÃa junto a la Universidad Jaume I (UJI). Puedes ver el video de la ponencia aquÃ. Estos geoprocesos pueden utilizarse en diferentes campos, no ligado en exclusiva a la criminologÃa.
El primer geoproceso que vamos a presentar es el de Mapa de anillos. El objetivo es el de facilitar la visualización de una capa que dispone de información en diferentes campos y necesitamos mejorar la visualización de todos ellos para presentarlos en un mapa.
En el siguiente ejemplo, vamos a ver una capa que contiene la población en diferentes campos de la tabla de atributos, para visualizarlo generaremos un mapa de anillos que dará como resultado algo similar a la imagen de a continuación. De esta forma podemos ver de un vistazo rápido como se distribuye la población en diferentes franjas de edades sobre una zona del mapa.
El geoproceso genera una serie de anillos y sectores. Cada anillo hace referencia a un mismo campo y cada sector hace referencia a una misma entidad o geometrÃa, con una flecha que señala la geometrÃa de la cual extrae los valores. Vemos que genera una serie de capas sobre la vista que podemos tratarlas como cualquier otra capa de gvSIG. Dispone de una leyenda que se genera de forma automática y de una serie de capas de puntos que sirven para colocar las etiquetas. Todas ellas son modificables para adaptarse a las necesidades que tengamos.
Los parámetros necesarios para ejecutar este geoproceso es mÃnimo una capa (puede ser de cualquier tipo de geometrÃa) que tenga de forma obligatoria un campo con un valor único que identifique cada geometrÃa. Tiene que haber una tabla abierta (si usas solo capas vectoriales asegúrate de abrir la tabla de atributos con antelación para poderla seleccionar sino no aparecerá en el listado de tablas disponibles). Si no lo tuviera podrÃamos crearle uno desde la calculadora de campos. Este campo único tiene el uso de que sobre una misma capa vectorial, podrÃamos tener diferentes resultados a mostrar en diferentes tablas cuyos valores podrÃan ser calculados en otros programas. El geoproceso relacionará esos valores por su valor único y los mostrará.
Los campos a mostrar deberán ser escritos por orden en que queremos que se muestren. También disponemos de muchas opciones de configuración para la creación de los anillos. Desde posición de los sectores, espacio entre ellos, tamaño del circulo interior, del grosor de cada sector, creación de etiquetas..
Aquà puedes ver otra representación similar a la de la imagen inicial.
Siempre puedes ver con más detalle la información del geoproceso presionando el botón de ayuda.
Ya puedes descargarte y probar el nuevo geoproceso de mapa de anillos en la nueva candidata a versión final . Puedes descargarlos de Herramientas -> Administrador de complementos y buscar por el geoproceso “Geoprocess: Ring Mapâ€
Si encuentras cualquier fallo o recomendación te animamos a escribirnos a las Listas de correo de gvSIG.
-
14:00
Paul Ramsey: Proj6 in PostGIS
sur Planet OSGeoMap projection is a core feature of any spatial database, taking coordinates from one coordinate system and converting them to another, and PostGIS has depended on the Proj library for coordinate reprojection support for many years.
For most of those years, the Proj library has been extremely slow moving. New projection systems might be added from time to time, and some bugs fixed, but in general it was easy to ignore. How slow was development? So slow that the version number migrated into the name, and everyone just called it “Proj4â€.
No more.
Starting a couple years ago, new developers started migrating into the project, and the pace of development picked up. Proj 5 in 2018 dramatically improved the plumbing in the difficult area of geodetic transformation, and promised to begin changing the API. Only a year later, here is Proj 6, with yet more huge infrastructural improvements, and the new API.
Some of this new work was funded via the GDALBarn project, so thanks go out to those sponsors who invested in this incredibly foundational library and GDAL maintainer Even Roualt.
For PostGIS that means we have to accomodate ourselves to the new API. Doing so not only makes it easier to track future releases, but gains us access to the fancy new plumbing in Proj.
For example, Proj 6 provides:
Late-binding coordinate operation capabilities, that takes metadata such as area of use and accuracy into account… This can avoid in a number of situations the past requirement of using WGS84 as a pivot system, which could cause unneeded accuracy loss.
Or, put another way: more accurate results for reprojections that involve datum shifts.
Here’s a simple example, converting from an old NAD27/NGVD29 3D coordinate with height in feet, to a new NAD83/NAVD88 coordinate with height in metres.
SELECT ST_Astext( ST_Transform( ST_SetSRID(geometry('POINT(-100 40 100)'),7406), 5500));
Note that the height in NGVD29 is 100 feet, if converted directly to meters, it would be 30.48 metres. The transformed point is:
POINT Z (-100.0004058 40.000005894 30.748549546)
Hey look! The elevation is slightly higher! That’s because in addition to being run through a horizontal NAD27/NAD83 grid shift, the point has also been run through a vertical shift grid as well. The result is a more correct interpretation of the old height measurement in the new vertical system.
Astute PostGIS users will have long noted that PostGIS contains three sources of truth for coordinate references systems (CRS).
Within the
spatial_ref_sys
table there are columns:- The
authname
,authsrid
that can be used, if you have an authority database, to lookup anauthsrid
and get a CRS. Well, Proj 6 now ships with such a database. So there’s one source of truth. - The
srtext
, a string representation of a CRS, in a standard ISO format. That’s two sources. - The
proj4text
, the old Proj string for the CRS. Until Proj 6, this was the only form of definition that the Proj library could consume, and hence the only source of truth that mattered to PostGIS. Now, it’s a third source of truth.
Knowing this, when you ask PostGIS to transform to an SRID, what will it do?
- If there are non-NULL values in
authname
andauthsrid
ask Proj to return a CRS based on those entries. - If Proj fails, and there is a non-NULL
srtext
ask Proj to build a CRS using that text. - If Proj still fails, and there is a non-NULL
proj4text
ask Proj to build a CRS using that text.
In general, the best transforms will come by having Proj look-up the CRS in its own database, because then it can apply all the power of “late binding†to ensure the best transformation for each geometry. Hence we bias in favour of Proj lookups, then the quite detailed WKT format, and finally the old Proj format.
- The
-
13:10
Exploring Britain's History from Above
sur Google Maps ManiaYou can now explore over 80,000 historical aerial photographs of Britain dating from 1945-2009. Cambridge University’s Collection of Aerial Photographs contains thousands of aerial photographs captured by the University’s Air Photography Unit since the end of World War II. There are nearly half a million aerial photos in the collection. 80,000 of them have now been digitized and can be found and
-
8:13
Cameron Shorter: Inspiring techies to become great writers
sur Planet OSGeo
How to attract writers into Open Source communities, have them amplify developers' written impact, reduce tech ramp-up, facilitate growth, while having fun improving the world.
Reading time: 8 minutesPresented at Write The Docs - Sydney [slides]
My story starts at the international conference for Free and Open Source Software for Geospatial when it was held here in Sydney, ten years ago. We wanted to build a distribution of the software to hand out to conference attendees. Back then when software was expensive to download, it was a useful handout, and it provided an attractive marketing pipeline for these free software projects.To build the first version of OSGeoLive we followed install instructions, configured applications, resolved dependencies and conflicts, asked questions on email lists, and finally, after much hard work, produced our first release. This was a very important first step as it showed that we had the commitment to follow through and deliver.However, it also highlighted many of our failings. We had followed a fully manual install process, so when the next software releases came out, we had to start the installation process again, from scratch. It was completely unsustainable. We needed to automate the install process, and we needed projects to show us how.
But our first calls for help were embarrassingly underwhelming. You see, the perceived learning curve for packaging was considered unacceptably high and volunteers were not stepping up.
To fix this, we wrote an example install script along with clear, step-by-step instructions. We then went back to developers with the message of "if you can spend a couple of hours writing a short install script which looks like this, then we will market your application though our OSGeoLive distribution". Small effort / High Value. And it worked! 28 projects packaged their applications for our version 2 release.In following releases, we applied the same process to documentation. Our first docs were written by developers and as such were quite ... variable. So we created skeleton outlines for Project Overviews and Quickstarts, along with clear writing instructions. We then asked projects to write documentation in line with theses outlines. We followed up with reviews, and a publishing pipeline, to produce consistent, quality material. So by applying an outline / write / review / publish process, we were able to achieve significant efficiencies by allowing experts to focus only on the bits they do best and thus reduce contribution effort.
Translators later adopted the same formula to create multiple language variants.
Unpacking the storyOk, let’s unpack this story from the perspective of technical writers. Firstly, we should acknowledge the significant efficiencies software enables. Four out of the ten richest people in the world are self made software entrepreneurs.
However, while proprietary businesses centralise captured wealth, open source software, like other creative commons works, is given away for free. This act of sharing has far reaching consequences. Tools and knowledge created can be used and built upon by everyone. This democratises knowledge, wealth and power.
So if you want to positively improve our world, supporting Open Source projects is a good place to start.
The ResearchSo what makes a successful Open Source project; one which is sustained in the long term? Research provides some answers,  An analysis of over 170,000 Open Source projects to identify success factors, and a study of the success factors of episodic volunteering in Open Source both highlight the importance of:- Clear utility,
- Lean governance,
- Clear vision and goals,
- Marketing and a quality website,
- Good user and developer documentation,
- Digestible information,
- Guided introductions,
- Simple workspaces,
- Task–finding dashboards,
- Financial backing,
- Fine scaled task granularity, making it easier for people to contribute.
- Leaders who lead by doing, by putting in the hard work,
- A virtuous and supportive community,
- Attracting external contributors,
- Advocating broadly, by all involved,
- A sense of collective ownership,
- Hosting of meetups,
- Recognising all forms of contribution,
- Personal invitations for help,
- Showing appreciation.
Where I’m heading here is that while the Open Source story usually focuses on software developers, equally important are communicators and community builders. So for you folks who are technical writers, Open Source communities need you! Your involvement can significantly amplify a project’s impact, and by extension, your help will be:
- Making the world more egalitarian,Â
- Reducing wealth inequality,Â
- And democratising knowledge and power.Â
To help explain this problem, I’d like to introduce you to Johanna Botman. She started her working career as an english teacher, then moved into IT, website design, and is now a geospatial officer in local council. I met her at a spatial conference’s community day when she joined other volunteers in updating our OSGeoLive documentation. It was a humbling experience for me. I saw such an accomplished person, with oodles of commitment, struggling to use our documentation tools.Johanna reviewed an early draft of this presentation and observed that ...
Some of the issues relating to getting started is about bridging the gap between developers and writers. Developers write code in coding tools. They collaborate, they are used to versioning and are at home with unformatted raw text and automation tools. Writers? They work on Windows machines in Word – maybe in Google Docs if they are lucky. They don’t know about running build scripts, running Linux variants, Github, chat programs, HTML, RST, Wikis and the variants of markup languages.
And I think Johanna is right. I’ve found many users and writers who are keen to help, but feel overwhelmed, don’t know where to start, don’t want to burden the existing community, and so are shy to ask questions.Writers need to be sought out, welcomed, encouraged, supported and publicly appreciated if projects are to attract good documenters to help them grow.In turn, I’d encourage writers to proactively reach out to development communities. I’d expect you’ll find them very welcoming and appreciative, especially if you are volunteering to tackle key documentation pain points.And together we need to help bridge the gap between writers and developers.Documentation StrategySo what should writers expect to see when joining a project. Typically, emerging projects have patchy documentation, in various stages of currency, completion, relevance, verbosity, and quality. The challenge is to consolidate it so that it becomes concise, intuitive, accurate, minimises learning and ramp up time, and sustainably maintained to match continually evolving software releases. This is non-trivial and requires good writing skills, planning, leadership, commitment and follow through to do it well.The problems are that:
It’s one thing to work with the Open Source software, another to write about it, and a third thing to work out how to write it so that it fits in with the project. It seems as if the developers have created the writing system in a way that they are used to working, not necessarily in a way that works for writers.- Software is complex. It’s hard to understand, and harder to explain.
- Software continually evolves, meaning documentation needs to be continually maintained.
- Projects have a range of audiences, with differing information needs, technical backgrounds, and attention spans.
Your front web page and elevator pitch should be concise, highly polished and target first time visitors, while community forums are good for once off questions and can be rough around the edges.For each medium you should define your:Raw image (in draw.io format) - Target audience,
- Document structure,
- Technical depth,
- Quality requirements, and
- Maintenance strategy.
- Write timeless material to minimise maintenance.
- Only write as much as your team has capacity to maintain.
- Help techies become great writers. Provide skeleton docs and writing instructions, then review, mentor and publish.
- Work within a release cycle, which ideally synchronises with the project.Â
Getting Started?Okay, so maybe you’d like to get involved and are wondering where to start? I’d suggest:Image source - Focus on one project instead of many, as your ramp-up time will likely be high.Â
- Acknowledge the value you bring. Use it as motivation because you’ll have many challenges and the inner motivation will really help.
- Demonstrate commitment. It’s contagious.
- Ask for help, you will need it, and you’ll likely be surprised how supportive people will be.
- Don’t be daunted by your lack of domain knowledge. It’s actually an asset when writing to a broad audience.
- Help developers become great writers. Great impact comes from amplifying the effectiveness others.Â
- Be part of the team; help paint the vision; be inspirational.
- And most of all, have fun while you are doing it. Because believe you me, it is hugely rewarding to share the team camaraderie involved in building something that is much bigger and more impactful than you could possibly create by yourself.
-
20:52
Martin Davis: Better/Faster Interior Point for Polygons - now in GEOS
sur Planet OSGeoAs a gentle introduction to GEOS development I took on the task of porting the recent improvements to the JTS InteriorPointArea algorithm.  This is a fairly small chunk o'code, but it touches most of the aspects of GEOS development process: build chain, debugging, unit tests, and infra (source control and build farm). It also has the advantage that the JTS code was still hot off the keyboard and (almost) unreleased, so it was a chance to see if any cross-fertilization would blossom from working on the two projects jointly.
Skipping lightly over the details of my (somewhat painful)Â GEOS learning curve, I'm delighted to say that the code has landed in master and is basking in the green glow from the build bot badges.
And now the whole point of the exercise: how much better is the new code in GEOS?Â
It exhibits the expected improvement in robustness, since a GEOS test which actually depended on a thrown TopologyException (due to the now-removed call to Geometry::intersection() ) had to be modified to handle a successful return.
Most importantly, there is a dramatic improvement in performance. Here's some numbers from running the GEOS InteriorPointArea performance test:Data size Time Time
OLDImprovement Time
Centroid100 .8 ms 86 ms x 100 1 ms 1000 6 ms 144 ms x 24 12 ms 10,000 55 ms 672 ms x 12 107 ms 100,000 508 ms 6,714 ms x 13 961 ms 1,000,000 5,143 ms 73,737 ms x 14 11,162 ms
Some observations:- The performance test uses synthetic data (sine stars). Real-world datasets are likely to show significantly better times ( 80x better in some cases, based on JTS timings)
- The largest improvement is for small geometries, which is nice since these are more common
- InteriorPoint is now actually faster than the Centroid computation. This is also good news, since users were often tempted to try and use centroids instead of interior points, despite the known issues.
Running the identical performance test in JTS is still faster, by roughly 5x. This may be due to the advantages of JIT compilation and memory management. It may also indicate there is room for improvement by making GEOS smarter about data handling.
-
20:00
Satellite Remote Sensing Analytics
sur Google Maps ManiaThe Earth Observing System's LandViewer application is an online GIS-assistant which provides a set of advanced tools to perform real-time remote sensing data analytics. The site allows you to access and use a constantly updated satellite imagery catalog. One of the coolest features of LandViewer is the ability to create your own time-lapse animations using satellite imagery captured over time. -
18:00
The World Map of Shipping Traffic
sur Google Maps ManiaThis map of global shipping density reveals the world's major shipping lanes and also the areas of the world that the major shipping companies avoid. The reasons why some areas of the world's seas and oceans don't see as much traffic as others can vary from geo-political reasons to the dangers of piracy and local sailing conditions. The live ship tracking map MarineTraffic includes an option to -
16:00
The History of Settlements in Hungary
sur Google Maps ManiaPartly inspired by the New York Times' popular Map of Every Building in America the Atlo data visualization team decided to undertake a detailed examination of the street patterns of urban settlements in Hungary. In Roads, Buildings, Networks Alto looks at the different types of settlement morphology and the history of urban growth and planning in the country. Roads, Buildings, Networks
-
14:00
gvSIG Team: Towards gvSIG 2.5: Improvements at geoprocessing framework
sur Planet OSGeoThe gvSIG Desktop 2.5 version, that you can test with the new distribution candidate to final version, includes a series of improvements in the geoprocess framework that we explain below.Â
Visual improvementsNow when opening the geoprocessing toolbox, you can see that extra information about the layers and fields appears at the interface.
At layer type parameters, you will be able to see the layer name, the name of the View in which it is, if it has an active selection and how many entities are selected. An icon will also appear indicating the type of geometry of the layer, or if it has a selection (with a background yellow circle).
Integration with the new plugin to capture coordinatesAt field type parameters, you can also see information about the type of field. and in the future you will be able to see an icon identifying that field.
Last year we released a new extension to capture coordinates more effectively in the View. At the new version, the integration with the geoprocess framework has been completed, so that the points captured with that tool will appear at the selection of the Point type parameter.
New Filter type parameterAs we have told about and as we will explain in the next posts in detail, gvSIG has a new expression generator. In the geoprocessing framework this functionality has been added, so that new geoprocesses can have a new type of parameter that is expression type.
This parameter can greatly improve the execution of a geoprocess by a filter and it is also much more optimal to use than a selection done with the ‘Selection by attribute’ tool. It can greatly improve the processing of some geoprocesses.
This parameter, according to the geoprocess, could be used for values calculation tasks, filtering, etc.
The expression type parameter is associated to each layer or table type parameter, so that several of these parameters may exist in the same geoprocess. Each time we run the expression generator we will see that this window is associated with the corresponding initial parameter.
Now you can start to test all these improvements at the new distribution candidate to final version and if you find any error we encourage you to write about it at the users mailing list. It will help us to fix them.
Â
-
20:00
Navigating the Green Book
sur Google Maps ManiaIn the 1930's Victor H. Green started publishing an African-American travel guide (first published as 'The Negro Motorist Green Book' and later as 'The Negro Travelers' Green Book'). In the guides Green reviewed hotels and restaurants which welcomed Black customers during the time of Jim Crow laws and racial segregation. Back in 2013 the University of South Carolina created an interactive -
18:00
Mapping the Carbon Costs of Flying
sur Google Maps ManiaFlying is one of the worst things that you can you do for the environment. Aircraft are just about the worst forms of transport in terms of the CO2 cost per passenger kilometer. The UK's Department for Transport claim that flying is responsible for at least 6.3% of the UK's CO2 emissions. Many environmentalists say that this is an underestimation. The Flight Emissions Map allows you to -
16:00
Mapping the Approaching Apocalypse
sur Google Maps ManiaMagyarország Húszezer év Múlva (Hungary in 20,000 Years) is a collection of four interactive maps which imagine what a post-apocalyptic Hungary might look like. I have no idea why living under the rule of Viktor Orbán would make Hungarians think about the end of the world, but the pessimistic developers of these maps have imagined four different scenarios that could lead to the end of human
-
14:38
gvSIG Team: Camino a gvSIG 2.5: Mejoras en el marco de geoprocesos
sur Planet OSGeoLa versión de gvSIG Desktop 2.5, que ya puedes testear con la nueva candidata a versión final, trae una serie de mejoras en el marco de geoprocesos que explicamos a continuación.
Mejoras visualesAhora al abrir los geoprocesos, podremos notar que en la interfaz nos aparece información extra sobre las capas y los campos que antes no tenÃamos.
En los parámetros de tipo capa, podremos ver rápidamente el nombre de la capa, el nombre de la Vista en la que se encuentra, si tiene una selección activa y de cuantas entidades es esa selección. También aparecerá un icono que nos indica el tipo de geometrÃa de la capa o si tiene una selección (con un circulo amarillo de fondo).
En los parámetros de tipo campo, también podremos ver información sobre el tipo de campo que es y a futuro veremos un icono identificativo de dicho campo.
Integración con el nuevo capturador de coordenadasEl año pasado sacamos una nueva extensión para capturar coordenadas de manera más efectiva en la Vista. Con la nueva versión, se ha completado la integración con el marco de geoprocesos, por lo que los puntos capturados en la herramienta, aparecerán en la selección del parámetro de tipo Punto.
Nuevo parámetro de tipo FiltroComo hemos comentado y explicaremos en próximos post con más detenimiento, gvSIG tiene un nuevo generador de expresiones. En el marco de geoprocesos hemos añadido esta funcionalidad para que nuevos geoprocesos puedan tener un nuevo tipo de parámetro que sea de tipo expresión.
Este parámetro puede agilizar enormemente la ejecución de un geoproceso por un filtro y además es mucho más optimo de utilizar que una selección realizada con el Selección por atributos, lo que puede mejorar enormemente la velocidad de algunos geoprocesos.
Este parámetro, según el geoproceso, podrÃa utilizarse para tareas de cálculo de valores, de filtrado, etc.
El parámetro de tipo expresión, va asociado a cada parámetro de tipo capa o tabla, por lo que en un mismo geoproceso pueden existir varios de estos parámetros. Cada vez que le demos al generador de expresiones veremos que esa ventana está asociada al parámetro inicial que corresponde.
Ya puedes comenzar a probar todas estas mejoras en la nueva candidata a versión final y si encuentras cualquier fallo o recomendación te animamos a escribirnos a las Listas de correo de gvSIG.
Â
-
20:00
Exploring the Moon
sur Google Maps ManiaThe LROC Lunar QuickMap is an interactive map of our nearest neighbor. The Lunar Reconnaissance Orbiter Camera (LROC) is a system of three cameras mounted on the Lunar Reconnaissance Orbiter, a robotic spacescraft currently orbiting the Moon. The Lunar Quickmap interactive is created from the high resolution images of the lunar surface captured by the LROC. The LROC QuickMap includes a number -
18:00
The Cheapest Flight to Every City in the World
sur Google Maps ManiaThree researchers at MIT Senseable's Lab in Singapore have created an interactive map which shows the cheapest flight to every city in the world on any given date from your nearest airport. Using the Great Escape map you can search for any destination across the globe and find the cheapest flights for when you want to travel. Enter a point of departure into the Great Escape and the interactive
-
17:23
Just van den Broecke: Emit #6 – AirSensEUR Calibration
sur Planet OSGeoThis is Emit #6, in a series of blog-posts around the Smart Emission Platform, an Open Source software component framework that facilitates the acquisition, processing and (OGC web-API) unlocking of spatiotemporal sensor-data, mainly for Air Quality and other environmental sensor-data like noise.
In Emit #5 – Assembling and Deploying 5 AirSensEURs…, I described how , with the great help of Jan Vonk from RIVM, we placed five AirSensEUR (ASE) air quality stations at the RIVM reference site near the A2 Highway at Breukelen. For about 2.5 months raw data was gathered there while the RIVM station was gathering its data to be used as reference for calibration.
Now “calibration†is a huge and increasingly important topic when using inexpensive sensors for measuring Air Quality. Within the Smart Emission project we have been applying Artificial Neural Networks to calibrate the gas-sensors within the Josene stations. See also the SE documentation. These sensors were so called metaloxide (MICS) sensors from SGX Sensortech Limited.
The AirSensEURs contain electrochemical sensors from AlphaSense. Several sources like RIVM, state that these sensors are more accurate (than metaloxide sensors), but at the same time need per-sensor calibration.
Within the ASE boxes the following four gas-sensors were applied:
- NO2 (Nitrogen Dioxide): the NO2-B43F, see datasheet.
- NO (Nitric Oxide): the NO-B4, see datasheet.
- O3 (Ozone): the OX_A431, see datasheet.
- CO (Carbon Monoxide): the CO-A4, see datasheet.
The Gang of Four Sensors
The calibration to be applied is based on Regression Analysis. This and other calibration-methods have been investigated and evaluated for many types/brands of sensors by the EC-JRC team. Read all in this landmark article and other references there.Â
The complete timeline was as follows. Each phase will be expanded below.
-
Aug 1, 2018 – Okt 9, 2018
Raw ASE and RIVM reference data collection (Breukelen site) -
Okt 10, 2018 – Nov 2, 2018
All ASEs deployed at their target locations -
Nov/dec 2018
Calibration performed by Michel Gerboles at the EC-JRC lab -
Jan 2019
Calibration formulas implemented in Smart Emission (SE) platform -
Feb 2019
All ASE calibrated gas-data continuously available via SE viewers/APIs -
Feb 2019
Analysis of the calibration (SE Python Stetl) implementation results
ad 1) The five ASE Boxes were mounted on a horizontal pole and connected to WIFI and current. As end-result all boxes were publishing their raw data to the SE InfluxDB Data Collector and were visible in the SE Grafana raw data viewer.
Configured for InfluxDB Data Push visualized via Grafana
Reference values for the gases NO,NO2 and O3 were already continuously available from the RIVM reference station via e.g. the RIVM SOS API. A CO-sensor was added to the station by RIVM. CO-data was collected manually.
ad 2) The picture below shows ASE_NL_01 (left above) through _05 clockwise at their deployment sites. ASE_03 and 04 (right below) were at a single location.
ASE_NL 01 was deployed at an RIVM site in Nijmegen. This allowed us to verify its calibration with different reference data as with which it was calibrated! See below.
ad 3) The calibration was performed by EC-JRC (M. Gerboles) using R and ShinyR webapp. All sources can be found in this EC-JRC GitHub repo. This process is quite intricate and a bit hard to explain in the context of a blog-post paragraph. I’ll try a summary:
Sensor values are digital readings (0..65535). This is effected by the electrical circuitry within each ASE, for optimal gain. To calculate back to mV and nA a per-sensor (brand+type) calculation is required first before applying any regression formula. A bit is explained in the image below.
The second outcome is a per-individual-sensor regression formula. This is for most sensors a linear equation. For O3 (OX_A431) the formula is polynomial, as O3 readings are influenced by NO2 concentration. Below is an example as later implemented in Python using SE Stetl ETL (see below).
The main three outcomes of the calibration are:
- the parameters for digital to nA calculation (per sensor brand+type)
- the linear (polynomial) equations for nA to concentration (ug/m3)
- the per-individual-sensor parameters (a0-a3)
Above some scatterplots made for ASE Box 3 NO2 and O3.
ad 4). Knowing all equations and their parameters from step 3 above, I attempted to integrate this in the continuous ETL within the Smart Emission Platform. Up to now the platform supported only a single sensor station type: the Intemo Jose(ne). As the platform is fed by harvesting raw data from a set of remote APIs provided by Data Collectors, it was relatively easy to add sensor(-station)-metadata and extend the Refiner ETL to apply calibration algorithms driven by that metadata.Â
So for Josene stations the existing ANN calibration would still be applied, while for ASE stations per-sensor linear equations would be performed. All parameterization was already configurable using the Device, DeviceDefs, DeviceFuncs abstractions in the SE Stetl implementation. Recently, to allow stations that already send calibrated values, I introduced the Vanilla Device starting with harvesting Luftdaten.info stations (more in a later post).
The formula’s as applied in Python SE Stetl are as follows:
STEP 1a - Digital to Voltage (V)
V = (Ref - RefAD) + (Digital+1) /2^16 x 2 x RefADSTEP 1b - Voltage (V) to Ampere (I) as Ri
I = 10^9 V/(Gain x Rload)STEP 2 - Ampere (I) to concentration (ug/m3) - Example
I=a0+a1*NO2+a2*T==> NO2Â = (I - a0 - a2 * T) / a1
a0-a2 has specific values for each NO2-B43F sensor.Now that these formulas and their parameters were implemented, near-realtime values could be made visible in all SE apps (viewers) and APIs such as the SmartApp and the Heron Viewer.
Within the Heron Viewer we can compare for example NO2, not only with Josene measurements, but also with official RIVM values.
Also the data is available through all SE OGC APIs, for example the SensorThings API.
ad 6) The moment of truth! How well does the SE-based SE Stetl Python calibration results fit with the original RIVM values? One of the advantages of Data Harvesting (opposed to data push) is that we can switch back in time, i.e. restart harvesting from a given date. Harvesting and continuous calibration was restarted from august 1, 2018, the start of the calibration period at the RIVM station. Using a Grafana panel that displays both RIVM and SE-calculated values we can graphically see how well the data aligns.
What we can see from the above image, is that visually the data aligns very well, here for NO2. The purple graph is the official RIVM measurement. Only station ASE NL 02 is not completely aligned.
To also have some numeric proof and a more objective comparison, I dived in scatterplot and numerical analysis in Python. Apart from scatterplots that show calculated (Y) agains RIVM ref values (X) I calculated the “R-squared†and “slope†for fitting indicator values. This was also my first serious use of Python libs like Scipy, Pandas, Seaborn and Numpy (you’re never too old to become a data-scientist!).
As all SE calibrated data is also stored in InfluxDB with RIVM refdata harvested from their SOS, it was easy to fetch values for the plots/calculations..
Objectivity could be effected since station ASE NL 01 was finally deployed (okt 2018) in Nijmegen, also next to an RIVM station. So the calibration calculations from RIVM refdata in Breukelen could be compared to “Nijmegenâ€. The implementation for making these scatterplots can be found here. Lets look at some results, mainly for NO2, as I consider this one of the most important AQ indicator gasses.
I like this image a lot as it shows an almost ideal alignment with an R2 of 0.976 and slope of almost 1. Mind: calibration was thus done at a very different site (about 80 km west) and AQ condition (highway) as the deployment (city street).Â
Above are plots for the other gasses as well. First row in Breukelen (no ref CO available in RIVM SOS), front row in Nijmegen. Only NO in Nijmegen is a bit problematic.
To close off: this last image above shows NO2 fit at the Breukelen station for all five ASE boxes. Also quite good.
What to conclude? First of all AirSensEUR is a major step forward in affordable accurate AQ sensing. We hope to expand the community.
AlphaSense NO2 electrochemical sensors appear quite accurate, but calibration requires quite some effort, plus calibration formulas apply per individual sensor. Would automatic per-sensor ANN be less time-consuming and still accurate? Something I would like to investigate.
The Smart Emission project and platform is still going strong, running within a Kubernetes Cloud maintained by Dutch Kadaster.
Next emit will discuss how I integrated data from the amazing Luftdaten.info project for the municipality of Nijmegen.
-
14:51
The 2019 Submarine Cable Map
sur Google Maps ManiaDrum roll please ... the 2019 Telegeography Submarine Cable Map has arrived. Every year Telegeography releases a new updated version of its map of the global network of undersea telecommunication cables. This year's map highlights the huge recent building boom in submarine cables. This boom will see in the next few years around 107 new submarine cables being laid around the world, adding over
-
14:13
gvSIG Team: gvSIG 2.5 RC1 disponible, primera distribución candidata a final
sur Planet OSGeoYa está disponible para descargar la primera distribución candidata a final (RC1) de la nueva versión gvSIG 2.5.
Esta versión puede descargarse desde el apartado de versiones en desarrollo de la web del proyecto.
Las novedades que incluye esta versión son múltiples, desde nuevas funcionalidades hasta mejoras en rendimiento y estabilidad. Muchas de ellas pueden ser consultadas ya en los diferentes post que se están publicando en el blog, como pueden ser:
- Informe por punto
- Campos virtuales
- Guardar y cargar un etiquetado
- TopologÃa
- Nuevo visor de imágenes mejorado
- Plugin para convertir una capa vectorial 2D a 3D a partir de un MDT
- Biblioteca de sÃmbolos “Indigenous mappingâ€
Seguiremos publicando más posts sobre el resto de novedades durante las próximas semanas.
Con la publicación de esta primera RC, pretendemos que la Comunidad gvSIG comience a probarla de forma masiva y que nos vayáis comunicando los errores que detectéis a través de las listas de usuarios para corregirlos.
También estamos preparando en paralelo la versión para MAC OS X, cuya versión portable, asà como las versiones portables de Windows y Linux, esperamos tenerlas en los próximos dÃas.
-
14:12
gvSIG Team: gvSIG 2.5 RC1 available, first release candidate to final version
sur Planet OSGeoThe first release candidate (RC1) of the new gvSIG 2.5 version is now available to download.
This version can be downloaded from the development versions section of the project website.
The novelties included in this version are multiple, from new functionalities to performance and stability improvements. Many of them can be consulted already in the different posts that are being published on the blog, such as:
- Report by point
- Virtual fields
- Saving and loading labelling
- Topology
- New improved image viewer
- Plugin to convert a 2D vector layer to 3D from a DEM
- “Indigenous mapping†symbol library
We will continue publishing more posts about the rest of the novelties during the next weeks.
Publishing this first RC, we intend that the gvSIG Community start to test it in a massive way and that you send us the errors that you detect through the user mailing lists to be fixed.
We are also preparing the version for MAC OS X in parallel, and its portable version, as well as the portable versions for Windows and Linux, will be available in the coming days.
-
20:00
Should Your Maps Talk?
sur Google Maps ManiaBack in 2014 I used the fairly new (at the time) Web Speech API to create a simple Speaking Map. That map used reverse geocoding to speak the address of a location every time someone clicked on the map. What I neglected to add to my Speaking Map was jokes. Which is where Alex wins out. Alex is a talking map which can understand a number of different spoken commands. You can ask Alex to zoom in -
18:00
Earth's Light Mountains
sur Google Maps ManiaLast year Jacob Wasilkowski released an interactive map which visualized Nasa’s nighttime lights data as as elevation data. In other words the Earth at Night map shows light pollution around the world in 3D as mountains of light. NASA's so called Black Marble map is made by combining the best cloud-free satellite images of every land mass area of the Earth. The result is a map which shows the -
16:00
The UK Child Poverty Map
sur Google Maps ManiaIn some areas of the UK over half of all children are now living in poverty. The levels of child poverty are highest in some of the UK's largest cities, particularly in London, Birmingham and Manchester. For example, in London's Bethnal Green 54.18% of children are living in poverty and in Birmingham's Ladywood neighborhood 53.06% of children are growing up in poverty. The End Child Poverty
-
12:33
gvSIG Team: Towards the new gvSIG 2.5 version: Calling for translators
sur Planet OSGeoThe stabilization phase of the new gvSIG 2.5 version has started, and in order to have the final version with as many languages as possible the update of the translations of the interface are being carried out too.
Currently gvSIG has been translated to more than 25 languages, thank to the participation of the Community.
There are two ways of collaboration: updating any of the existing languages, as well as translating gvSIG interface to a new language in which gvSIG is not translated currently.
If you are interested in translating gvSIG interface you can contact the gvSIG Project [info@gvsig.com] and we would send the instructions to do it.
Translations that aren’t finished when the final version is released will be published as a package to be loaded from the gvSIG Add-ons manager. We will inform about these updates at the gvSIG blog.
We expect your collaboration!
-
12:22
gvSIG Team: Hacia la nueva versión gvSIG 2.5: Llamamiento a traductores
sur Planet OSGeoLa nueva versión 2.5 de gvSIG Desktop ya se encuentra en fase de estabilización, para lo cual se ha comenzado también con la actualización de las traducciones de la interfaz. El objetivo es el de tener la versión final disponible en el mayor número de idiomas posible.
Actualmente gvSIG se encuentra traducido a más de 25 idiomas, gracias a la participación de la Comunidad.
Existen dos formas de colaboración, bien actualizar cualquiera de los idiomas ya existentes en versiones anteriores, o bien traducir a algún idioma en el que no se encuentre traducido gvSIG actualmente.
Si estáis interesad@s en traducir la interfaz de gvSIG podéis poneros en contacto con el proyecto [info@gvsig.com], y os indicaremos las instrucciones.
Las traducciones que no estén finalizadas en el momento de la publicación de la versión final se publicarán como paquetes que podrán ser cargados directamente desde el Administrador de complementos de gvSIG. Iremos informando sobre estas actualizaciones en el blog de gvSIG.
¡Esperamos vuestra colaboración!
-
20:00
I 💛💗💖 Maps
sur Google Maps ManiaI saw a few Valentines Day themed maps this week. None of them were that interesting. I did end up writing about Esri's map of Britain's Most Romantic Roads but that was really only because I wanted to explore the toponym of the 168 Love Lanes on Esri's map - the original meaning of which is maybe not quite as romantic as Esri imagines (John Stow in 1598 said London's 'Love Lane' was "so called -
18:00
Amazon's Lord of the Rings Map
sur Google Maps ManiaAmazon is busy creating a Lord of the Rings Prime Video series. Little is known about the television series, as of yet, but there is a Lord of Rings on Prime official Twitter account. On Wednesday that account made it's first Tweet, which was a short Tolkien quote, “I wisely started with a map†— J.R.R. Tolkien — The Lord of the Rings on Prime (@LOTRonPrime) Yesterday that Tweet was -
20:00
Do You Speak the Queen's English?
sur Google Maps ManiaThe most popular interactive page on the New York Times website in 2013 was How Y’all, Youse and You Guys Talk. This interactive feature asked readers to answer questions about the words they use and how they pronounce them. From the answers given to these language questions the NYT was able to create an interactive map showing where the reader was from in the United States. Now the New York -
18:00
America's 2018 Oil Spills
sur Google Maps ManiaOn average there were around 11 oils spills a month in the United States during 2018. The largest oil spill was in April in Superior, Wisconsin. 11 people were injured in the incident when a storage tank exploded. You can view all the 137 oil spills that occurred in the United States during 2018 on Resource Watch's interactive map. The 2018 Oil Spills Map uses data from NOAA to plot the -
12:30
Mapping Asia's Most Powerful Countries
sur Google Maps ManiaAccording to the Lowy Institute the USA is the most powerful country in Asia. I'm not sure I agree that the United States is in Asia but I'm not going to argue that it exercises a lot of influence in the continent. According to the Institute's Asia Power Index the next most powerful country in Asia is China. The Asia Power Index ranks 25 Asian countries and territories in terms of their power
-
12:25
gvSIG Team: Towards gvSIG 2.5: Report by point
sur Planet OSGeoWe are going to show you another novelty of the next version of gvSIG Desktop, that is called report by point. It is a configurable multilayer information button, and it is very useful to consult the information of different layers on a concrete location and visualize it in a simultaneous way.
The operation is very simple, you only have to click on a specific point on the View and a report will be shown in a new window on that point with all the attributes of all visible layers. In that report you can select and copy data to the clipboard, being able to paste them in other applications.
In addition, a new tab has been added to the layer “Propertiesâ€, that allows to define which fields you want to see in the report, and even you can modify the field name to be shown.
In the following video you can see how it works. Simple and extremely useful.
-
11:01
gvSIG Team: Camino a gvSIG 2.5: Informe por punto
sur Planet OSGeoLa novedad que os traemos hoy de la próxima versión de gvSIG Desktop la hemos denominado informe por punto. Viene a ser un botón de información multicapa y configurable. ¡Muy útil para consultar la información en un punto de distintas capas y visualizarla de forma simultanea!
El funcionamiento es muy sencillo, pulsamos en un punto determinado de la Vista y se nos mostrará en una nueva ventana un informe sobre ese punto con todos los atributos de todas las capas visibles. En este informe podemos seleccionar y copiar los datos al portapapeles, pudiendo asà luego pegarlos en otras aplicaciones.
Además se ha añadido una nueva pestaña a las “Propiedades†de la capa que permite definir que campos queremos que se visualicen en el informe, e incluso modificar el nombre con que aparece el campo.
En el siguiente vÃdeo podéis ver su funcionamiento. Sencillo y extremadamente útil.
-
20:30
The Best Brewery Road Trip Ever
sur Google Maps ManiaIf you are tired of the usual bog standard Saturday night pub crawl and you want to take on something a little more ambitious then you need Flowing Data's Brewery Road Trip. This map provides you with the shortest possible route that takes in all the best American breweries. If you undertake this mega journey then you will visit all 71 American breweries in RateBeer's list of the top 100 -
18:00
A Strip Map of Mars
sur Google Maps ManiaIn 1675 John Ogilby published Britannia, a series of strip maps of roads in England and Wales. In 2019 the New York Times also published a strip map. Only this strip map shows the journey of a robot on Mars. On Wednesday NASA announced that the Mars Opportunity rover was no longer working. In June Opportunity went into hibernation during a dust storm on Mars. It was hoped that after the -
15:40
The UK's Most Romantic Streets
sur Google Maps ManiaThere are 168 Love Lanes in Great Britain. You can view them all on Esri Valentine's Day interactive map, Britain's Most Romantic Roads. The Esri map has 1,453 romantic streets in total. As well as showing the location of all 168 Love Lanes Esri's map includes a Kissing Tree Lane in Stratford-upon-Avon, a Partnership Way in Blackburn and a Heart’s Delight Road in Kent. The toponym 'Love Lane'
-
15:19
gvSIG Team: Free course about Geographic Information Systems applied to archaeology: Certification and links to the complete course
sur Planet OSGeoThe certification of the course about Geographic Information Systems applied to archaeology is now available (this course is also available in Spanish).
This certification starts after publishing the seven modules that form the course, but it will continue open continuously, so that any user can get it at any moment when the modules are finished.
To take the course, that is free of charge, it’s not necessary any registration. You only have to follow the videos of the different modules induicated at the end of this post.
In addition, if you want to get the certification of the course, that is optional, a complete exercise must be completed, which includes some of the contents shown during the course. Likewise, you must have at least 6 of the 9 existing activities correctly, which will validate the knowledge acquired during the course and will be evaluated by a tutor.
Apart from the delivery and passing exercise successfully, the certification will have a minimum cost, necessary to cover the expenses related to the evaluation and certification. This cost will be € 25.
The certification will be issued by the gvSIG Association, and will include the Course completion certificate.
The exercise and the cartography to be used at this practical exercise can be downloaded from the following links:
In the first section of the practical exercise the steps to follow to send it are explained in detail, as well as how to make the payment.
The course is composed of the following modules:
- Module 1: Preparation of an archaeological project
- Module 2: Digitalizing prospection areas
- Module 3: Analysis of prospection results: Vector geoprocessing
- Module 4: Working with historical maps: Georeferencing images
- Module 5: Territorial analysis of archaeological sites: Raster geoprocessing and Digital Elevation Models
- Module 6: Hydrological analysis to locate archaeological material or sites
- Module 7: Graphical output of an archaeological project: Layouts
-
15:11
gvSIG Team: Curso gratuito de Sistemas de Información Geográfica aplicados a arqueologÃa: Certificación y enlaces al curso completo
sur Planet OSGeoYa está disponible la certificación del curso de Sistemas de Información Geográfica aplicados a arqueologÃa (este curso también está disponible en inglés).
Esta certificación se abre tras la publicación de los siete módulos que componen el curso, pero seguirá abierta de forma continua, por lo que cualquier usuario podrá obtenerla en el momento en que finalice los distintos módulos.
Para poder realizar el curso, que es gratuito, no es necesario registrarse en ningún portal, solo se deben seguir los vÃdeos de los módulos que lo forman, indicados al final de este post.
Por otro lado, si se desea obtener la certificación del curso, que es opcional, se deberá completar un completo ejercicio, que incluye algunos de los contenidos impartidos durante el curso. Asà mismo, se deberá tener correctamente al menos 6 de las 9 actividades existentes en dicho ejercicio, que validará los conocimientos adquiridos durante el curso y será evaluado por un tutor.
Aparte de la entrega y aprobación del ejercicio, la certificación llevará un coste mÃnimo, necesario para cubrir los gastos relativos a la evaluación y certificación. Este coste será de 25 €.
La certificación será emitida por la Asociación gvSIG, e incluirá el Certificado de aprovechamiento del curso.
El ejercicio y la cartografÃa a utilizar en el mismo pueden descargarse desde los siguientes enlaces:
En el primer apartado del ejercicio práctico se explica con detalle los pasos a seguir para enviar la práctica, asà como para la realización del pago para poder obtener el certificado.
El curso se compone de los siguientes módulos:
- Tema 1: Preparación de un proyecto arqueológico: vistas, capas y tablas
- Tema 2: Digitalizar zonas de prospecciones
- Tema 3: Análisis de resultados de prospecciones: Geoprocesos vectoriales
- Tema 4: Trabajando con mapas antiguos: Georreferenciación de imágenes
- Tema 5: Análisis territorial de yacimientos: Geoprocesos ráster y Modelos Digitales de Terreno
- Tema 6: Análisis hidrológico para localizar materiales o yacimientos arqueológicos
- Tema 7: Salida gráfica de un proyecto arqueológico: Mapas. SIG aplicados a ArqueologÃa
-
20:00
The Weather Forecast for 2080
sur Google Maps ManiaIn the year 2080 the climate in Washington D.C. will resemble the current climate experienced in the state of Mississippi. Portland will experience a climate similar to California's current climate. And Los Angeles will have a climate which resembles present day Las Palmas in Mexico. You can find out what kind of climate your city can expect in 2080 on the University of Maryland's new -
18:05
1.4 Million New York Collisions
sur Google Maps ManiaTimes Square witnessed more pedestrian injuries from motor vehicle collisions between 2012 and 2019 than any other location in New York. The most cyclists injured during that period was on Delancey Street on Manhattan’s Lower East Side. You can explore more motor vehicle collision trends in New York on the Motor Vehicle Collisions Map. The Motor Vehicle Collisions Map uses New York Police
-
14:24
gvSIG Team: Towards gvSIG 2.5: “Indigenous mapping†symbol library
sur Planet OSGeoNot all the novelties of the next gvSIG Desktop version are new functionalities. We added a new symbol library called “Indigenous mapping†that contains an interesting set of point symbols developed by “The Ethnographic Mapping Lab†of the University of Victoria and designed by the graphic artist James Gray.
The objective of these icons is to represent the set of activities, resources and locations commonly associated with indigenous mapping projects. We hope that they are useful for you.
Its installation and use is very simple, as you can see in the following video:
-
14:24
gvSIG Team: Camino a gvSIG 2.5: Biblioteca de sÃmbolos “Indigenous mappingâ€
sur Planet OSGeoNo todas las novedades de la próxima versión de gvSIG Desktop son nuevas funcionalidades. Añadimos una nueva biblioteca de sÃmbolos denominada “ Indigenous mapping†que contiene un interesante conjunto de sÃmbolos puntuales desarrollados por “The Ethnographic Mapping Lab†de la Universidad de Victoria y diseñados por el artista gráfico James Gray.
El objetivo de estos iconos es representar el conjunto de actividades, recursos y localizaciones comúnmente asociadas a los proyectos de mapeo indÃgena. Esperamos que os resulten de utilidad.
Su instalación y uso es muy sencilla, como podréis comprobar en el siguiente vÃdeo:
-
12:51
Delhi - A City Born of Partition
sur Google Maps ManiaAfter the partition of India in 1947 half a million Hindu and Sikh refugees from Pakistan arrived in Delhi. The arrival of half a million extra citizens changed Delhi for ever. In fact the impact of their arrival on the city itself can be observed by comparing the map of Delhi in 1942 to the map of Delhi in 1956. Delhi - 1942 vs 1956 allows you to directly compare a street map of Delhi in 1942
-
12:28
Fernando Quadro: GeoCast Live: OpenStreetMap no apoio ao desastre de Brumadinho
sur Planet OSGeoNo dia 14/02 as 19h acontecerá uma live promovida pelo Canal GeoCast (YouTube). Nesta live será possÃvel entender como se deu o esforço colaborativo de mapeamento da comunidade OpenStreetMap (OSM) na montagem de um mapa base pré e pós desastre da barragem de rejeitos de minério de ferro, da mineradora Vale em Brumadinho-MG, com o intuito de auxiliar no planejamento das buscas e do resgate das vÃtimas, bem como na recuperação a longo prazo da cidade de Brumadinho.
Se você tem interesse de participar, tirar dúvidas, ou simplesmente entender como se deu esse esforço colaborativo, segue abaixo o link para a live:
-
8:28
gvSIG Team: Camino a gvSIG 2.5: Guardar y cargar un etiquetado
sur Planet OSGeoSeguimos con más novedades. En este caso os traemos una pequeña funcionalidad pero muy útil. Se trata de la posibilidad de guardar una configuración de etiquetado y poder recuperarla para aplicarla posteriormente.
Cualquier usuario de un SIG sabe que en ocasiones puede conllevar un tiempo considerable definir las caracterÃsticas de un etiquetado; una configuración de etiquetado que no es recuperable para otros proyectos. Y también puede ocurrir que en un mismo proyecto, a una misma capa, nos pueda interesar aplicarle distintos tipos de etiquetado.
Este tipo de necesidades se cubren con esta nueva funcionalidad que permite guardar la configuración del etiquetado y recuperarla siempre que lo necesitemos.
Os dejamos con una pequeño demo de su funcionamiento:
-
8:25
gvSIG Team: Towards gvSIG 2.5: Saving and loading labelling
sur Planet OSGeoWe continue with more novelties. In this case it is a simple functionality, but very useful. This new tool allows to save a labelling configuration, being able to recover it later to apply it.
Any GIS user knows that sometimes it can take a considerable time to define the characteristics of a labelling; a labelling configuration that can’t be recovered for other projects. And sometimes we may be interested in applying different types of labelling in a same project to the same layer.
This type of needs are covered with this new functionality that allows to save labelling configuration and recovering it whenever we need it.
Here you have a short demo of this functionality:
Â
-
22:03
Martin Davis: Better and Faster Interior Point for Polygons in JTS/GEOS
sur Planet OSGeoA humble workhorse of geospatial processing is the ability to compute a point which is guaranteed to lie in the interior of a polygon. In the OGC Simple Features for SQL specification (and hence in PostGIS) this is known as ST_PointOnSurface. In JTS/GEOS it is called getInteriorPoint, for historical reasons [1].Interior points for country boundaries
There are some important use cases for this capability:- Constructing a "proxy point" for a polygon to use in drill-down spatial query. This has all kinds of applications:
- recovering attribution after polygon coverage generalization
- determining parentage during polygon overlay
- faster and more robust spatial join between polygonal datasets
- Cartographic rendering including:
- Creating leader lines
- Placing labels for polygons (for which it is a quick solution but not necessarily a quality one. More on this in a later post)
JTS Scan-Line Interior Point Algorithm- Determine a Y-ordinate which is distinct to every polygon vertex Y-ordinate and close to the centre of the vertical extent
- Draw a scan line across the polygon and determine the segments of intersection
- Choose the interior point as the midpoint of the widest intersection segment
Locating a polygon interior point along a scan-line
The current code has been in the JTS codebase since the release of the very first version back in 2001. It is elegantly simple, but is quite non-optimal, since it uses the overlay intersection algorithm. This is overkill for the computation of the scan-line intersection segments. It also has a couple of serious drawbacks: slow performance, and the requirement that the input polygon be valid. These are not just theoretical concerns. They have been noticed in the user community, and have caused client projects to have to resort to awkward workarounds. It's even documented as a known limitation in PostGIS.
Thanks to Crunchy Data recognizing the importance of geospatial, we've been able to look into fixing this. It turns out that a relatively simple change makes a big improvement. The scan-line intersections can be computed via a linear-time scan of the polygon edges. This works even for invalid input (except for a few pathological situations).Interior points of invalid polygons(LH invalid polygon shows suboptimal point placement)
Best of all, it's much faster - providing performance comparable to the (less useful) centroid computation. The performance results speak for themselves:Dataset # polys # points Time Prev
timeImprovement World countries 244 366,951 25 ms 686 ms x 27 Land Cover 64,090 366,951 78 ms 6.35 s x 81
This has been committed to JTS. It will be ported to GEOS soon, and from there should show up in PostGIS (and other downstream projects like QGIS, Shapely, GDAL, etc etc).
More Ideas
Some further improvements that could be investigated:- Use the centroid to provide the Y-ordinate. This is probably better in some situations, and worse in others. But perhaps there's a fast way to choose the best one?
- Use multiple scan-lines (both vertical and horizontal)
- Provide better handling of short/zero-width scan-line intersections
- Support clipping the interior point to a rectangle. This would provide better results for cartographic labelling
[1] JTS was based on the original OGC SFS specification (version 1.1). The spec actually does include a method Surface.pointOnSurface. The reason for the different choice of name is lost to time, but possibly the reasoning was that the JTS function is more general, since it handles all types of geometry. (One of the design principles of JTS is Geometric Uniformity, AKA No Surprises. Wherever possible spatial operations are generalized to apply to all geometric types. There is almost always a sensible generalization that can be defined, and it's often quite useful.)
[1a] Also, the acronym IPA is much better than the one for PointOnSurface.
[2] Apparently Oracle has decided to provide blazingly fast performance by simply returning a point on the boundary of the polygon. Thus proving the maxim that for every problem there is an solution which is simple, fast, and dead wrong.
-
20:30
Making Building Footprint Posters
sur Google Maps ManiaI have been inspired by Maptime's Street Patterns tool for making street pattern posters to make my own building footprint posters. Maptime's Street Patterns is a wizard for making map posters from street patterns which can be found at different locations around the world. The tool uses data from OpenStreetMap to create small circular images consisting of just the street map of your chosen -
18:00
Mapping American Debt
sur Google Maps ManiaMedical debt affects many Americans. Nearly 20% of Americans have delinquent medical debt on their credit reports. Even those with health insurance in America can still be burdened with huge medical debts. In fact around 60% of those with medical debt have health insurance. The Urban Institute's Debt in America visualizes medical debt levels in every county in the USA. The map allows you to -
15:30
How Green is London?
sur Google Maps ManiaThe Mayor of London has released an interactive map which visualizes London's green infrastructure. The map shows where Londoner's have good or poor access to open green spaces, such as parks, gardens, trees and rivers. The tool is designed to highlight where there is more and less need for investment in London's green infrastructure. The Green Infrastructure Focus interactive map can be used
-
12:11
gvSIG Team: Towards gvSIG 2.5: Topology
sur Planet OSGeoAnother important novelty of the next version of gvSIG Desktop is the incorporation of a topology framework.
The topology term refers to the spatial relationships between the different entities of a GIS. These special relationships turn into a set of rules (topological rules) that we can apply to our data. The topological rules that can be applied depend mainly on the types of data that we have. There are rules that are applied to polygon layers, point layers, line layers, to the relationship between a polygon layer and a point layer, etc.
gvSIG Desktop 2.5 will have a topology framework where we have already implemented a first set of rules, but it is prepared to grow unlimitedly, allowing as many new rules to be developed as necessary.
With this topology framework, gvSIG Desktop possibilities to edit and manage cartographic information are greatly increased.
At this video you can see its interface and how it works:
Â
-
11:54
gvSIG Team: Camino a gvSIG 2.5: TopologÃa
sur Planet OSGeoOtra de las más importantes novedades de la próxima versión de gvSIG Desktop es la incorporación de un marco de topologÃa.
El término topologÃa se refiere a las relaciones espaciales entre las distintas entidades de un SIG. Estas relaciones especiales se traducen en un conjunto de reglas (reglas topológicas) que podremos aplicar sobre nuestros datos. La reglas topológicas que se pueden aplicar dependen principalmente de los tipos de datos que dispongamos. Hay reglas que se aplican a capas de polÃgonos, otras a capas de puntos, otras a capas de lÃneas, otras a la relación entre una capa de polÃgonos y otra de puntos, etc.
gvSIG Desktop 2.5 traerá un marco de topologÃa al que ya le hemos implementado un primer conjunto de reglas, pero que está preparado para crecer ilimitadamente, permitiendo que se desarrollen tantas nuevas reglas como sea necesario.
Con la incorporación de este marco de topologÃa se amplÃan enormemente las capacidades de gvSIG Desktop para editar y gestionar la información cartográfica.
Para que veáis su interfaz y funcionamiento os dejamos con este vÃdeo:
-
0:49
Gary Sherman: Leaflet Day 14 - Image Overlay and Wrap-up
sur Planet OSGeoWe end our series with a somewhat trivial, though interesting addition to our map and a special offer. Leaflet allows you to add an image that spans a specified region on the map. Here we add a picture of a little lost moose to the map. In this instance, it serves no purpose other than to show we can do it. The JavaScript code needed is: var imageUrl = "/images/calf_moose.png"; bounds = thetrail.
-
22:30
Sydney No Harbour Bridge
sur Google Maps ManiaDX Lab's Pano-scope allows you to view some of the vintage historic panoramic photographs in the New South Wales State Library Collection. The library owns historical panoramic photographs taken in Sydney and elsewhere in New South Wales dating back as early as 1876. Pano-scope is a wonderful way to explore the NSW of the late nineteenth and early twentieth century. It allows you to see how -
20:00
To the Kuiper Belt & Beyond
sur Google Maps ManiaJosh Worth's If the Moon Were Only 1 Pixel is a scaled model of the Solar System. The model takes you on a 5,906,510,212 km journey from the sun out as far as Pluto. Luckily for us in this model each pixel is 3474.8 km, so we can cut down the journey time a little. If you haven't got the time to travel to Pluto today then perhaps I can interest you instead in a quick journey to Mars. How Far is -
18:00
How to Make Street Pattern Posters
sur Google Maps ManiaMaptime Amsterdam #5: Street Patterns is a great tool for making map posters of the city street patterns which can be found at different locations around the world. The tool uses data from OpenStreetMap to create small circular images consisting of just the street map of your chosen location. You can see an example of the map images that Street Patterns outputs in my little Tokyo map above.
-
11:52
gvSIG Team: Towards gvSIG 2.5: Virtual fields
sur Planet OSGeoWe advance one of the (many) novelties that the next gvSIG Desktop version includes and we think that it will be very useful. This new feature is the virtual fields support (also known as calculated or generated fields).
This fields contain values ​​that are calculated when executing a certain formula that the user has defined. And, therefore, their values ​​are automatically updated each time there is a change that affects that formula.
For example, in the next video, we can see how a virtual field with population density based on the values ​​of two other fields (area and population) can be calculated. When changing any of those two values ​​- in the video we can see how the population value is modified – we see how the density is calculated automatically again and it shows the new values.
Another example where the usefulness of these fields is shown is when we create a virtual field that calculates the area of ​​the geometries. Each time we modify a geometry graphically… the polygon area will be updated.
In addition, with the new and powerful formula generator that has been implemented in gvSIG Desktop 2.5 (and which we will discuss in the next post), the possibilities are practically unlimited.
-
10:29
gvSIG Team: Camino a gvSIG 2.5: Campos virtuales
sur Planet OSGeoOs adelantamos una de las (muchas) novedades que trae la próxima versión de gvSIG Desktop y que pensamos que va a resultar de muchÃsima utilidad. Se trata del soporte a campos virtuales (también conocidos como campos calculados o generados).
Este tipo de campos contienen valores que se calculan al ejecutarse una determinada fórmula que hayamos definido. Y, por tanto, sus valores se actualizan automáticamente cada vez que hay algún cambio que afecta a esa fórmula.
Por ejemplo, en el siguiente vÃdeo, vemos como creamos un campo virtual que calcula la densidad de población en función de los valores de otros dos campos: área y población. Al cambiar cualquiera de esos dos valores – en el vÃdeo vemos como modificamos la población – observamos como de forma automática se calcula de nuevo la densidad y nos muestra los nuevos valores.
Otro ejemplo que os puede permitir ver la utilidad de estos campos: crear un campo virtual que calcule el área de las geometrÃas. Cada vez que modifiquemos gráficamente una geometrÃa…su área estará actualizada.
Además, con el nuevo y potente generador de fórmulas que se ha implementado en gvSIG Desktop 2.5 (y del que hablaremos en próximos post), las posibilidades son prácticamente ilimitadas.
-
22:59
Gary Sherman: Leaflet Day 13 - Styling with a Plugin
sur Planet OSGeoToday we’ll take a look at another plugin—one that allows us to interactively change they style of features on our map: Leaflet.StyleEditor. This illustrates how we can customize our map by changing styles on the fly and also serves as a starting point for even more customization. Installing and Referencing the Plugin The web page for the plugin provides information on installing it. This requires getting the css, js, and image files in the proper location, then referencing them in our HTML file: -
22:00
Stefano Costa: Reproducible science per archeologi
sur Planet OSGeoIl 20 febbraio 2019, a Padova, tengo un workshop su Reproducible science per archeologi dentro il convegno FOSS4G-IT 2019. Avete tempo fino a mercoledì 13 febbraio per iscrivervi.
Cosa facciamoQuesto workshop guida i partecipanti nella creazione di una analisi di dati archeologici, secondo i canoni della reproducible science sempre più diffusi a livello internazionale e trasversale.
Utilizzando software di elaborazione ben noti come il linguaggio R e l’ambiente di programmazione RStudio, partiremo da alcuni dataset e affronteremo i vari passaggi analitici che vengono trasposti sotto forma di codice: è una procedura pensata per rendere esplicito il processo di ricerca con i suoi meccanismi di tentativi ed errori, secondo il principio della ripetibilità sperimentale.
I partecipanti potranno intervenire attivamente con me nella definizione del percorso e del prodotto finale del workshop, esplorando le pratiche più attuali della open science archeologica diffuse a livello internazionale.
Ci colleghiamo ad altri workshop svolti negli anni scorsi negli USA da Ben Marwick e Matt Harris.
Come iscriversiVi potete registrare fino al 13 febbraio 2019 su questa pagina [foss4g-it2019.gfoss.it]
Per l’iscrizione è richiesto un pagamento di 10 € che vanno a coprire i costi organizzativi dell’evento – non serve a pagare il sottoscritto.
Letture e riferimenti
Per partecipare servirà avere installato R, RStudio e se possibile anche Git:
Di seguito qualche link a letture utili per prepararsi al workshop: