Welcome to Planet OSGeo

July 22, 2014

Boundless Blog

Boundless Growth

Eddie Pickle

Boundless is growing but our focus remains helping customers build the best web mapping applications. We’ve recruited a stronger leadership team and are enhancing our current products while also developing new products and services to help customers in new ways.

We recently added Ann Johnson as our new CEO to strengthen our team and leadership. Ann’s experience with enterprise software, particularly her deep knowledge of security, greatly expand our expertise in critical areas of Spatial IT.

At the same time, we have been steadily adding capabilities to OpenGeo Suite to enable easier, more scalable web services deployments. To help our customers successfully build enterprise mapping applications, we’re advancing open source software like OpenLayers 3 and providing new SDK templates that leverage this new technology. We continue to “lower the cost of free software” by making secure, fault tolerant, and scalable deployments of our open source stack simpler, faster, and easier.

Additionally, some of our key initiatives include:

With Ann joining Boundless, I’m focusing my efforts on developing these and other capabilities to grow our business, with a particular emphasis on developing new partnerships to create a new geospatial ecosystem based on open source software. We believe the future is bright for open source–based solutions to address a variety of challenges, from publishing data to asset management to customer services. I look forward to working with our customers and partners to reshape this industry!

The post Boundless Growth appeared first on Boundless.

by Eddie Pickle at July 22, 2014 07:46 PM

GeoSolutions

Esalab si unisce al programma di partnership di GeoSolutions!

partnership-en

GeoSolutions è lieta di annunciare l’accordo di Partnership raggiunto con l’azienda Esalab S.r.l. grazie al quale Esalab S.r.l. rappresenterà GeoSolutions  nelle regioni di Marche, Abruzzo e Basilicata.

L’accordo di Partnership tra GeoSolutions e Esalab costituisce l’inizio di un percorso che ha l’obiettivo di creare una rete di imprese coinvolte nello sviluppo e nella promozione dei principali software geospaziali Open Source da sempre promossi e sviluppati da GeoSolutions. La costruzione di una rete di imprese dislocate sul territorio nazionale e internazionale in grado di supportare gli utenti e di promuovere professionalmente i software geospaziali Open Source GeoServer, GeoNetwork e MapStore mira a raggiungere un ulteriore miglioramento dei servizi offerti.

I partner di GeoSolutions saranno formati direttamente dai technical lead di GeoSolutions e saranno, come nel caso dell’azienda Esalab, partner strategici già coinvolti a vario titolo nello sviluppo e nell’utilizzo dei software geospaziali Open Source promossi e curati da GeoSolutions in modo da garantire ai clienti dei partner la possibilità di interagire direttamente con coloro che sviluppano i software supportati per garantire una efficacia di servizio senza pari.

L’integrazione tra i tecnici di GeoSolutions e quelli delle aziende partner dislocate sul territorio è pensata nell’ottica di fornire al cliente finale un supporto ancora più presente e professionale attraverso un parco consulenti articolato ed eterogeneo capace di affrontare qualsiasi problematica in modo efficiente ed efficace.

Chi è GeoSolutions

GeoSolutions è un’azienda altamente specializzata  nella gestione, processamento e disseminazione  dei dati geospaziali sia raster che vettoriali tramite l’utilizzo di software Open Source secondo le specifiche dettate dall’Open  GeoSpatial Consortium  (OGC) e dell’ ISO Technical Committee 211 che a loro volta forniscono  la base delle regole di INSPIRE ed RNDT.

GeoSolutions è composta da professionisti di livello internazionale con esperienza pluriennale nella progettazione, realizzazione e supporto di infrastrutture Enterprise per la gestione di dati geospaziali. I membri dello staff di GeoSolutions sono a vario titolo leader di alcuni tra i principali prodotti  Open Source  per  il  mondo  geospaziale come GeoServer, GeoNetwork MapStore e GeoTools e forniscono per essi supporto professionale avanzato.

GeoSolutions annovera tra  i  suoi principali  clienti  enti  pubblici nazionali ed internazionali così come aziende private di tutto il mondo. United  Nations Food  and  Agriculture Organization (FAO),  United Nations World Food Program (WFP), NATO STO CMRE, EUMETSAT, German Space Agency (DLR), Austrian MetOffice (ZAMG), CSI Piemonte, Norwegian Public Roads Administration (NPRA), Magistrat Wien e tanti altri si avvalgono della collaborazione di GeoSolutions così come il Comune di Firenze e la Provincia di Firenze,  il Comune di Prato e la Provincia di Prato, il Comune di Bolzano ed il Comune di Genova.

Chi è Esalab

Esalab s.r.l. è una società fondata nel 1998 che opera nell'ambito della progettazione, dello sviluppo e dell'implementazione di Sistemi Informativi, rivolgendo la propria attività agli Enti Pubblici ed alle grandi società di Ingegneria.

Esalab è specializzata nella definizione di servizi specifici di web application e di soluzioni integrate Web-GIS per la gestione del territorio, per il monitoraggio ambientale, per la protezione civile e per il turismo in ambito Open Source, secondo le specifiche dell’Open GeoSpatial Consortium (OGC) e di INSPIRE.

Esalab dispone di un team di lavoro dedicato alla ricerca e alla realizzazione di progetti innovativi nel campo delle tecnologie GIS e WEBGIS.

Esalab annovera tra i suoi principali clienti enti pubblici nazionali e società di ingegneria: Regione Marche, Provincia di Barletta Andria Trani, Comune di Urbino, SAIPEM SpA, Proger SpA e numerosi comuni nel territorio nazionale.

GeoSolutions Alliance Partnership Program

Il programma GeoSolutions Alliance Partnership si rivolge alla aziende che supportano e propongono i prodotti Open Source sviluppati da GeoSolutions e che sono alla ricerca di un partner capace di offrire il necessario supporto tecnico, commerciale e di marketing per lo sviluppo del proprio mercato. Per maggiori informazioni si rimanda alla pagina dedicata, oppure si consiglia di contattarci direttamente menzionando il GeoSolutions Alliance Partnership Program.

by simone giannecchini at July 22, 2014 08:30 AM

July 21, 2014

Free and Open Source GIS Ramblings

Visualizing direction-dependent values

When mapping flows or other values which relate to a certain direction, styling these layers gets interesting. I faced the same challenge when mapping direction-dependent error values. Neighboring cell pairs were connected by two lines, one in each direction, with an associated error value. This is what I came up with:

srtm_errors_1200px

Each line is drawn with an offset to the right. The size of the offset depends on the width of the line which in turn depends on the size of the error. You can see the data-defined style properties here:

directed_error_style

To indicate the direction, I added a marker line with one > marker at the center. This marker line also got assigned the same offset to match the colored line bellow. I’m quite happy with how these turned out and would love to hear about your approaches to this issue.

srtm_errors_detail

These figures are part of a recent publication with my AIT colleagues: A. Graser, J. Asamer, M. Dragaschnig: “How to Reduce Range Anxiety? The Impact of Digital Elevation Model Quality on Energy Estimates for Electric Vehicles” (2014).


by underdark at July 21, 2014 06:48 PM

Faunalia

Training courses calendar: QGIS (Desktop, Server and Web) and PostGIS

We just published our Training Courses calendar for the period September 2014 – January 2015. This includes training courses about QGIS (Desktop, Server and Web) and PostgreSQL/PostGIS in both Italy and Portugal. Training courses about QGIS python programming are available on demand. For details (locations, prices, discounts, etc.) about training courses in Portugal see: http://www.faunalia.eu/pt/training.html […]

by faunaliagis at July 21, 2014 05:14 PM

GeoSolutions

Esalab joins GeoSolutions Alliance Partnership Program

partnership-en

GeoSolutions and Esalab are glad to announce their Partnership.

Esalab will be the exclusive representative company of the OpenSDI Suite (GeoServer, GeoWebCache, GeoNetwork and MapStore) for the following italian regions: Marche, Abruzzo and Basilicata.

Since more than ten years Esalab develops products and projects relating to geospatial field based on GeoServer and integrated with GeoNetwork.

The Partnership program between GeoSolutions and Esalab allows the two companies to offer a more and more qualified support to the end users.

GeoSolutions Alliance Program

GeoSolutions Alliance Program is the partnership program for companies that want to extend their market reach by adding or boosting their skills on GeoSpatial Open Source Products leveraging on a collaboration with GeoSolutions Team.

The goal is to create a network of certified partners which are able to support the growth and deeper penetration of Open Source GeoSpatial Products by positively addressing the increased demand for professional support services and solutions.

Check this page for additional information.

by simone giannecchini at July 21, 2014 03:00 PM

July 20, 2014

A GeoSpatial World

PostGIS 3D Viewer

 

image n viewer 3D pour PostGIS

image pg3DViewer_title[6]
 

image ntroduction

Avec la version 2.0 PostGIS est entré dans le monde de la 3D, il est possible de stocker des géométries 3D avec l’ajout de la coordonnée Z dans toutes les géométries existantes et de stocker des géométries volumétriques avec l’introduction de deux nouveaux type  :

  • TIN(Triangulated Irregular Network, une collection de TRIANGLE)
image
  • POLYHEDRALSURFACE (une collection de POLYGON)
image

Cela fait déjà un an que la création d’un viewer pour visualiser les géométries 3D de PostGIS me trottait dans la tête suite à un échange avec Claus Nagel et Felix Kunde de virtualcitySYSTEMS à propos de l’outil d’import du format CityGML que j’avais réalisé CityGML vers PostGIS 2.0 , ils m’avaient conseillé alors de me diriger vers le développement d’un viewer 3D. Lorsque récemment j’ai repris contact avec eux pour leur parler de mon développement en cours, ils ont accueilli la nouvelle avec enthousiasme et ont bénéficié de versions beta, ce qui m’a grandement aidé pour mes choix dans la finalisation de mon application.

Aujourd’hui la 3D est de plus en plus présente dans le monde SIG avec le format CityGML et dans le monde de l’architecture avec le format IFC, importer ces formats dans une base de données PosgtgreSQL/PostGIS est une démarche naturelle car cela apporte toute la puissance de traitement des bases de données spatiale pour la gestion de ces données.

Pour le format CityGML la société virtualcitySYSTEMS met à disposition un schéma de base de données Open Source et gratuit pour le stockage et la gestion de ‘3D City Models’. Ce schéma de base de données est le reflet du modèle de données CityGML. Les données peuvent être importées via un outil d’import/export .
le lien pour accéder à leur site : http://virtualcitysystems.de/en/solutions.html#3dcitydb 
image

A ce stade du développement je n’affiche que des géométries de type POLYGON, MULTIPOLYGON, TIN et POLYHEDRALSURFACE. Ce qui permet d’afficher toutes type de géométries volumétriques répondant à cette contrainte. Je vais travailler rapidement sur les autres type de géométrie POINT, LINESTRING… , ce qui fera l’objet d’une nouvelle version de l’application dans les prochaines semaines.

J’ai développé cet outil en C# 2013 avec :

  • La librairie GDAL/OGR
[image66.png] GDAL - Geospatial Data Abstraction Library
  • ActiViz .Net un wrapper pour VTK
  ActiViz .Net


vtk-logo VTK
  • PostgreSQL 9.2
(thumbnail) PostgreSQL Windows
  • PostGIS 2.2.0 dev
adbadge_wide_240 Postgis
http://winnie.postgis.net/download/windows/pg92/buildbot/postgis-pg92-binaries-2.2.0devw32.zip
http://winnie.postgis.net/download/windows/pg92/buildbot/postgis-pg92-binaries-2.2.0devw64.zip

 

Pour l’intégration de données 3D j’ai testé l’outil 3DCityDB-Importer-Exporter http://http://www.3dcitydb.org/3dcitydb/downloads/ qui permet d’importer des fichiers au format CityGML dans une base de données PostgreSQL avec PostGIS (a partir de la version 2.0).

site_3dcitydb_02 

Voici une extraction du document 3DCityDB-v2_0_6-postgis-Tutorial.pdf concernant la partie PostGIS (en anglais ) :

image

 

image

image

image

image

image

image

image

image

 

image nstallation

image

Cliquez sur le lien pg3DViewer_setup.exe pour télécharger le programme d’installation, puis lancer l’exécution.

Cliquer sur le  bouton Suivant à chaque étape, puis sur le bouton Terminer.

pg3DViewer_install_01

pg3DViewer_install_02

pg3DViewer_install_03

pg3DViewer_install_04

pg3DViewer_install_05

pg3DViewer_install_06

 

image tilisation

Avant de commencer à utiliser pg3Dviewer vous devez avoir une base de données PostgreSQL avec la cartouche spatiale PostGIS version 2.0 ou supérieure. Cette base de données doit contenir des données 3D, l’idéal serait que vous ayez créé une base 3DCityDB et importé un ou plusieurs fichiers CityGML. Voici un lien ou vous pourrez télécharger des données CityGML Rotterdam 3D, demandez à notre ami Google de traduire la page cela peut aider, cela permet de découvrir un lien sur le site permettant de télécharger un fichier pdf contenant une carte avec tous les nom des quartiers téléchargeables http://www.rotterdam.nl/GW/Images/Gemeentewerken%20Home/Landmeten/overzicht%20buurten.pdf , il ne vous reste plus qu’a choisir les quartiers dans la liste sous le lien.

Vous pouvez quand même faire les premiers tests sans avoir téléchargé de données.

image Double cliquez sur l’icone créé par le programme d’installation sur le bureau pour lancer l’application.

image

image

Connecter vous à votre base de données 3D

 

image

Commencez par cliquer sur cet icône pour vous connecter a une base de données PostgreSQL/PostGIS version 2.0 ou supérieur contenant des données 3D ou prête à en recevoir.

 
  • Choisissez localhost pour serveur si votre base de données est en local sur votre machine ou bien saisissez l’adresse IP de votre serveur
  • le port est par défaut 5432, changez le si nécessaire
  • saisissez l’utilisateur
  • saisissez le mot de passe
  • choisissez une base de donnée dans la combobox
  • cliquez sur le bout OK pour valider votre saisie.

image


Visualiser une géométrie de type POLYHEDRALSURFACE


Dans le panneau Query copiez la requête suivante :

SELECT st_force_collection(
    st_geomFromText
    (
      
'POLYHEDRALSURFACE(
        ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)),
        ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
        ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
        ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)),
        ((1 0 0, 1 1 0, 1 1 1, 1 0 1, 1 0 0)),
        ((1 1 0, 0 1 0, 0 1 1, 1 1 1, 1 1 0))
        )'
    )
)

image

Cliquez sur l’icone ‘Execute query

image
Vous obtenez ce résultat.

Interactions de la souris avec la fenêtre de rendu:
- Bouton gauche : Rotation
- Roulette          : Zoom
- Bouton droit    : Zoom dynamique
- Bouton gauche + touche majuscule : Pan
Testez les différentes associations entre les touches Majuscule, Ctrl et alt et  les boutons de la souris.

Interactions touches claviers avec la fenêtre de rendu :
- Touche w : passe en mode affichage fil de fer.
- Touche s  : passe en mode affichage surfacique.
image
La fenêtre de rendu après rotation. image


Avant de continuer une petite explication sur la requête utilisé précédemment :

SELECT st_force_collection(
    st_geomFromText
    (
       
'POLYHEDRALSURFACE(
        ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)),
        ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
        ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
        ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)),
        ((1 0 0, 1 1 0, 1 1 1, 1 0 1, 1 0 0)),
        ((1 1 0, 0 1 0, 0 1 1, 1 1 1, 1 1 0))
        )'

    )
)

Comme vous avez du le remarquer la fonction ST_GeomFromText est encadré par la fonction ST_Force_Collection. Pourquoi rajouter cette fonction. Si vous exécuter cette requête sous pgAdmin III en encadrant le tout par ST_AsText vous obtenez comme résultat ceci :
"GEOMETRYCOLLECTION Z (
POLYGON Z ((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0)),
POLYGON Z ((0 0 0,0 0 1,0 1 1,0 1 0,0 0 0)),
POLYGON Z ((0 0 0,1 0 0,1 0 1,0 0 1,0 0 0)),
POLYGON Z ((0 0 1,1 0 1,1 1 1,0 1 1,0 0 1)),
POLYGON Z ((1 0 0,1 1 0,1 1 1,1 0 1,1 0 0)),
POLYGON Z ((1 1 0,0 1 0,0 1 1,1 1 1,1 1 0)))
"
Nous sommes passé d’une géométrie de type POLYHEDRALSURFACE à une géométrie de type GEOMETRYCOLLECTION Z contenant des POLYGON Z, mais rappelez vous une géométrie de type POLYHEDRALSURFACE est aussi une collection de POLYGON donc jusque la tout va bien.
Revenons à la question initiale pourquoi utiliser la fonction ST_Force_Collection, tout simplement parce la librairie GDAL que j’utilise dans mon développement ne reconnait pas encore les géométries de type POLYHDERALSURFACE. Cette astuce permet de contourner la limitation présente.

Visualiser une géométrie de type TIN

Dans le panneau Query copiez la requête suivante :

WITH res AS
(
SELECT st_polygon(
    st_boundary(
        (st_dump(
            st_geomFromText
            (
          
'TIN(
            ((0 0 0, 1 0 0, 0 1 0, 0 0 0)),
            ((0 0 0, 1 0 0, 0 0 1, 0 0 0)),
            ((0 0 0, 0 0 1, 0 1 0, 0 0 0)),
            ((0 0 1, 1 0 0, 0 1 0, 0 0 1))
            )'

            )
        )).geom
    )
    ,0
    ) as geom
)
SELECT st_forceCollection(st_collect(geom))
FROM res

image

Cliquez sur l’icone ‘Execute query

Vous obtenez ce résultat après rotation.

image


La requête utilisée nécessite une explication :

WITH res AS
(
SELECT st_polygon(
    st_boundary(
        (st_dump(
            st_geomFromText
            (
          
'TIN(
            ((0 0 0, 1 0 0, 0 1 0, 0 0 0)),
            ((0 0 0, 1 0 0, 0 0 1, 0 0 0)),
            ((0 0 0, 0 0 1, 0 1 0, 0 0 0)),
            ((0 0 1, 1 0 0, 0 1 0, 0 0 1))
            )'

            )
        )).geom
    )
    ,0
    ) as geom
)
SELECT st_forceCollection(st_collect(geom))
FROM res

Comme pour la requête concernant une géométrie de type POLYHEDRALSURFACE, les géométries de type TIN ne sont pas encore reconnues par la librairie GDAL. Pour rappel une géométrie de type TIN est aussi une collection de TRIANGLE que ne reconnait pas la librairie GDAL ce qui explique la requête légèrement plus complexe.
Si vous exécutez la requête suivante sous PgAdmin III :

SELECT St_AsText(st_force_collection(
    st_geomFromText
    (
         'TIN(
            ((0 0 0, 1 0 0, 0 1 0, 0 0 0)),
            ((0 0 0, 1 0 0, 0 0 1, 0 0 0)),
            ((0 0 0, 0 0 1, 0 1 0, 0 0 0)),
            ((0 0 1, 1 0 0, 0 1 0, 0 0 1))
            )
'
    ))
)

Vous obtenez ceci :

"GEOMETRYCOLLECTION Z (
TRIANGLE Z ((0 0 0,1 0 0,0 1 0,0 0 0)),
TRIANGLE Z ((0 0 0,1 0 0,0 0 1,0 0 0)),
TRIANGLE Z ((0 0 0,0 0 1,0 1 0,0 0 0)),
TRIANGLE Z ((0 0 1,1 0 0,0 1 0,0 0 1)))
"

Que ne reconnait pas la librairie GDAL, ce qui explique la première partie de la requête qui recrée des géométries de type POLYGON à partir des géométries de type TRIANGLE. La seconde partie de la requête (ou l’on retrouve la fonction ST_Force_Collection) recrée une GEOMETRYCOLLECTION Z contenant des POLYGON Z donc interprétable par la librairie GDAL.

Pour simplifier les requêtes sur des géométries de type TIN, la création d’une fonction opérant la transformation me parait indispensable.

 

Fonction passant d’une géométrie de type TIN à une géométrie de type GEOMETRYCOLLECTION Z

-- Function: ST_TinToGeomCollection(geometry, INTEGER)

-- DROP FUNCTION ST_TinToGeomCollection(geometry, INTEGER);

CREATE OR REPLACE FUNCTION ST_TinToGeomCollection(geometry, integer)
  RETURNS geometry AS
$BODY$
DECLARE
    sql text;
    rec record;
BEGIN 
    sql:=
'WITH res AS
         (
          SELECT st_polygon(st_boundary((st_dump(geometry('||quote_literal($1::text)||'))).geom),'||$2||') as geom
          )
         SELECT st_forceCollection(st_collect(geom)) as geom FROM res
';
    FOR rec IN EXECUTE sql LOOP
       RETURN rec.geom;
   
END LOOP;
END
;
$BODY$
  LANGUAGE plpgsql VOLATILE STRICT
  COST 100;
ALTER FUNCTION ST_TinToGeomCollection(geometry,integer)
  OWNER TO postgres;
GRANT EXECUTE ON FUNCTION ST_TinToGeomCollection(geometry, integer) TO public;
GRANT EXECUTE ON FUNCTION ST_TinToGeomCollection(geometry, integer) TO postgres;

Vous allez créer la fonction dans votre base de données 3D :

  • Copier le contenu du cadre ci-dessus et collez dans la fenêtre de requêtes de PgAdmin III
  • lancez l’exécution, la fonction est créée.

la requête pour l’affichage de géométrie de type TIN devient alors:

select st_astext(ST_TinToGeomCollection(
st_geomFromText
            (
            'TIN(
            ((0 0 0, 1 0 0, 0 1 0, 0 0 0)),
            ((0 0 0, 1 0 0, 0 0 1, 0 0 0)),
            ((0 0 0, 0 0 1, 0 1 0, 0 0 0)),
            ((0 0 1, 1 0 0, 0 1 0, 0 0 1))
            )'

            ) ,0))
le second paramètre de la fonction ST_TinToGeomCollection étant le SRID de la géométrie, 4326 par exemple si vous êtes dans un système de coordonnées WGS84. Si vous ne le connaissez pas saisissez la valeur 0.

Affichage de données dans une base 3DCityDB contenant des données au format CityGML

Dans le panneau Query copiez la requête suivante :

WITH wallsurface as
(
SELECT a.id,c.root_id,st_collect(c.geometry) AS g,'255:128:0'::text AS rgb
FROM building a,thematic_surface b, surface_geometry c
WHERE b.building_id=a.id
AND b.type='WallSurface'
AND c.root_id=b.lod2_multi_surface_id
GROUP BY a.id,c.root_id
), roofsurface as
(
SELECT a.id,c.root_id,st_collect(c.geometry) AS g,'255:0:0'::text AS rgb
FROM building a,thematic_surface b, surface_geometry c
WHERE b.building_id=a.id
AND b.type='RoofSurface'
AND c.root_id=b.lod2_multi_surface_id
GROUP BY a.id,c.root_id
)
select id,root_id,g as geom,rgb
from wallsurface
union all
select id,root_id,g as geom,rgb
FROM roofsurface
ORDER BY id

image

Cliquez sur l’icone ‘Execute query

image
Dans la requête il est possible d’affecter une couleur à un type de géométrie, la syntaxe est le code R:G:B entre quotte suivi de AS rgb :
’255:128:0’ AS rgb  (wallsurface)
‘255:0:0’     AS rgb  (rootsurface)
image

 

Interface

   
image  
image Sortie de l’application.
image Connexion à une base de données.
   
image Panneau Requête
image Remet à blanc la fenêtre de requêtes
image Ouvre un fichier requête, qui ne doit contenir qu’une seule requête.
image Exécution de la requête.
image Collapse le panneau sur la gauche.
   
image Panneau affichage 3D
image Change la cuouleur du fond, Blanc ou Noir.
image Zoom Full.
image Zoom Plus.
image Zoom Moins.
image Efface le contenu de la fenêtre de rendu, toutes les géométries précédemment chargées sont supprimées.
   
image Panneau données attributaires
image Collapse le panneau sur le bas.
   
   
    

image onclusion.

Ce billet met à votre disposition un outil permettant de visualiser des géométries 3D stockées dans une base de données PostGIS 2.0 ou supérieure. Il me reste à implémenter l’affichage des points et des lignes.

Toutes suggestions d’amélioration seront les bienvenues, j’attends vos retours.

by Jérôme ROLLAND (noreply@blogger.com) at July 20, 2014 04:16 PM

A GeoSpatial World

PostGIS 3D Viewer introduction

 

image_thumb178 n viewer 3D pour PostGIS

image_thumb7[1] pg3DViewer_title6_thumb8
 

image_thumb175 ntroduction

Avec la version 2.0 PostGIS est entré dans le monde de la 3D, il est possible de stocker des géométries 3D avec l’ajout de la coordonnée Z dans toutes les géométries existantes et de stocker des géométries volumétriques avec l’introduction de deux nouveaux type  :

  • TIN(Triangulated Irregular Network, une collection de TRIANGLE)
image_thumb13
  • POLYHEDRALSURFACE (une collection de POLYGON)
image_thumb101

Cela fait déjà un an que la création d’un viewer pour visualiser les géométries 3D de PostGIS me trottait dans la tête suite à un échange avec Claus Nagel et Felix Kunde de virtualcitySYSTEMS à propos de l’outil d’import du format CityGML que j’avais réalisé CityGML vers PostGIS 2.0 , ils m’avaient conseillé alors de me diriger vers le développement d’un viewer 3D. Lorsque récemment j’ai repris contact avec eux pour leur parler de mon développement en cours, ils ont accueilli la nouvelle avec enthousiasme et ont bénéficié de versions beta, ce qui m’a grandement aidé pour mes choix dans la finalisation de mon application.

Aujourd’hui la 3D est de plus en plus présente dans le monde SIG avec le format CityGML et dans le monde de l’architecture avec le format IFC, importer ces formats dans une base de données PosgtgreSQL/PostGIS est une démarche naturelle car cela apporte toute la puissance de traitement des bases de données spatiale pour la gestion de ces données.

Pour le format CityGML la société virtualcitySYSTEMS met à disposition un schéma de base de données Open Source et gratuit pour le stockage et la gestion de ‘3D City Models’. Ce schéma de base de données est le reflet du modèle de données CityGML. Les données peuvent être importées via un outil d’import/export .

Affichage de données CityGML dans le viewer 3D

image_thumb14[6]

 

Continuer la lecture/Continue reading “PostGIS 3D Viewer”

by Jérôme ROLLAND (noreply@blogger.com) at July 20, 2014 04:12 PM

July 19, 2014

OSGeo News

ISPRS joins "Geo for All"

by aghisla at July 19, 2014 12:30 PM

July 18, 2014

OSGeo News

OSGeo Charter Member Elections 2014

by aghisla at July 18, 2014 10:53 AM

Gis-Lab

Создание тайлового сервера на основе данных OpenStreetMap и mod_tile

Новая статья, посвящённая созданию тайлового сервера с помощью стека технологий, используемого для создания тайлов на сайте OpenStreetMap.

Прочитать | Обсудить

by Denis Rykov at July 18, 2014 10:18 AM

Jackie Ng

Other new things (or things I forgot to talk about) in Fusion for MapGuide 2.6

This post has been stuck in my draft queue for several months now. I guess I forgot about this post so some of the content in this post may have already been talked about. Still, there some content here that I'm certain hasn't been talked about, and since I currently don't have idea at the moment what has and hasn't been talked about, I've decided to just publish the whole post.

So here's some new features (or features I've probably already talked about) in Fusion for MapGuide Open Source 2.6

OpenLayers updated to 2.13.1

OpenLayers in Fusion has been updated to the latest stable release, which is 2.13.1. This gives us important fixes for tiled layers in IE10, among other fixes and improvements from the 2.12 release.

Short of a few specific customizations to the Google layer (to disable tilt at lower levels), you'll be glad to hear that the OpenLayers included with Fusion is now mostly vanilla with very few modifications. Making your own custom OpenLayers build should be a painless affair.

Built with Closure

fusionSF-compressed.js is now built with the Google Closure Compiler.

Besides giving us a 50kb reduction in file size over YUI compressor with default settings, building through Closure gives us Source Map support for modern browsers.

What this means is you can now debug and step through fusionSF-compressed.js in its uncompressed form with full comments without having to modify the template files to switch to a debug version of Fusion. Current versions of Chrome and Firefox both support source maps in their respective developer tools.

With advanced optimizations, fusionSF-compressed.js file size can be reduced by up to 500kb! Unfortunately, building with closure's advanced optimizations may actually alter application behaviour and requires a thorough audit of the code in Fusion first before we can determine if it is safe for us to flick the switch. So for now, we build with default settings.

Delayed refresh on layer/group toggle in legend

When you toggle a layer or group on/off in the legend, it triggers a map refresh. If you do this on multiple layers/groups in quick succession, it's going to fire off that many refresh requests. Not very efficient.

For this release, we've added support for a new DrawDelay extension property in the Map element of the MapGroup. Setting this property will cause any toggle in the legend to delay the refresh for that amount of time (in ms).



Having this property set will allow you to toggle multiple layers/groups in the legend in quick succession, but only trigger a single refresh request at the end as long as each individual toggle falls within the delay period. This feature is opt-in. By default, the delay is 0 which means legend widget will behave like before where each toggle triggers a refresh immediately.

More QuickPlot tweaks

The legal disclaimer is now a configurable element


Of course, you may want this element to be mandatory, so we've added a new AllowDisclaimerToggle extension property that determines whether this checkbox will be shown.

In addition, you can configure the initial checked state of these elements through the following new extension properties:
  • ShowLegend
  • ShowNorthArrow
  • ShowCoordinates
  • ShowScaleBar
  • ShowLegalDisclaimer (does nothing if there is no legal disclaimer attached or AllowDisclaimerToggle = false)

by Jackie Ng (noreply@blogger.com) at July 18, 2014 09:36 AM

Jackie Ng

Making MBTiles databases with a little help from mapguide-rest

So allow me to explain what this screenshot represents


What you are looking at is tiles stored in a MBTiles database. The Android app in question is Locus Map, which supports MBTiles databases. MBTiles is an ideal format for delivering tiled maps to mobile devices. It's just a SQLite database that uses the same intuitive XYZ tiling scheme used by OpenStreetMap and friends.

This post will show you how to make such MBTiles databases with a little help from the mapguide-rest extension.

[NOTE: These instructions were used against the current master branch of mapguide-rest which supercedes the 0.8 release, and has several fixes for tile caching. These instructions may or may not work on the 0.8 release]

First thing you need is to download and install Portable Basemap Server.

In the directory where you installed Portable Basemap Server, edit the CustomOnlineMaps.xml and add a new map source to any XYZ tileset accessible from mapguide-rest

  <onlineMapSource>
<name>mapguide-rest Sheboygan</name>
<url><![CDATA[http://localhost/mapguide/rest/library/Samples/Sheboygan/MapsTiled/SheboyganNoWatermark.MapDefinition/xyz/Base Layer Group/{$z}/{$x}/{$y}/tile.png]]></url>
<tileFormat>png</tileFormat>
<servers></servers>
</onlineMapSource>

Note the {$x}, {$y} and {$z} placeholder tokens in the URL. These placeholders are required and Portable Basemap Server will be replacing them with actual X, Y and Z values when fetching tiles.

Once you've edited and saved CustomOnlineMaps.xml, run the PortableBasemapServer.exe as an administrator.

What is unique about Portable Basemap Server (and something I could not find in any other free/OSS packages), is that Portable Basemap Server includes a convenient function to create an MBTiles database from any online tiled map (that presumably follows a XYZ tiling scheme). This function is accessible from the Format Convert menu.


In the Format Convert window, change the Data Source Type to the map source you registered in CustomOnlineMaps.xml. If your tiled map does not span the entire world, you may want to hone in to the specific region your tiled map is in with one of the existing map sources before switching over to your mapguide-rest map source.



Now do the following:

  • Specify the path of the MBTiles database you want to create
  • Trace a box around the area you want to fetch the tiles for
  • Tick the Download Levels (aka. Zoom levels) you want to fetch tiles for. The map preview shows the current zoom level, so generally you want to tick that level and every level above that.
  • Tick Compact? to optimize storage of redundant tiles

Once you are satisfied with the settings, click Start to initiate the tile seeding process. Portable Basemap Server will spit out lots of useful progress information while building the MBTiles database.


Once the tile seeding process is complete, you can now transfer this MBTiles database file to your mobile device and load it into your MBTiles supported app.

As a bonus, the actual process of building an MBTiles database also seeds the XYZ tile cache on the server-side. So this process can also serve as a XYZ tile cache seeder if you have no use for MBTiles.

If you're interested in what platforms support MBTiles, check out the MBTiles wiki.

by Jackie Ng (noreply@blogger.com) at July 18, 2014 04:36 AM

Jackie Ng

Announcing: MapGuide Open Source 2.6 RC2

The number of critical issues revolving around v2.6 QUERYMAPFEATURES that have cropped up since the MapGuide 2.6 RC1 release have necessitated a second release candidate.

Here's a list of changes since RC1:
  • Fix: Bad sample code and data in light of the Sheboygan dataset update.
  • Fix: v2.6 QUERYMAPFEATURES cannot append/update viewer selections via shift-click in AJAX and Fusion viewers.
  • Fix: v2.6 QUERYMAPFEATURES cannot handle dates before Jan 1, 1970.
  • Fix: GEOMETRY parameter in QUERYMAPFEATURES operation should be optional. QUERYMAPFEATURES should be able to accept a query geometry (via GEOMETRY) or an XML selection string (via FEATUREFILTER) when updating viewer selections.
  • Remove setselection AJAX viewer helper script which is made redundant with the above fix.
  • Fusion: Add int16 identity property support for search widget.
  • Fusion: Allow blank titles in print widget.
  • Fusion: Preserve inner stack trace (if possible) when reporting back un-handled AJAX errors.
Download

by Jackie Ng (noreply@blogger.com) at July 18, 2014 03:22 AM

Petr Pridal

WebGL Earth 2: the Leaflet compatible JavaScript 3D globe powered by Cesium

http://www.webglearth.com/

To embed a 3D globe in a website with an open-source project is now really easy. If you have a simple map application made with the popular Leaflet library, you can with almost no effort turn it into 3D interactive globe with the new WebGL Earth 2 project: just replace "L." with "WE." ;-)

See the examples of use of the API:
http://examples.webglearth.org/

The globe is made only with JavaScript, using WebGL HTML5 technology. No browser plugin is required. It means it runs automatically on all modern browsers on all computers with recent graphic cards. Chrome, Firefox, Safari, IE 11+ and even the latest Android mobile devices and soon also all Apple devices with iOS 8+.

This is a complete reimplementation of our original WebGL Earth project.

Our own JavaScript rendering core has been replaced with the great open-source Cesium project to maximally gain from the open-source principles of sharing of the development efforts. We are looking forward to contributing to the Cesium project in the future, instead of developing our own separate core.

Our target is still the same: an easy to use open-source project with public API, allowing easy embedding of a modern 3D globe in websites, with out-of-the box user friendly interaction and support for mobile devices whenever possible.

In version 2.0 we have decided to emulate the popular Leaflet JS JavaScript API enriched with 3D functions for altitude, tilting and heading of the view, and flying animations on globe. The core functions are implemented and we hope to improve the compatibility of the APIs with the help of community in the future (GitHub pull requests are very welcome ;-).

The project also preserves the original WebGL Earth JavaScript API 1.0 whenever possible.

OpenStreetMap, Bing, MapBox and other tile layers can be easily used with the globe.

Custom geodata (GeoTIFF, ECW, MrSID, ...) can be easily preprocessed with MapTiler (http://www.maptiler.com) to create attractive globes, which can be hosted on any webserver without additional software, on a LAMP hosting with TileServer-php or even on Amazon S3 and other cloud storage services. See: http://tileserver.maptiler.com/#cassini-terrestrial/webglearth

by Petr Pridal (noreply@blogger.com) at July 18, 2014 02:06 AM

July 17, 2014

Paulo van Breugel

Exporting your GRASS raster using r.out.gdal? Check the createopt options!

GRASS GIS can export your raster layer in most common (and quite a few less common) data formats using the r.out.gdal function (menu: file – export raster map – common raster formats). Exporting is so simple that you may forget that depending on the output format there are different options to optimise your output raster layer. […]

by pvanb at July 17, 2014 10:50 AM

July 16, 2014

FOSS4G 2014

RSVP for PostgreSQL Day, Saturday September 6th

Do you use PostGIS and/or PostgreSQL?

As you are planning your FOSS4G travel, here’s another excellent event to have on your radar.

Saturday, September 6th, is PostgreSQL Day, co-hosted by the Portland Postgres Users Group (PDXPUG)  and Portland State University. Attendance is free, but RSVP is required (RSVP here). See below for more details on the event.

Looking forward to seeing you in September!

 

Date: Saturday, September 6, 2014

Time: 9:30am through 5:30pm

Place: Portland State University, Room EB 102, 1930 SW 4th Avenue, Portland, Oregon 97201. The venue is reachable by street car, bus or light rail, see Tri-Met for schedule and fare information.

Registration: Space is limited, please RSVP!

Food: Light snacks & beverages provided. Breakfast and lunch is on your own. There’s a wonderful cart pod right across the street; bring $10-15 for lunch.

Presentations: Organizers are looking for presenters for the PDXPUG Day. Talks should be about 45 minutes in length, and about any of the following topics:

  • PostgreSQL administration and performance
  • Case studies of interesting uses of PostgreSQL and PostGIS
  • Interesting applications built on PostGIS or PostgreSQL
  • Database and/or geographic application development
  • Database-related DevOps
  • SQL and stored procedure programming
  • New Postgres/PostGIS features and hacking Postgres/PostGIS

Organizers will also be taking lightning talks of 5 minutes each, on similar topics. Email your talk proposal to Mark Wong at markwkm -at- postgresql.org.

 

The post RSVP for PostgreSQL Day, Saturday September 6th appeared first on FOSS4G 2014.

by K.Bott at July 16, 2014 05:14 PM

Paul Ramsey

BC IT Outsourcing 2013/14

"O frabjous day! Callooh! Callay!"

The BC Public Accounts came out today, so it's time to update the statistics and see how the IT consulting racket shaped up in BC last year. Judging from the sharp suits on the streets and general perkiness of the local IT labour market, I'd guess "pretty peachy", but there's something to be said for actually checking the numbers.

Totalling up all the Usual Suspects, I am pleased to report that 2013/14 was another record-breaking year in technology outsourcing: a $435,350,420 spend, that's up 11% over last year! Rockin' it!

Let's put that in perspective, shall we?

  • IT sourcing rocked it with an 11% gain.
  • Overall government spending was up $174M on a budget of $43B, for a gain of 0.4%.
  • The government recently offered the teachers a contract with a 1.1% (average) annual wage lift.
  • Canadian inflation in 2013 was 1.24%.
  • BC education spending increased 2.6% over last year.
  • BC health care spending increased 2.1% over last year.

I said it last year, and I'll say it again this year: suck on that, children and sick people! Who's the boss? IT people are the boss!

Once again, in the individual category, HP Advanced Solutions reigns supreme, billing out $138,407,858, a 6.8% gain. HP's growth is slowing though and my favourite systems integrator, Deloitte, just closed a monster year with 51% year-over-year billings growth and a take of $54,294,507. Look out HP, someone hungry is on your heals!

I recently discovered that there's a significant government IT spend in the health authorities, so I'm looking forward to adding some new stats over the summer. In addition, I feel like leaving Telus out of the accounting is an increasingly hard call: while much of their billing is infrastructure stuff like group cell phone plans and connectivity, they also have a huge new outsourcing arm doing all sorts of not-at-all-like-a-telephone stuff: Telus Health, anyone?

Until next year, keep on spending, British Columbia!

by Paul Ramsey (noreply@blogger.com) at July 16, 2014 04:00 PM

Boundless Blog

Build applications using OpenLayers 3 and OpenGeo Suite (Part 2)

OpenLayersMany of our customers use OpenGeo Suite to build applications that address specific business needs. New York City and Howard County use our software to help residents better access government services while San Jose Water Company has built several applications for internal use by staff.

Our newest release, OpenGeo Suite 4.1, includes new templates built on OpenLayers 3 that make it even easier to build and deploy Spatial IT applications. We previously showed how to create a viewer application and in this post we’ll describe how to create an editing application.

Creating a new application

First off, we’ll start creating the application using the suite-sdk command-line tool:

suite-sdk create /path-to/myapp ol3edit
suite-sdk debug /path-to/myapp

Point your browser to http://localhost:9080 and you’ll see the editing application in debug mode:

Editor application

Let’s examine the functionality that this application provides in more detail.

Editing template

This application provides the Layers Control, which was also part of the viewer template, but in addition the following editing-related functionality is provided:

  • Draw a new feature and insert it using WFS-T
  • Modify an existing feature’s geometry and send an Update to the WFS
  • Select an existing feature and delete it
  • A feature table that shows the features in a tabular form

By default the usa:states layer in OpenGeo Suite is served from a Shapefile but this is not ideal for editing purposes.  We recommend serving data from a transactional database, such as PostGIS, instead.

Unlike the viewer template, which used WMS for feature display, this application uses a vector layer rendered by HTML5 Canvas. The vector data is retrieved using WFS with GeoJSON as the interchange format for read operations. A BBOX strategy is used for loading the data.

Let’s click one of the states on the map. This will select the vector feature on the map and will select the corresponding row in the feature table. Clicking on a record in the feature table will also select that same feature on the map and zoom to it.

Try modifying one of the existing geometries (hover over one of its boundaries) and, when you’re done, click somewhere else outside of the feature which is being modified. The feature will be deselected and the transaction will be sent to the WFS. This may trigger a basic authentication dialog in the browser depending on how GeoServer has been configured.

Now click on an existing feature and press the “Delete Feature” button in the toolbar. Confirm the dialog with OK. The feature should be deleted on both the client and the server (verify this by doing a reload of your browser application).

Lastly, use the “Draw Feature” button and digitize a new polygon feature on the map. This will get sent to the WFS as an Insert transaction.

Internals

As  promised in a previous blog post about editing in OpenLayers 3 using WFS-T, it is now much easier to create an editing application without having to worry about the OpenLayers 3 internals. Open up /path-to/myapp/src/app/app.js in your favorite text editor and look for a section labeled “config section”. This section should contain all the settings you need to tweak in order to have this application work on a different data layer.

Learn more!

Find out more about using the Boundless SDK and these new templates in this Tech Talk that Andreas and I recently presented to our colleagues.

The post Build applications using OpenLayers 3 and OpenGeo Suite (Part 2) appeared first on Boundless.

by Bart van den Eijnden at July 16, 2014 03:46 PM

July 15, 2014

Gis-Lab

Обзор свободной геотектонической ГИС GPLates

Опубликован обзор специализированной ГИС GPLates, предназначенной для визуализации и анализа геотектонических моделей.
Прочитать | Обсудить

by Александр Мурый at July 15, 2014 08:56 PM

July 14, 2014

MGCOT

Artigos ICS 2014

Estão já disponibilizados os todos os artigos que foram apresentados no ICS 2014.

ics2014

 http://www.cerf-jcr.org/index.php/international-coastal-symposium/ics-2014south-africa

Incluindos os em que participaram membros do grupo MGCOT

Methodology for the development of 3D GIS models in the Coastal Zone

Mateus G. Magarotto, Monica F. Costa, José A. Tenedório, Carlos P. Silva, Ted L. Martins Pontes

http://www.cerf-jcr.org/images/stories/2014_ICS_Proceedings/JCR_SI_70_081_Magarotto_et_al.pdf

How can Portugal effectively integrate ICM and MSP?

Maria A. Ferreira, David Johnson, Carlos Pereira da Silva

http://www.cerf-jcr.org/images/stories/2014_ICS_Proceedings/JCR_SI_70_084_Ferreira_et_al.pdf

by cpsilva2012 at July 14, 2014 05:18 PM

July 13, 2014

Sean Gillies

SciPy Conference

SciPy Conference

I’m back from my first ever trip to SciPy, the annual scientific Python community conference. I found it quite amazingly good.

https://conference.scipy.org/scipy2014/site_media/static/img/scipy2014_logo_simple.png

Slides from my talk on Wednesday are at https://sgillies.github.io/scipy-2014-rasterio/. I feel like it went well and hope that you found (and will find it) useful, too. I missed Tuesday’s sessions, which were jam packed with geospatial talks, and didn’t have time to check out all the slides from those before presenting. Referencing other talks is something I usually try to do, and failing to do so felt a little weird. My talk was sandwiched between Tyler Erickson’s on Google Earth Engine and Shawn Walbridge’s on workflows and distribution of GIS Science toolkits; a nice showing of research and science going on at Google, Mapbox, and Esri.

The IPython Notebook seemed to be the major touchstone for presenters and other attendees of the conference, and rightly so. I’ve got all kinds of plans for doing things with it, many that I expressed at the conference, and I’m certain that it’s going to spread in GIS circles. Features coming soon to notebooks near you include: map interactivity, Native Client notebooks, Google Drive hosted notebooks, and a new language agnostic platform. I enjoyed getting to meet Fernando Perez and Brian Granger and congratulate them on the success of the project.

Greg Wilson’s keynote, available on Youtube, was a challenge to apply science to the teaching of programming and other subjects. I definitely recommend watching it. A strange recommendation from me, I know, since I’m more likely to say things like “keynotes are terrible.” Keynotes that stroke the audience are terrible. Wilson’s is better than that.

Best part of the trip for me was sprinting on GeoPandas and other projects with Kelsey Jordahl, Nora Deram, Jacob Wasserman (remotely), Matt Perry, Taylor Oshan, Carson Farmer, Shawn Walbridge, Serge Ray, and Philip Stephens. I learned a ton about Pandas and GeoPandas, made some solid contributions to the project, and all in great company. It was a pleasure and a privilege.

One sobering thing is being reminded that not everyone enjoys the same pleasure and privilege. It’s important to read and think about April Wright’s thoughts on SciPy: http://wrightaprilm.github.io/posts/lonely.html.

by Sean Gillies at July 13, 2014 06:44 PM

Free and Open Source GIS Ramblings

Installing PySAL for OSGeo4W

Today’s post is a summary of how to install PySAL on Windows for OSGeo4W Python.

The most important resource was https://trac.osgeo.org/osgeo4w/wiki/ExternalPythonPackages

In the OSGeo4W Shell run:

C:\Users\anita_000\Desktop>curl http://python-distribute.org/distribute_setup.py | python

Then download https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py to the Desktop and run:

C:\Users\anita_000\Desktop>python get-pip.py

When pip is ready, install PySAL:

C:\Users\anita_000\Desktop>pip install pysal

Test the installation:

C:\Users\anita_000\Desktop>python
Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win 32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysal

by underdark at July 13, 2014 05:35 PM

BostonGIS

PostGIS Minimalist X3D Viewer for PHP and ASP.NET

I've been thinking for a long time about creating an HTML based X3D viewer to visualize PostGIS 3D geometries. Now that I've started to document the new SFCGAL features, the need became more pressing. So I've created a very rudimentary one. You can check out the code on my github page https://github.com/robe2/postgis_x3d_viewer. I'm hoping to expand it in the future to allow people to pick materials for their geometries and also allow people to save the generated scene as a full X3D document.

x3d viewer for postgis

It utilizes the X3DOM Javascript library and JQuery for injecting X3D objects into the scene. I'm really excited about X3DOM JS. It was fairly trivial to work with and integrate the ST_AsX3D function. Utilizing it will help me stress test the ST_AsX3D function and patch up the holes in it. When I developed the function I was only interested in 3D geometries and didn't think too much about collections either. So as a result the function is kinda broken when working with 2D or Geometry Collections.

Features and Limitations

  • It has one scene and every query you do writes into the scene. This allows you to dump a bunch of objects on the same white board using different queries.
  • Similar to Raster Viewer I created a while ago, it's got a query log and a color picker. The color picker allows you to color each query output differently. I hope to augment this to allow picking different materials too.
  • Requires either .NET or PHP and of course a PostGIS 2+ enabled database
  • Similar to the Web raster viewer I created, it can only handle a query that outputs a single geometry (geometry mode) or an X3D scene snippet (raw mode)

Continue reading "PostGIS Minimalist X3D Viewer for PHP and ASP.NET"

by Regina Obe (nospam@example.com) at July 13, 2014 02:15 AM

July 12, 2014

Free and Open Source GIS Ramblings

OSM Toner style town labels explained

The point table of the Spatialite database created from OSM north-eastern Austria contains more than 500,000 points. This post shows how the style works which – when applied to the point layer – wil make sure that only towns and (when zoomed in) villages will be marked and labeled.

Screenshot 2014-07-12 12.30.21

In the attribute table, we can see that there are two tags which provide context for populated places: the place and the population tag. The place tag has it’s own column created by ogr2ogr when converting from OSM to Spatialite. The population tag on the other hand is listed in the other_tags column.

Screenshot 2014-07-12 13.00.15

for example

"opengeodb:lat"=>"47.5000237","opengeodb:lon"=>"16.0334769","population"=>"623"

Overview maps would be much too crowded if we simply labeled all cities and towns. Therefore, it is necessary to filter towns based on their population and only label the bigger ones. I used limits of 5,000 and 10,000 inhabitants depending on the scale.

Screenshot 2014-07-12 12.56.33

At the core of these rules is an expression which extracts the population value from the other_tags attribute: The strpos() function is used to locate the text "population"=>" within the string attribute value. The population value is then extracted using the left() function to get the characters between "population"=>" and the next occurrence of ". This value can ten be cast to integer using toint() and then compared to the population limit:

5000 < toint( 
   left (
      substr(
         "other_tags",
         strpos("other_tags" ,'"population"=>"')+16,
         8
      ),
      strpos(
         substr(
            "other_tags",
            strpos("other_tags" ,'"population"=>"')+16,
            8
         ),
        '"'
      )
   )
) 

There is also one additional detail concerning label placement in this style: When zoomed in closer than 1:400,000 the labels are placed on top of the points but when zoomed out further, the labels are put right of the point symbol. This is controlled using a scale-based expression in the label placement:

Screenshot 2014-07-12 13.32.47

As usual, you can find the style on Github: https://github.com/anitagraser/QGIS-resources/blob/master/qgis2/osm_spatialite/osm_spatialite_tonerlite_point.qml


by underdark at July 12, 2014 11:46 AM

July 10, 2014

MGCOT

22nd ISUF 2015Conference: City as organism. New visions for urban life:

Como sabem acabou há dias a edição do ISUF 2014, no Porto, e já foi divulgado o o call para o ISUF 2015!!!

Será em Roma e intitula-se “City as organism. New visions for urban life

É sempre um evento muito interessante e multidisciplinar, e este ano contou com a participação do Bill Hillier!

Vamos ver o que a edição do próximo ano nos reserva, fiquem atentos aos site
http://rome2015.isufitaly.com ou à página do facebook https://www.facebook.com/groups/216069605242473/

 

by susanasbrito at July 10, 2014 09:50 PM

MGCOT

REVISTA PERSPECTIVAS DE POLÍTICAS PÚBLICAS

A revista Revista Perspectivas de Políticas Públicas, da Universidad Nacional de Lanús, apela à participação da comunidade científica para o envio de artigos!

A data limite para a recepção de artigos é 31 de Outubro de 2014.

Podem encontrar as informações necessárias no link: http://www.unla.edu.ar/index.php/perspectivas-de-politicas-publicas-presentacion

E enviar os artigos para: perspectivas@unla.edu.ar

by susanasbrito at July 10, 2014 09:49 PM

Jackie Ng

Oh hey ... it works!


by Jackie Ng (noreply@blogger.com) at July 10, 2014 02:23 PM

SourcePole

Multiple map grids in the QGIS print composer

In printed maps, having several coordinate grids over one map is a very usefull feature. For instance using a meter system as output CRS, it is nice to display a latitude / longitude grid as well. Until now, the QGIS print composer allowed only one coordinate grid per composer map and it was restricted to the map output CRS.

Having that multigrid / multiCRS feature in QGIS Enterprise since 13.04 already, I’ve recently found the time to port it into the QGIS developer version. Therefore it will be part of the upcoming version 2.6 in October. The screenshot below shows how it can be used to add a wgs84 grid onto a meter map. In the composermap widget, grids can be added / removed and reordered. Additionally there is now a CRS selection button to select the coordinate system for the grid. The development of this feature has been kindly funded by Canton of Solothurn (Switzerland).

by marco at July 10, 2014 01:55 PM

MGCOT

Novo Mestre. Parabéns ao Pedro Dias

Pedro Dias, membro do MGCOT, defendeu hoje com sucesso o seu relatório de estágio desenvolvido na Câmara Municipal de Lisboa, «Análise exploratória de dados espaciais de actores de sectores estratégicos na cidade de Lisboa».

o Júri, constituído pleo presidente, Jorge Ricardo Costa Ferreira, FCSH-UNL, DGPRl,  orientador Fernando Jorge Pedro da Silva Pinto da Rocha, Instituto de Geografia e Ordenamento do Território, e o  arguente Externo Paulo Alexandre Morgado Sousa, Instituto de Geografia e Ordenamento do Território, atribuiram por unanimidade a classificação de 19 valores.

by cpsilva2012 at July 10, 2014 12:46 PM

July 09, 2014

Boundless Blog

Build applications using OpenLayers 3 and OpenGeo Suite (Part 1)

OpenLayers

Many of our customers use OpenGeo Suite to build applications that address specific business needs. New York City and Howard County use our software to help residents better access government services while San Jose Water Company has built several applications for internal use by staff.

Our newest release, OpenGeo Suite 4.1, includes new templates built on OpenLayers 3. Based on Bootstrap for responsive design and jQuery for leaner code, they make it easier to build and deploy applications on modern web browsers.

OpenLayers 3 is the next iteration of the successful client-side mapping library, rebuilt using the latest web technologies. Unlike OpenLayers 2, which includes features like layer switcher or a toolbar by default, this version leaves the choice of user interface elements to the application developer. This is where our new templates come in handy.

In this post we’ll discuss the first of these templates, which serves the purpose of creating a viewer application. In the next post, we’ll discuss creating an editing application.

Bootstrapping a new application

Once you install OpenGeo Suite 4.1 and the Boundless SDK, you’ll get a command-line utility called suite-sdk. We’ll use this utility, and more specifically its create command, to bootstrap our application.

suite-sdk create /path-to/myapp ol3view

/path-to/myapp is the file path (please adjust to suit your folder structure and operating system) where our application will be created, and ol3view is the name of the template we want to use.

To run this application in debug mode, we’ll use the debug command of the suite-sdk:

suite-sdk debug /path-to/myapp

This will start up an application server on port 9080 (the default port can be changed with the -l flag), which will proxy a GeoServer instance on http://localhost:8080/geoserver (the default GeoServer proxy can be changed with the -g flag).

If we point a browser to http://localhost:9080 we will see our application in debug mode.

Application running in debug mode

View template

The view template provides a few examples of functionality that OpenLayers 3 does not provide out of the box:

  • a layers control
  • a popup that can pan into view

The layers control can be configured with a set of groups, to group certain layers together. In OpenLayers 3, it’s possible to define any extra (observable) properties on a layer object (which inherits from ol.Object). In this case we use a property called group, and a property called title for the user-readable title of the layer. Groups can be exclusive, which will have the individual layers of that group show up as a radio group, or non-exclusive which will have them show up as checkboxes. The layers control uses the mechanism demonstrated in the custom controls example.

The popup extends ol.Overlay. When a feature is clicked in the map, the information from a WMS GetFeatureInfo response will be shown in the popup, and the selected feature will be highlighted on the map. By default the WMS GetFeatureInfo request uses GML3 in the template, but it can optionally use HTML as well.

WMS GetFeatureInfo shown in a popup

Customizing the template

In this section we will show how to add a company logo to the application and we will use a different layer for the application.

Add company logo

Open up /path-to/myapp/index.html in your favorite text editor. Search for Application Template and insert the following img tag in front of the Application Template text string:

<img class="company-logo" src="http://boundlessgeo.com/wp-content/themes/open-geo/images/logo.png">

In the style section, add the following CSS class for the company logo:

img.company-logo {
height: 30px;
padding-right: 10px;
}

Save your edits, reload your browser, and you should see the company logo in the application template now.

Use a different layer

Download the Fault Lines dataset from the GeoTech Center Data Library and open it in GeoExplorer, generally available at http://localhost:8080/geoexplorer in a default OpenGeo Suite install. Click the green plus button in the toolbar at the top of the layer tree, and select the Upload layers menu option. Log into GeoServer (the default credentials are “admin” and “geoserver”) and browse for the ZIP file. Since there is no PRJ file, manually specify the CRS as EPSG:4326.

Upload the new dataset using GeoExplorer

Use the Layer Properties dialog,  find the name of the uploaded layer. In our case, it is opengeo:FAULTS0.

Layer Properties dialog

Now open up /path-to/myapp/src/app/app.js in your favorite text editor. Look for the config section. We will use a WFS DescribeFeatureType request to find all the information we need, in our case this is:

http://localhost:8080/geoserver/ows?service=WFS&request=DescribeFeatureType&version=1.0.0&typename=opengeo:FAULTS0

In the response there is a targetNamespace attribute on the xsd:schema which we will need to configure our application properly (this is the value for featureNS). The following variables in the config section need to be changed to use a different layer in our application template. Most of its values can be derived from the WFS DescribeFeatureType output:

var featurePrefix = 'opengeo';
var featureType = 'FAULTS0';
var featureNS = 'http://opengeo.org';
var srsName = 'EPSG:900913';
var geometryName = 'the_geom';
var geometryType = 'MultiLineString';
var fields = ['TYPE'];
var layerTitle = 'Faults';

Our application will now look like this:

Application using a different layer

Deploying the application in production

Up to this point we have been using the debug loader. To deploy an application in production with the SDK, we normally create a WAR file and deploy that in a servlet container. This will replace the debug version with a full build of OpenLayers 3 which uses the Closure Compiler’s advanced mode. Also, our own application code will be prepared for better use in production. To create a WAR file we can use the package command:

suite-sdk package /path-to/myapp /path-to/myoutputdir

This will create a myapp.war package in the directory that we specified as the output directory (/path-to/myoutputdir).

Learn more!

Find out more about using the Boundless SDK and these new templates in this Tech Talk that Andreas and I recently presented to our colleagues.

The post Build applications using OpenLayers 3 and OpenGeo Suite (Part 1) appeared first on Boundless.

by Bart van den Eijnden at July 09, 2014 01:21 PM

July 08, 2014

MGCOT

2 PhD Positions : Enschede, Netherlands

by cpsilva2012 at July 08, 2014 10:44 AM

MGCOT

COASTGIS 2015

by cpsilva2012 at July 08, 2014 10:36 AM

July 07, 2014

MapProxy

New MapProxy 1.7.0 release

We are pleased to announce the release of MapProxy 1.7.0. It contains a lot of major and minor improvements.

The latest release is available at: http://pypi.python.org/pypi/MapProxy

To upgrade within your virtualenv:

$ pip install --upgrade --no-deps MapProxy

Updated documentation is available at: http://mapproxy.org/docs/1.7.0/

New features

Some noteworthy improvements since 1.6.0 are:

New autoconf tool

There is a new autoconf tool that is able to create MapProxy configurations based on existing WMS services. It reads WMS capabilities documents and creates sources and caches for all layers. It's a great way to get started with a new service.

See: http://mapproxy.org/docs/1.7.0/mapproxy_util_autoconfig.html

Improved error handling in mapproxy-seed

Some services you need to seed are not as robust as you like. We improved mapproxy-seed to be more resilient with unstable sources. It prints more useful error messages and retries to request images for longer: seeding will not abort if a source is down for a few hours.

Python 2.5

MapProxy 1.7.0 is the last release with support for Python 2.5.

Other fixes and changes

There are many more changes and improvements. For a complete list of see: http://github.com/mapproxy/mapproxy/blob/1.7.0/CHANGES.txt

July 07, 2014 11:45 PM

MapProxy

New MapProxy 1.7.0 release

We are pleased to announce the release of MapProxy 1.7.0. It contains a lot of major and minor improvements.

The latest release is available at: http://pypi.python.org/pypi/MapProxy

To upgrade within your virtualenv:

$ pip install --upgrade --no-deps MapProxy

Updated documentation is available at: http://mapproxy.org/docs/1.7.0/

New features

Some noteworthy improvements since 1.6.0 are:

New autoconf tool

There is a new autoconf tool that is able to create MapProxy configurations based on existing WMS services. It reads WMS capabilities documents and creates sources and caches for all layers. It's a great way to get started with a new service.

See: http://mapproxy.org/docs/1.7.0/mapproxy_util_autoconfig.html

Improved error handling in mapproxy-seed

Some services you need to seed are not as robust as you like. We improved mapproxy-seed to be more resilient with unstable sources. It prints more useful error messages and retries to request images for longer: seeding will not abort if a source is down for a few hours.

Python 2.5

MapProxy 1.7.0 is the last release with support for Python 2.5.

Other fixes and changes

There are many more changes and improvements. For a complete list of see: http://github.com/mapproxy/mapproxy/blob/1.7.0/CHANGES.txt

July 07, 2014 11:45 PM

Paul Ramsey

Some Privacy is More Private Than Others

One of the things that struck me in researching the long and tortuous story of how the government is trying to move British Columbian's private data into off-shore cloud computing services was the odd choice of the pilot project for the whole scheme: STADD.

What's STADD? It's "Services to Adults with Developmental Disabilities".

That's right, adults with developmental disabilities are the subjects of the BC government's experiment to see "hmm, I wonder if we can offshore private data using fancy tokenization software".

Let me put some icing on the cake.

The BC Liberal caucus has to manage information about the citizens who access services via their constituency offices. These are their "customers" and they use a "customer relationship management" (CRM) system to hold the information.

Are they storing this personal information offshore? Are they trying to shoehorn it into salesforce.com using tokenization software to avoid FOIPPA restrictions and protect their constituents from the PATRIOT Act?

No, that would be risky, that's the kind of thing that STADD can pilot. The BC Liberal caucus uses a product called "Maximizer CRM". Designed, built and hosted in... Vancouver, British Columbia.

by Paul Ramsey (noreply@blogger.com) at July 07, 2014 09:44 PM

Paul Ramsey

FOSS4G 2014 in Portland, Oregon, September 2014

Just a quick public service announcement for blog followers in the Pacific Northwest and environs: you've got a once in a not-quite-lifetime opportunity to attend the "Free and Open Source Software for Geospatial" (aka FOSS4G) conference this year in nearby Portland, Oregon, a city so hip they have trouble seeing over their pelvis.

Anyone in the GIS / mapping world should take the opportunity to go, to learn about what technology the open source world has available for you, to meet the folks writing the software, and the learn from other folks like you who are building cool things.

September 8th-13th, be there and be square.

by Paul Ramsey (noreply@blogger.com) at July 07, 2014 09:07 PM

Boundless Blog

Boundless Connections: Ann Johnson, CEO

Ann Johnson

Over the past year, Boundless has grown tremendously: becoming an independent company, expanding and enriching our offering of Spatial IT solutions and services, and deepening and broadening our team with experts and leaders from across the geospatial and enterprise IT fields. This marks a new chapter for our company, one designed to maximize what we see as a major inflection point in this industry. As the number and type of sensors and data sources proliferate, geospatial data collaboration becomes the key problem facing the Spatial IT industry.

With that in mind, we are accelerating our transformation with the addition of Ann Johnson as our new CEO. This new chapter requires an additional set of leadership skills, and Ann delivers them in spades with her strong background in cloud computing, security, and enterprise IT software broadly. She joins us from leading security software companies, where she served in a range of executive positions and developed her expertise in infrastructure, storage, and security. Her knowledge and executive experience will greatly strengthen our leadership and team as we continue to enhance solutions like OpenGeo Suite, develop new offerings, and maximize the significant opportunity ahead of us.

Welcome to the team! What was your role before you joined us?

Thank you! I’m excited to join the team, and have spent the last few weeks developing a better understanding of the company, solutions and industry.  My background maps very well to the changes taking place in the Spatial IT industry and the transformation at Boundless. My last fourteen years have been dedicated to the cloud computing and security software industry, most recently working with the talented team at Qualys. I spent the majority of that time at RSA, leading the global fraud team, which was a very rewarding experience as the company has an excellent vision and strategy and truly allowed me to grow my career in a meaningful way.

What are you most proud of from your time at RSA?

Team building! The most rewarding part of any leadership role is the ability to recognize talent and work with individuals to help them realize their career goals. Providing the guidance, coaching and support along the way as individuals grow and develop is what I enjoy most, by far. I was fortunate to be surrounded by amazing professionals at RSA and was able to function in a true leadership role by enabling talent to make an immediate and meaningful impact.

What made you interested in working at Boundless?

Boundless has an impeccable reputation amongst customers and the wider industry for employing highly talented and passionate geospatial professionals and developing high quality, innovative solutions. The software we develop has the ability to transform the GIS industry and help it pivot into a new Spatial IT industry built on proven open source tools. The depth of talent at Boundless, the quality of the software, and the feedback I received from customers made the opportunity at Boundless too compelling to pass.

What excites you most about the tools and products that Boundless is currently developing?

Timing is everything! My arrival at Boundless coincided with the release of OpenGeo Suite 4.1, which supports deployments on AWS and VMware as well as a new MongoDB connector and QGIS package. These enhancements continue to differentiate Boundless from the competition as a true leader in the Spatial IT sector.

What do you see as some of the benefits of using open source tools?

I come from a very strong infrastructure and software background, so I’ve experienced many different technologies, solutions, services, and tools throughout my career. The most compelling case for open source is the richness of the various communities, and the speed at which they can iterate and deliver highly innovative solutions. The passion of developers who are committed to open source is evidenced by both the quality of code they develop and the creativity and dedication they use in solving problems. It is not uncommon for a problem or idea to lead to an all-night development effort with the entire community contributing in an inspiring way. This leads to an energizing culture and collaborative dynamic for companies, like Boundless, that contribute to the community and address customer challenges faster and more affordably than any proprietary solution.

Where do you see the geospatial industry moving in the future?

We’re at a major inflection point in our industry. We’re on the cusp of Spatial IT as being truly ubiquitous. As the “Internet of Things” continues to proliferate, the ability to provide contextual mapping to any manner of objects and devices, whether used by consumers or business people and professionals, will become increasingly relevant. It will just become what people expect – an integral part of how we live, work and play. We need tools that are highly scalable, flexible, easy and affordable to deploy, and easy to integrate. Geospatial is not just about producing the best or prettiest maps, it is also about providing context and producing the best geospatial data that provides real value. We are solving a major “big data” problem and looking toward the future. The company that can balance strength in the core geospatial market with a vision for the future that takes into account the larger contextual global data opportunity will be the next generation of leaders in the Spatial IT segment.

What are your plans for the future of Boundless?

That’s a great question! You can expect to see us continue to honor our open source heritage while developing the highest quality solutions for both on-premise and platform-as-a-service delivery, allowing our current and future customers to develop their geospatial-enabled applications with the utmost confidence. We have a strong reputation to maintain for industry leadership, quality, and vision. The opportunity to continue to grow the company with our current offerings while bringing unique and disruptive solutions to market is endless. We will focus on where we are strong and continue to lead the industry in the next evolution of geospatial data collaboration.

What’s an interesting fact about yourself (that you haven’t already said)?

Outside of work, I am actually quite a homebody, which often comes as a surprise to people. My non-work life revolves around my family. I am passionate about gardening, cooking, reading, and anything related to water sports. I am also a large supporter of animal rescue organizations such as Best Friend Animal Society and take pride in playing “Mom” to a houseful of rescue mutts.

Ann's dogs

The post Boundless Connections: Ann Johnson, CEO appeared first on Boundless.

by Rolando Peñate at July 07, 2014 02:47 PM

GIS for Thought

Visiting the Great Polish Map of Scotland

The Great Polish Map of Scotland is located on the grounds of the Barony Castle Hotel. Found near the borders town of Eddleston, just north of Peebles, or a 50 minute drive from Edinburgh. We visited it on our way north from England, which didn’t take use too much out of our way. It is free to visit so a must visit for all map enthusiasts in Scotland or Northern England.

The Great Polish Map of Scotland GIF

Built between 1974 and 1979 to a scale of 1:10000 it is truly impressive to behold (50 m x 40 m on the ground). It is the largest known physical representation of a country and the largest outdoor relief map in the world (signpost at the map). Envisioned by Jan Tomasik, a Polish sergeant. He had been station in Galashiels during WW2, and added the Hotel Black Barony to his holdings in 1968, providing the map a location. The map itself was built in stages over a number of years, with Polish exchange students providing some of the manpower required.

The map is now maintained by Mapa Scotland. A charity who are now working on restoring the map. Parts of it are currently in poor condition, but overall it is an impressive site.

Also the grounds of the hotel in general are really beautiful, with a small glen running through the site, if visiting the Scottish Borders it would make a great place to stay: Barony Castle Hotel.

When arriving at the hotel there is a path just to the left of the castle:
Barony Castle Hotel The path continues on the bridge over the glen:
Bridge to the map. Finally the map, the white stick is the location of Ben Nevis. Looking from the east, so Aberdeen and Aberdeenshire in the forefront:
The Great Polish Map of Scotland View from the west, with the Western Isles in the forefront:
The Great Polish Map of Scotland View from the south with the Scottish Borders and Dumfires and Galloway in the forefront:
The Great Polish Map of Scotland Closeup of the details, the erosion on the edges is evident:
The Great Polish Map of Scotland

YouTube:

Video 1 and Video 2.

Bing:

Bing Maps Bird’s eye view has a good image of the map.

Google:
Location on Google Maps.

For more information please visit:
Mapa Scotland
The Great Polish Map of Scotland on Wikipedia
BBC News

by Heikki Vesanto at July 07, 2014 11:00 AM

July 05, 2014

Paul Ramsey

Keynote @ FME User Conference

FME was one of the first geospatial tools I learned at the start of my career, back in the mid-90s, and getting invited to keynote the quintennial FME Users Conference this year was quite an honour, so I wrote up a special keynote just for them.

by Paul Ramsey (noreply@blogger.com) at July 05, 2014 06:20 PM

Narcélio de Sá

CadInput vetorização avançada – QGIS

As ferramentas de vetorização do QGIS ainda são alvos de crítica por parte dos usuários do QGIS, eu sou um dos que acreditam que elas ainda não atingiram sua maturidade. Mas isso pode mudar em breve, já que a comunidade de desenvolvedores não para de criar complementos que agregam novas funcionalidades ao QGIS. Um desses complementos é o CadInput.

Conheça o CadInput

Esse é o plugin que pode mudar a forma sua opinião sobre as ferramentas de vetorização do QGIS. O CadInput ainda é um complemento experimental, portanto ainda é instável e pode não funcionar corretamente em todas as situações, com afirmam os desenvolvedores na página do plugins no github:

O CadInput é um plugin experimental para QGIS, construído em python, que permite restringir numericamente o cursor para alcançar uma digitalização eficiente e precisa, da mesma forma que em aplicações CAD, em qualquer ferramenta QGIS. Atualmente, o plugin conta com muitos hacks e pode, portanto, ser instável. NÃO USE ESTA VERSÃO PARA TRABALHO!

Veja as funcionalidades do plugin no vídeo abaixo:

CadInput for QGIS prototype from red on Vimeo.

O plugin pode ser encontrado no gestor de complementos do QGIS, desde que a opção visualização de complementos experimentais esteja habilitada. Veja onde habilitar essa função:

Opção para habilitar complementos experimentais

Opção para habilitar complementos experimentais

Para mais informações visite a página do Github e a lista de discussão da osgeo sobre o plugin.

The post CadInput vetorização avançada – QGIS appeared first on Narcélio de Sá - Geotecnologias.

by Narcélio de Sá Pereira Filho at July 05, 2014 04:33 PM