Vous pouvez lire le billet sur le blog La Minute pour plus d'informations sur les RSS !
Feeds
46891 items (0 unread) in 88 feeds
-
Directions Magazine : A la une
-
Directions Magazine : Blogue
-
SIG la lettre : à la une
-
SIG la lettre : actualité
-
SIG la lettre : Produits et Services
-
Les Rencontres de SIG-la-Lettre
-
SIG la lettre : divers
-
Directions Magazine : Communiqués de presse
-
BalizMedia : Communiqués de presse
-
PortailSIG - Actualité
-
Imagerie Géospatiale
-
Virtual Earth in Europe by Arnaud
-
Geospatial made in France
-
GéoTrouveTout
-
Humblogue
-
le blog decigeo
-
Articque - Les Sytèmes d'Analyse Géographique, la cartographie, le géomarketing et la géostatistique
-
GeoConcept
-
arcOrama, un blog sur les SIG, ceux d ESRI en particulier
-
arcOpole - Actualité du Programme
-
arcUtilisateurs
-
Geomatys
-
Blog Géoclip O3, générateur d'observatoires
-
Le blog TIC » Information Géographique
-
Geospatial air du temps by Géo212
-
Monde géonumérique
-
Le petit blog cartographique - Article
-
ReLucBlog - SIG, MOZILLA & NTIC
-
TerrImago "Le temps du monde fini commence" (Paul Valéry)
-
GeoInWeb
-
Le monde de la Géomatique et des SIG ... tel que je le vois
-
Géographie 2.0
-
BloGoMaps - google maps france
-
GeoRezo.net - Géoblogs
-
Geotribu
-
Benjamin Chartier
-
neogeo
-
OpenSource, Geospatial et Web ?.0
-
Faire joujou avec son GPS
-
Géomatique et Topographie
-
HelioMap
-
La chronique de la parallaxe
-
Remote In Every Sense
-
UrbaLine
-
GEMTICE
-
Serial Mapper
-
SIG-o-Matic
-
Cybergeo
-
Librairie La GéoGraphie • Actualité internationale
-
Les Cafés géographiques
-
Une carte du monde.
-
Mappemonde
-
Les blogs du Diplo - Visions cartographiques
-
Oslandia
-
Le Forum français de l'OGC
-
Inventis Géomarketing
-
Blogue de la géomatique du MSP
-
Blog technique de Nicolas Boonaert
-
WebMapping
-
A GeoSpatial World
-
Cartes et Cartographie / Maps and Mapping
-
Sample Digital Orthophoto Images
-
Silatitudes - Accueil
-
RSS Libre@vous
-
Blog d'Intelli3
-
Audissey
-
GeoReader's Digest
-
Michael TRANCHANT
-
Le blog d'Henri Pornon
-
Le blog de l'image satellite - CNES
-
Planet Geospatial - http://planetgs.com
-
Google Maps Mania
-
All Points Blog
-
Directions Media - Podcasts
-
Navx
-
James Fee GIS Blog
-
OGC News Feed
Autres planets
-
17:03 Florentina Musat: Stop ACTA!
sur Planet OSGeo -
11:09 Sourcepole: FOSSGIS Konferenz 2012 in Dessau
sur Planet OSGeoDie FOSSGIS und deutschsprachige Open Street Map Konferenz 2012 – die grösste deutschsprachige Anwenderkonferenz für Freie Geo-Informationssysteme und freie Geodaten – findet vom 20. bis 22. März 2012 an der Hochschule Anhalt in Dessau-Rosslau statt.
Sourcepole ist mit folgenden Vorträgen und Workshops vertreten:
- Neues vom QGIS Server und -Webclient
- TinyOWS - der schlanke WFS Server
- MapServer MapCache - der neue WMTS Tile Cache
- Workshop: Neue Funktionen in QGIS für Poweruser
Da mehr als 400 Teilnehmende erwartet werden, ist eine Registrierung bis zum 16. März 2012 notwendig. Das Anmeldeformular und andere organisatorische Informationen befinden sich auf der Konferenzseite.
-
9:34 Jackie Ng: MapGuide Instant Setup now supports IIS(7)
sur Planet OSGeoWhen I first introduced the MapGuide Instant Setup utility, you could only set up a functional Apache Web Tier.
Well, I finally got motivation to add IIS (7.x) support to this utility, so here's what the IIS configuration screen looks like:
The setup configuration logic is exactly the same as the official installer (ie. It's a series of appcmd.exe calls). The key configuration bits are:- The web site indicated by Web Site Name must already exist in IIS
- The Virtual Directory must not already exist in IIS
- The Application Pool must not already exist in IIS
- If the compiled binaries are 64-bit, you must check the This is a 64-bit instance of MapGuide checkbox as this will skip some appcmd.exe calls that apply to 32-bit installs. The Apache configuration does nothing with this field, checked or unchecked.
-
22:02 Spatialytics.COM: Business Intelligence needs location standards, an OGC article in GeoConnexion
sur Planet OSGeoYou can find in the current issue of GeoConnexion / Geo: International (February 2012 – Volume 11, issue 2) an OGC (Open Geospatial Consortium) article signed by Michael Sanderson (Director of Strategy, 1Spatial) and Thierry Badard (CTO, Spatialytics) Co-Chairs of the OGC’s GeoBI Working Group : Business Intelligence needs location standards (.pdf in the OGC World Section) Extract : « Geospatial data stovepipes and walled gardens imposed by proprietary or community-specific interfaces and encodings limit the publishing, discovery, assessment, access and use of data that may be critical in important decisions. Open standards are the key to deriving maximum business benefit and return on investment from BI systems and from today’s burgeoning location data and location apps » The article also presents the newly created OGC Technical Committee Geospatial Business Intelligence Domain Working Group (GeoBI DWG). About Spatialytics and the GeoBI DWG Spatialytics is an active member of the OGC -
16:51 Fernando Quadro: OSM Tracker: Crie mapas a partir do celular
sur Planet OSGeo
Este post faz referência ao artigo publicado na 4ª edição da Revista FOSSGIS Brasil.
“O OSM (Open Street Map) Tracker é uma App desenvolvida sob a liderança do francês Nicolas Guillaumin que permite criar mapas de pontos, linhas e polígonos destinado a dispositivos móveis como PDA, smartphones e Tablets. Roda sobre os sistemas operacionais Android e Windows Mobile”.
Para ler o conteúdo na íntegra, baixe aqui sua versão em formato PDF.
Boa leitura e até a próxima.
Posts Relacionados- Lançada a 3a edição da Revista FOSSGIS Brasil
- Envie seu artigo, a Revista FOSSGIS Brasil quer a sua participação!
- O que você gostaria de ler na Revista FOSSGIS Brasil?
- Planeta FOSSGIS Brasil
- Acabou o mistério: Saiba o que é o Projeto FOSSGIS Brasil
- Lançada a 4a edição da Revista FOSSGIS Brasil
- GeoServer 2.1.2 Released
- OpenLayers Editor
- Leaflet: Uma API OpenSource para publicação de mapas
- FOSS4G 2011: WPS Shootout
-
12:43 Jackie Ng: A roadmap update for Maestro
sur Planet OSGeoThought I might give an update about the state of play with the roadmap for MapGuide Maestro
Maestro 5.0
Maestro 5.0 will become the next major release. Here's a brief overview of what you can expect for this release:- This will be the first release targeting .net Framework 4.0
- An addin for working with GeoREST
- An addin to provide scripting/automation capabilities to Maestro with the IronPython scripting engine.
- Trickling of assorted functionalities from FDO Toolbox
- And much more!
- The Maestro API includes new interfaces for feature source manipulation (Insert, Update, Delete, Apply Schema). The LocalNative connection will have full support for these operations.
- The HTTP connection will have partial support for feature source manipulation (currently only Insert) if you include a new GeoREST url connection parameter (there is an implicit assumption here that the mapagent and GeoREST urls you are connecting to are both talking to the same MapGuide Server).
- LocalNative connections no longer wrap the official API through ugly hacks like assembly binding redirection. LocalNative connection providers will directly reference the official MapGuide .net assemblies.
- The Maestro SDK will include a new signing utility to automate the previously tedious process of signing the official MapGuide .net assemblies
- The Maestro SDK will include the source code of the LocalNative connection provider so you can "roll your own" connection provider against your specific version of MapGuide/AIMS
These features will be showcased on this blog as they become implemented and refined. No definite timeline for release, so don't ask :-)
Maestro 4.x maintenance branch
For those of you using the Maestro API, moving to .net Framework 4.0 could be a game changer as the 4.0 CLR may introduce different behaviour to your existing .net code and/or the .net libraries your code uses. The reason for the change is to be able to have LocalNative connection provider support for future releases of MapGuide/AIMS, whose .net assemblies will be targeting .net Framework 4.0.
Maestro, being a .net 2.0 application cannot reference or load assemblies of a newer framework version, so this migration to .net Framework 4.0 is one of necessity. Mono support for .net Framework 4.0 is already quite stable (and we don't venture too far from the well supported subset of WinForms + BCL), so nothing breaking on this front.
So as to not impose an overly breaking change to the existing Maestro API users out there, we will maintain a 4.x branch that will remain targeting .net Framework 2.0 and will only receive bugfixes and minor enhancements. The features I've outlined above will not make it to this branch. Such fixes and minor enhancements will only be made on this maintenance branch only if there is demand for it. -
12:09 Jachym Cepicky: WFS 1.1 and axis orientation: where is this written
sur Planet OSGeoLast months, I’m working on Proxy4OWS project, which is Python script, converting automatically WFS and WCS services into WMS. In such way, we are able use our WMS client for display list of “layers” to the user and we are also able to display those layers in the web browser.
Problem is, WFS 1.1.0 servers should use axis order for the request, which coresponds with the CRS’s definition. I assume, axis order can be found at [epsg-registry.org] , but I’m not able to find, where in WFS 1.1 standard is it written, that the axis order is to be used, as defined in the CRS. Could anybody give me a hint?
-
2:58 Nathan Woodrow: Sucking a little less at Software and Open Source
sur Planet OSGeoRecently I have started reading two books, well one book and one collection of stories, on open source software and interaction design. This is all in an attempt to suck a little less at working on software, open source in particular i.e become a better person, programmer, and open source contributor.
The Books About Face 3The first book I started reading was About Face 3: The Essentials of Interaction Design. In my opinion this is a must read for anyone building software, or at least those who work with the UI and users.
One design principle the book covers is not leaking the Implementation Model into the UI. The Implementation Model is when the UI is designed around how the code works in the background, rather then the users mental model of the task. Most users don’t understand complex structures, or nested hierarchy, but yet we see it a lot within UI design due to it fitting the code design and the programmers view of the world perfectly well. Try explaining the branching, merging, and rebasing model of a Git tree to a non programmer and you will see what I mean.
That one design principle alone echoes strong with me, as lets be honest, most programmers are not UI designers and tend to do a pretty bad job at it, even me. When working on a feature the UI tends to be the last thing that is thought of and is just a quick interface for the code underneath.
Loss of orientation is another big thing. And what is the quickest way to get lost in a program? Dialog boxes! They popup, get in your face, most of the time have to be dismissed before you can see the results. Generally just a bad idea and people tend to get lost quick once you have more then one on the screen.
Those two principles alone are not going to make you a good UI designer but at least they give you something to ask yourself when working on a UI:
- Do I really need that button. Can’t I just do it for the user.
- Is there a reason this needs to be shown as a nested tree. Why not just a flat list. Can I do the same action with a different control.
- Do I really need a another dialog here. (This applies to annoying the user when something happens e.g non-fatal warnings or errors)
The second (free) book was brought to my attention by Brian on my Google+ feed, entitled Open Advice. Open Adivice is a collection of stories from people with differencing experience working on open source projects telling their stories on what they learnt and what they wish they had known when they started. The book aims to cover the answers to “”What would you have liked to know when you started contributing?”, which it does quite well.
It’s not heavy reading, but the story telling works well to bring home some of the things that everyone working on open source. Some of the stories cover things like; getting your first patch rejected; having a bad first IRC experience; writing good documentation; how to be a better community.
The book covers a range of topics so it’s a good read for everyone, regardless of your experience or knowledge area.
Those who don’t know history are destined to repeat it
SummarySo they are my two books for the start of 2012, hopefully they are a good read for you. I think in order to be good at anything you should strive, every year, to suck a little less at everything you do, even just a little bit. My role model in the software world is Scott Hanselman, generally a pretty cool dude, and has echoed a lot on his podcast this notion of learning sometime new every year to just get a little better at what you do, to become a better person and programmer.
So even if your not into learning or reading a lot, just reading these two books I can almost guarantee you will come out a better person for it.
Filed under: Open Source
-
1:30 Peter Batty: Looking for a web developer for Ubisense myWorld
sur Planet OSGeoMy previous post was also about a job ... am definitely going to start doing more posts shortly on a variety of other topics including some of the cool new things we've been working on in terms of products at Ubisense! But anyway, we are looking for a senior developer and software architect to join the Ubisense myWorld product team. If you read this blog you're probably familiar with myWorld, -
1:16 Daniel Morissette: MapServer and TinyOWS Releases at the Islandwood OSGeo Sprint
sur Planet OSGeo
This week, 21 developers are getting together for a code sprint in the wonderful venue of Islandwood to work on the advancement of their respective OSGeo projects. Thanks to Michael Gerlek for organizing and to our sponsors for their support.
I am happy to report that TinyOWS version 1.0 has just been released. Congratulations to Olivier Courtin for leading the project to this important milestone!
Last summer it was decided that TinyOWS (RFC-70) and MapCache (RFC-71) would join the MapServer project. This means that with the upcoming MapServer 6.2 release, we will also release the MapServer Suite which includes "mapserv" (the CGI/FastCGI), MapScript, MapCache and TinyOWS. The long term plan is to provide a more seamless integration of the tools under this MapServer Suite umbrella, while still allowing the use of each component independently or with other non-MapServer packages for those who wish to do so.
Another outcome of the sprint is that the TinyOWS documentation has been integrated in the development tree here. Thanks to David and Hal, for their work on this and their other contributions.
On the MapServer front, we just announced the release of version 6.0.2 and 5.6.8. There are no new features in those releases, only fixes, and they do include a fix for a security vulnerability that was found in the handling of WFS Filters inside SLDs, so you are encouraged to upgrade your installation. More details in the announcement here.
Finally, one of our next goals is to work out a plan for a MapServer 6.2 feature freeze and release this spring. -
23:10 OpenGeo Blog: Down with Podal!
sur Planet OSGeoAre you anti-podal? So are many geographic edges!
Actually, not many, but it feels like a common first test case people try when they start playing with the geography type. “How far is it between 0,0 and 180,0?”
There’s a big problem with anti-podal edges though: they don’t have a determinate path. That is, to get from (0,0) to (180,0) it doesn’t matter what direction you travel, just start moving. Any other pairing of points generates a single great circle describing the shortest path joining them. So anti-podal points make very bad components of geometry: they don’t define a path, and they can’t bound an area, because only the end points have a determinate location.
Which brings me to my problem. How do I handle geography objects in PostGIS that include anti-podal segments? On the one hand, since they are impossible to do calculations against, I should just disallow them in all cases, and throw an error. On the other hand, people think they have meaning and stick them into functions all the time. There are also a few functions (like ST_Length) where it’s actually possible to calculate a valid answer given an antipodal input (because we know that antipodal points are exactly one half-circumference apart, even if we don’t know what direction someone might travel between them).
What do you think? Is there a best answer? Comments most welcome!
-
20:35 Matt Sheehan: Mobile GIS Apps – Feature Attributes View & Edit
sur Planet OSGeo“If I could simply see my layers in the field on my mobile device, view feature attributes and edit/update these attributes my job would be so much easier” – Anonymous Client
I’m wondering how many others empathize with one of our clients. Mobile devices and mobile GIS apps can now do this and much [read full article]
-
20:17 Matt Sheehan: Mobile GIS – Sharing Map Annotation
sur Planet OSGeoWe wrote a blog entry a while back called ‘Hot Topics in Mobile GIS’. This was a summary of some of the many client conversations we had in 2011, talking about mobile GIS. Moving away from the use of pen and paper while working in the field, was often mentioned. It remains common [read full article]
-
14:31 Slashgeo (FOSS articles): Batch Geonews: 3D OpenLayers, MapQuest APIs for Android and iOS, Pitney Bowes' Geosk, and much more
sur Planet OSGeoHere's the recent geonews in batch mode.
From the open source and open data front:
- BrainOff shares a few examples of capabilities offered only by OpenStreetMap because of its open nature
- V1 mentions ReadyMap, using OpenLayers to render 3D models directly in the browser
- Here's a way to enhance raster contrast with gdal_lightner, with may makes its way as a QGIS Plugin
- Sean made me aware of pygp, a python geoprocessing package
- Here's a short but interesting article named The GeoWeb, Citizen Science and Open Data
- Harvard's WorldMap reached version 1.0 and they're looking for participants, we mentioned WorldMap in the past
In the everything-else category:
-
MapQuest Releases Native Mobile Mapping APIs for Android and Apple iOS, and yes, you can use OpenStreetMap data with it
-
SS shares a nicely done 2-minutes video of the OGC on the value of geospatial and standards
-
DM shares more information on Pitney Bowes's Geosk geodata platform, we mentioned Geosk last december. From the article: "Geosk is a platform for finding and using geospatial data. It combines a data as a service (DaaS) offering with a data management product. At its heart, Geosk is a completely scalable data management system that allows our customers to share their data with any user they choose, including their customers. Around this data management system we wrap an e-commerce engine to help our customers buy and sell premium geospatial data."
- Slashdot discussed Canada's Massive Public Traffic Surveillance System, which involves license plate reading, a topic covered a few times already
- DM offers an article on socio-demographic structures in Germany
- SS informs us a 3D model of Bangkok is now publicly available
- SS also informs us of Ericsson's Geo Location Messaging API, I wonder how it relates to GeoSMS
- In two entries, V1 explore to potential synergies between music interfaces and controllers and geospatial
In the maps category:
- O'Reilly shares a map of Mexico's drug war
- WunderMap now has historical weather maps for you
- Here's a map of the U.S. showing terrain by using only the roads
- SS shares an entry named Energy Use Data for all of New York City Released in Map Form
Google Plus One
-
14:02 Darren Cope: Statistics Canada Census Geography Data Released Today!
sur Planet OSGeo
StatsCan Data Release Dates
Hi Everyone!
Just a quick reminder that the Statistics Canada Census Geography data should be released today for free! I don’t see it there yet, but I’ll keep checking!
EDIT (9:05am): It looks like the data is now available! -
11:27 Tim Sutton: Contrast and cartography – gdal_lightner
sur Planet OSGeoIf you work with raster data in GIS you straddle a kind of wierd world where you deal with imagery but you cannot really manipulate the imagery as you would say with the GIMP or Photoshop. Conversely, if you ever tried to open a large GIS raster dataset with the GIMP you may have noticed [...] -
9:47 Sourcepole: FOSSGIS Konferenz 2011 in Dessau
sur Planet OSGeoDie FOSSGIS und deutschsprachige Open Street Map Konferenz 2012 – die grösste deutschsprachige Anwenderkonferenz für Freie Geo-Informationssysteme und freie Geodaten – findet vom 20. bis 22. März 2012 an der Hochschule Anhalt in Dessau-Rosslau statt.
Sourcepole ist mit folgenden Vorträgen und Workshops vertreten:
- Neues vom QGIS Server und -Webclient
- TinyOWS - der schlanke WFS Server
- MapServer MapCache - der neue WMTS Tile Cache
- Workshop: Neue Funktionen in QGIS für Poweruser
Da mehr als 400 Teilnehmende erwartet werden, ist eine Registrierung bis zum 16. März 2012 notwendig. Das Anmeldeformular und andere organisatorische Informationen befinden sich auf der Konferenzseite.
-
5:17 Sean Gillies: Connecting many places
sur Planet OSGeoThings you find in Pleiades that you don't find in a typical geographic information system include relationships between places that are expressed in the data itself. I blogged about this last summer (accompanying figure reprised below) and talked about it at the 2011 Digital Humanities conference (our poster here).
Until today, connections between places have been a little sparse. Loading 200+ milecastles and turrets with connection to Hadrian's Wall changes the situation at least in Britannia. The representation of Hadrian's Wall in Pleiades doesn't have a published spatial extent of its own, but gets one by virtue of its connections to these other small places. Here is a screenshot from Google Maps.
Here's a closeup near Brampton. The lone placemark at the bottom represents an old quarry that supplied nearby milecastles with rock. For the moment at least, we're asserting that the quarry was connected to the fortifications.
The remains of Hadrian's Wall are a popular hiking itinerary today. The connected places in the maps above don't quite describe the itinerary because they aren't chained to each other, but I can't stop thinking that we should be making it possible to represent ancient itineraries like the Antonine using places from Pleiades.
-
22:27 Florentina Musat: Formspring
sur Planet OSGeo<p><a href="http://www.formspring.me/deepsky28"&gt [www.formspring.me] -
19:59 OpenGeo Blog: Building on the Chain, Gang.
sur Planet OSGeoProgramming languages haven’t changed much over the years: the latest languages to take over large swathes of the industry (Java and C#) are unashamed about being cleaned-up versions of C++, which itself was a melding of C with object concepts. What has changed immensely recently is the state of the art in how large programs are built and tested, the “build chain”.
We don’t talk about this much because it isn’t very client-facing, but thanks to the efforts of Justin Deoliveira and Tim Schaub, OpenGeo has a quite robust build environment. Early on in the development on the OpenGeo Suite we found that the number of steps necessary to move from a particular version of the code to an installable and testable artifact was very high—so high that cycles of test/fix/re-test were just too long.
So we automated this chain, and not just the build. Our software is now automatically built out from source code all the way to installers (for Mac OS X and Windows) and packages (for Ubuntu Linux and CentOS Linux) and machine images (for Amazon AWS) every hour. The industry term for what we’re doing is called “continuous integration“.
The complexity of a system that builds multiple components (GeoServer, PostGIS, PostgreSQL, GeoExt, etc.) in multiple languages (C, Java, JavaScript) on multiple operating systems (Linux, OS X, Windows) is quite substantial, but it is all worth it to be able to incorporate a bug fix into a new installer in short order without human intervention. As we have many clients who are depending on our software for their deployments, this reliable turnaround is critical.
Our system has grown so large that we are now devoting a full-time engineer (welcome, Michael Weisman) just to maintaining and improving it. In time, we plan to add even more components and functions into the mix, such as continuous builds of GDAL and continuous unit testing of all components against multiple databases. The benefits in flexibility, quality, and development speed is well worth the investment.
So if you’re looking for us, you’ll find us building on the chain.
-
19:24 Slashgeo (FOSS articles): GeoNode 1.1 Released
sur Planet OSGeoWe first mentioned it two years ago, and now the open source GeoNode 1.1 has been released.
What GeoNode is? "GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data. The project aims to surpass existing spatial data infrastructure solutions by integrating robust social and cartographic tools. At its core, the GeoNode has a stack based on GeoServer, Django, and GeoExt that provides a platform for sophisticated web browser spatial visualization and analysis. Atop this stack, the project has built a map composer and viewer, tools for analysis, and reporting tools."
And what version 1.1 has for us: "
- Improved documentation
-
Support for GeoServer 2.1, including:
- GeoWebCache integration
- direct Shapefile-to-PostGIS import from the GeoNode upload form (thanks to Matt Bertrand)
- speed improvements to the way GeoNode manages GeoServer configuration
- Support for GeoNetwork 2.6
-
Various UI improvements, including:
- a new user profile page listing the user’s layers and maps
- a “Get feature info” tool to identify feature attributes when viewing maps
- improved map transitions and performance
- Increased coverage in GeoNode’s automated test suite
- Better feedback from admin tools (thanks to Ariel Núñez)
- Installer for Ubuntu (thanks to Ariel Núñez)
- Numerous bug fixes thanks to support from partners at last year’s roadmapping summit
- Translations in…"
Google Plus One
-
16:36 Simone Giannecchini: Developer's Corner: First Official Release of GeoNetwork-Manager library
sur Planet OSGeoDuring our work we support many clients with their GeoNetwork installations, as a consequence we have found ourselves many times in the position to perform massive operations on metadata, e.g. when ingesting data in real-time via GeoBatch or when importing existing metadata in batch. In the past we have noticed that we were de-facto reusing and growing a small but useful codebase of common methods to interact with GeoNetwork therefore we decided to share them with the world (yeah, we are a bit ambitious :) ) and therefore we created the geonetwork-manager project for this purpose.
geonetwork-manager is a Java library for interacting with GeoNetwork programmatically. It uses the GeoNetwork's admin services for the backend communication part, but the HTTP machinery is completely hidden by the geonetwork-manager API itself. Last but not least geonetwork-manager is released under the MIT license. By the way, release 1.0 has just been cut and can be found on our maven repository.
In case you are interested in having support for your GeoNetwork installation, Talk to us first!The GeoSolutions team,
-
12:28 Jackie Ng: mg-desktop: advanced features
sur Planet OSGeoPreviously, I showed you how to get a basic mg-desktop application up and running.
For this post, I am going to introduce some of the more advanced features and functionality of mg-desktop
Viewer Properties
The mg-desktop viewer (MgMapViewer) exposes a whole bunch of properties that can control the behaviour and appearance of certain features in the map viewer.
Each property is explained below- ConvertTiledGroupsToNonTiled - Tiled Layer Groups will be treated as regular map groups, allowing for such groups and layers to be shown in the viewer. This is a simple workaround for the viewer's current inability to display map tiles.
- SelectionColor - Controls the color of selected features in the viewer
- ShowVertexCoordinatesWhenDigitizing - When you are digitizing, the vertex coordinates are shown at each node of the currently digitized geometry. For circles and points, no vertex coordinates are displayed because such shapes have no vertices. For example, digitizing a polygon would look like this:
- ZoomInFactor - The zoom scale multiplier to apply for zooming in
- ZoomOutFactor - The zoom scale multiplier to apply for zooming out
Digitizing and Measuring
Like the AJAX and Fusion viewers, the mg-desktop viewer has built-in geometry digitizing functionality.1: public interface IMapViewer
2: {3: //
4: // Summary:
5: // Starts the digitization process for a circle
6: //
7: // Parameters:
8: // callback:
9: // The callback to be invoked when the digitization process completes
10: void DigitizeCircle(CircleDigitizationCallback callback);
11: //
12: // Summary:
13: // Starts the digitization process for a line
14: //
15: // Parameters:
16: // callback:
17: // The callback to be invoked when the digitization process completes
18: void DigitizeLine(LineDigitizationCallback callback);
19: //
20: // Summary:
21: // Starts the digitization process for a line string (polyline)
22: //
23: // Parameters:
24: // callback:
25: // The callback to be invoked when the digitization process completes
26: void DigitizeLineString(LineStringDigitizationCallback callback);
27: //
28: // Summary:
29: // Starts the digitization process for a point
30: //
31: // Parameters:
32: // callback:
33: // The callback to be invoked when the digitization process completes
34: void DigitizePoint(PointDigitizationCallback callback);
35: //
36: // Summary:
37: // Starts the digitization process for a polygon
38: //
39: // Parameters:
40: // callback:
41: // The callback to be invoked when the digitization process completes
42: void DigitizePolygon(PolygonDigitizationCallback callback);
43: //
44: // Summary:
45: // Starts the digitization process for a rectangle
46: //
47: // Parameters:
48: // callback:
49: // The callback to be invoked when the digitization process completes
50: void DigitizeRectangle(RectangleDigitizationCallback callback);
51: }
The digitization API is very similar to the AJAX viewer. To digitize a circle for example, you would call the API like so:1: mgMapViewer1.DigitizeCircle(OnCircleDigitized);
The OnCircleDigitized method must match the signature of the CircleDigitizationCallback delegate, which looks like this:1: private void OnCircleDigitized(double x, double y, double radius)
2: {3: //x, y is the circle center in the map's coordinates
4: //radius is the circle's radius
5: }
While digitizing, the digitization process can be aborted by pressing the ESC key. If digitization is aborted, the digitization callback will not be called by the viewer.
Tools like measuring can be built on this functional primitive of digitization. Here's an example using a line digitizer:1: private void btnMeasure_Click(object sender, EventArgs e)
2: {3: mgMapViewer1.DigitizeLine(OnLineDigitized);
4: }
5:
6: private void OnLineDigitized(double x1, double y1, double x2, double y2)
7: {8: MgMapBase map = mgMapViewer1.GetMap();
9: //Create a coordiante system from the map's SRS
10: MgCoordinateSystemFactory csFactory = new MgCoordinateSystemFactory();
11: MgCoordinateSystem mapCs = csFactory.Create(map.GetMapSRS());
12:
13: //Invoke the appropriate measure method depending on the type
14: //of coordinate system
15: double dist = 0.0;
16: if (mapCs.GetType() == MgCoordinateSystemType.Geographic)
17: dist = mapCs.MeasureGreatCircleDistance(x1, y1, x2, y2);
18: else
19: dist = mapCs.MeasureEuclideanDistance(x1, y1, x2, y2);
20:
21: //Convert this distance to meters
22: dist = mapCs.ConvertCoordinateSystemUnitsToMeters(dist);
23:
24: MessageBox.Show("Distance is: " + dist + " meters");25: }
Using the digitizing API combined with the existing MgGeometry and MgCoordinateSystem APIs, you can measure in ways other than simple point A - point B distance measuring.
Redlining
When you combine digitization with feature manipulation provided by the MapGuide API, you have the basis for redlining. Here's an example of creating point features from digitized points:1: private MgdLayer _pointLayer;
2:
3: private void btnDrawPoint_Click(object sender, EventArgs e)
4: {5: mgMapViewer1.DigitizePoint(OnPointDrawn);
6: }
7:
8: private void OnPointDrawn(double x, double y)
9: {10: if (_pointLayer == null) //Our point layer doesn't exist
11: CreateRedlineLayer();
12:
13: //Now insert our point. This code should look familiar
14: //to you, setting up the MgPropertyCollection for insertion
15: MgPropertyCollection props = new MgPropertyCollection();
16: MgWktReaderWriter wktRw = new MgWktReaderWriter();
17: MgAgfReaderWriter agfRw = new MgAgfReaderWriter();
18:
19: MgGeometry geom = wktRw.Read("POINT (" + x + " " + y + ")");20: MgByteReader agf = agfRw.Write(geom);
21:
22: MgGeometryProperty geomProp = new MgGeometryProperty("Geometry", agf);23: props.Add(geomProp);
24:
25: //Here's where we differ from the official MapGuide API
26: //instead of a monolithic UpdateFeatures() that tries to
27: //do everything, we have individual InsertFeatures/DeleteFeatures/UpdateFeatures
28: //methods. So here's the mg-desktop way
29:
30: MgFeatureReader result = _pointLayer.InsertFeatures(props);
31: result.Close();
32:
33: //Or if you have have access to the MgdLayer instance
34: /*
35: MgResourceIdentifier fsId = new MgResourceIdentifier(_pointLayer.GetFeatureSourceId());
36: MgServiceFactory factory = new MgServiceFactory();
37: MgdFeatureService featSvc = (MgdFeatureService)factory.CreateService(MgServiceType.FeatureService);
38: MgFeatureReader fr = featSvc.InsertFeatures(fsId, "Default:Redline", props);
39: fr.Close();
40: */
41:
42: //Now refresh to see your newly drawn point
43: mgMapViewer1.RefreshMap();
44: }
45:
46: private void CreateRedlineLayer()
47: {48: MgMapBase map = mgMapViewer1.GetMap();
49: MgServiceFactory fact = new MgServiceFactory();
50: MgdFeatureService featSvc = (MgdFeatureService)fact.CreateService(MgServiceType.FeatureService);
51: MgResourceService resSvc = (MgResourceService)fact.CreateService(MgServiceType.ResourceService);
52:
53: //Note that mg-desktop does not have a concept of sessions like the
54: //official MapGuide API, but it *does* allow session-based resources
55: //as a way of having temporary resources. Such resources will reside
56: //in a special directory for session resources (specified in Platform.ini)
57: //
58: //You can plug whatever string as the session id, but the resource identifier
59: //must satisfy the session id pattern:
60: //
61: // Session:<session id string>//Path/To/Your.ResourceType
62: //
63: //These files are removed with MgPlatform.Terminate(), which is called in this
64: //application as part of the exiting process.
65: string sessionId = Guid.NewGuid().ToString();
66: MgResourceIdentifier fsId = new MgResourceIdentifier("Session:" + sessionId + "//Redline.FeatureSource");67: MgResourceIdentifier ldfId = new MgResourceIdentifier("Session:" + sessionId + "//Redline.LayerDefinition");68:
69: //Create our point redline schema. It looks like this:
70: //
71: // Default
72: // Redline
73: // ID (int32, autogenerated)
74: // Geometry (coordinate system same as map
75: string featureClass = "Default:Redline";
76: string geometry = "Geometry";
77:
78: MgFeatureSchema schema = new MgFeatureSchema("Default", "Redline schema");79: MgClassDefinition cls = new MgClassDefinition();
80: cls.Name = "Redline";
81:
82: MgDataPropertyDefinition id = new MgDataPropertyDefinition("ID");83: id.DataType = MgPropertyType.Int32;
84: id.SetAutoGeneration(true);
85:
86: MgGeometricPropertyDefinition geom = new MgGeometricPropertyDefinition(geometry);
87: geom.SpatialContextAssociation = "Default";
88: geom.GeometryTypes = MgFeatureGeometricType.Curve | MgFeatureGeometricType.Point | MgFeatureGeometricType.Solid | MgFeatureGeometricType.Surface;
89:
90: MgPropertyDefinitionCollection clsProps = cls.GetProperties();
91: clsProps.Add(id);
92: clsProps.Add(geom);
93:
94: MgPropertyDefinitionCollection idProps = cls.GetIdentityProperties();
95: idProps.Add(id);
96:
97: cls.DefaultGeometryPropertyName = geometry;
98: MgClassDefinitionCollection classes = schema.GetClasses();
99: classes.Add(cls);
100:
101: //Create the feature source with this schema. We use the map's
102: //coordinate system for the feature source to ensure features
103: //that we create, will line up with the map
104: MgCreateSdfParams create = new MgCreateSdfParams("Default", map.GetMapSRS(), schema);105: featSvc.CreateFeatureSource(fsId, create);
106:
107: //Then create the layer definition. RedlineLayer.xml contains the template
108: string xml = string.Format(File.ReadAllText("RedlineLayer.xml"), fsId.ToString(), featureClass, geometry);109: var bytes = Encoding.UTF8.GetBytes(xml);
110: MgByteSource source = new MgByteSource(bytes, bytes.Length);
111: resSvc.SetResource(ldfId, source.GetReader(), null);
112:
113: //Now create the runtime layer and add to map
114: _pointLayer = new MgdLayer(ldfId, resSvc);
115: _pointLayer.LegendLabel = "Redlining";
116: _pointLayer.Name = "Redline";
117: _pointLayer.Visible = true;
118: _pointLayer.Selectable = true;
119: _pointLayer.DisplayInLegend = true;
120:
121: var layers = map.GetLayers();
122: layers.Insert(0, _pointLayer);
123: }
An updated sample (building on the previous sample application) containing the above snippets is available for download here -
12:05 Stefan Tzeggai: Spanish tutorial videos
sur Planet OSGeoDuring the last months, we had some very strong support from Mr. Edwin Alberto Amado Baron from Colombia. Due to his uncomparable effort, Geopublisher is widely available in Spanish (español) / Castilian (castellano) now. In detail we are proud to announce, that
- the Geopublisher software has been fully translated,
- three tutorial videos have been created,
- a 120 pages manual has been written.
Since Edwin is reading the mailing-list, you may now also ask your questions in Spanish. If you need professional support for mapping and creating digital atlases in America, don't hesitate to contact the local Geopublishing expert on site: Mr. Edwin Alberto Amado Baron.
Video tutorials -
12:01 Andrea Antonello: Bob knows how to build a dam... with uDig and jgrasstools
sur Planet OSGeoWell, I assume everyone knows Bob the builder. Ok, my sisters kids had to teach me of his existence, but apart of my ignorance Bob seems to be a quite famous guy.
Anyway, we needed someone to build dams and human artefacts on raster, to better handle hydraulic simulations. This might be the case of many people playing with elevation models, since the available terrain models many times do not consider human works you need to consider and the surface models are not usable for certain purposes.
So we finally decided to implement the Bob The Builder Tool in jgrasstools. A tool the would give us the possibility to easily modify the elevation model in a assisted way.
So from the next jgrasstools release on in uDig you will be able to do what I will describe in the rest of this post.
Just for fun, assume you want to do some kind of simulation considering the presence of a dam.
First let's check the region we consider:
and the same in 3d (the arrow should help understanding where is where):
Let's define a smaller region on which we want to place the dam. The module will require two feature layers:
1) a polygon layer containing the bounds of the artefact
2) a point layer containing an elevation attribute, which will represent elevation points that will be used to interpolate the surface inside the polygon area.
The module then creates a new raster with the dam merged into the environment:
The aspect put with transparency on top of the dem gives the impression that not much happened, but the 3d doesn't lie:
The module creates the dam shape in every point in which the dam's elevation is higher than the terrain. There is also a possibility (a flag) to erode, if necessary, which in the above case would generate the following:
Thanks Bob :) -
0:53 Equipo GeoTux: ¡GeoTux cumple 5 años!
sur Planet OSGeoUn breve resumen de los 5 años de GeoTux: Post más leídos por año y agradecimientos a colaboradores.

Saludos a todos nuestros usuarios, lectores y por supuesto a nuestro equipo. Hoy es un día especial para GeoTux. Hace 5 años estábamos lanzando este sitio web con todo el entusiasmo y la incertidumbre que solo pueden tener un par de jóvenes recién graduados.
Pueden estar seguros de que nuestra intención siempre ha sido compartir lo que conocemos. Eso si, a veces el tiempo no da para responder todas las inquietudes, además que ignoramos un montón de cosas.
A continuación un listado de los posts más leídos de cada año:
2007: Construcción de un visor de Shapefiles con herramientas libres (38.348 visitas)
2008: Comparación de clientes ligeros web para SIG (16.119 visitas)
2009: Comparación de clientes ligeros web para SIG v.2 (8.060 visitas)
2010: Algunas configuraciones básicas en p.mapper (FAQ) (8.884 visitas)
2011: Visor de capas PostGIS para pgAdmin 3 (6.202 visitas)
Gracias a todos los que han aportado parte de su tiempo y esfuerzo compartiendo conocimiento con esta comunidad. Gracias de manera especial a Samuel, Remy, Edward, Edwin, William, Juan Carlos, Jhonatan, Ricardo, Totolhua, Mavka, David, Jose Mario, Andrés, "delphins", Luciana, Sandra, Diego y Fernando. En algún momento nos han colaborado en diversas tareas y secciones dándole más diversidad y vida a este sitio web.
Si apenas llegas y quieres conocer más de GeoTux, te recomendamos leer la entrevista del Observatorio Iberoamericano de Ciudadanía Digital: [geotux.tuxfamily.org]
Finalmente, queremos invitar a todos nuestros usuarios a comentarnos cuál ha sido su experiencia con GeoTux. Como…
Read more... -
17:45 Sean Gillies: Geoprocessing for humans: pygp
sur Planet OSGeoI'm not the only one simplifying terrible Python APIs in the geospatial world. Yesterday, I ran across a blog post about software named pygp. Very much about ArcGIS records and fields, it models data differently than Fiona does but similarly eliminates a lot of boilerplate and provides simple access to all coordinates of a record's shape field.
def example_geometry(path): """ Example showing use of Geometry helper class that does the heavy lifting on the geometry object and returns something quite similar to WKT/GeoJSON Structure is simple, a tuple of tuple of Point objects, very similar to Avenue days of geometry and WKT MultiLineString etc. (((0, 498266, 6100519, None, None), (0, 499775, 6100281, None, None), (0, 500224, 6098694, None, None), (0, 499616, 6097662, None, None), (0, 498346, 6096789, None, None))) :param path: Workspace Path :type path: str """ feature_class = FeatureClass(osjoin(path, POLYGON)) for srow in feature_class.search(): print srow.get_value( feature_class.shape_field_name).as_tuple() # End example_geometry functionI don't know whether pygp has eliminated the need to count references to cursors and records or just omitted
del feature_class
from the example. I'd have looked in the code, but I couldn't find a link. I bet a lot of people would love to see it on GitHub.
-
10:22 Equipo GeoTux: Consola SQL para el plugin de pgAdmin: PostGIS viewer
sur Planet OSGeoHe agregado una consola de comandos SQL al visor de capas PostGIS de pgAdmin. La consola permite ejecutar consultas SQL sobre datos de PostGIS para filtrarlos o ejecutar funciones espaciales sobre ellos.
For English click here.
El constructor de consultas incluído en un post anterior puede ser más complejo de lo requerido, especialemente cuando lo único que queremos hacer es ejecutar una consulta SQL simple. Por esto he agregado el plugin de QGIS Fast SQL Layer, el cual permite escribir la consulta en una consola básica.

¿Qué es Fast SQL Layer?Fast SQL Layer es un plugin de QGIS escrito por Pablo T. Carreira para ejecutar consultas SQL para datos elmacenados en PostGIS y SpatiaLite. Viene con su propio resaltado de sintaxis, facilitando un poco el proceso. He editado un poco el plugin para integrarlo con el visor de capas PostGIS para pgAdmin.
PrerrequisitosPython, PyQt4, PyQGIS, libqt4-sql-psql, psycopg2 y pygments (para el constructor de consultas).
Cómo instalar prerrequisitos en Windows: Ver este post, además se requiere instalar psycopg2 y pygments desde OSGeo4W.
Cómo instalar prerrequisitos in Ubuntu/Linux: Para QGIS, ver la página oficial de descargas. Para los demás programas/ librerías usar apt-get o Synaptic.
InstalaciónDespués de instalar los prerrequisitos, solo se requiere extraer un archivo ZIP (descargar el archivo zip) en la ruta adecuada (en Windows: C:/Archivos de programa/PostgreSQL/8.4/bin/ mientras que en Ubuntu/Linux: /usr/bin/) y editar el archivo plugins.ini de pgAdmin.
En Ubuntu/Linux se requiere el comando sudo para extraer y definir permisos 755 sobre los archivos extraidos, de esta manera:
sudo unzip postgis_viewer.zip -d /usr/bin/
sudo chmod 755 /usr/bin/postgis_viewer/ -RAdicionalmente, copiar las siguientes líneas a /usr/share/pgadmin3/plugins.ini (si el archivo no existe, debe ser creado):
…
Read more... -
17:15 Paolo Corti: Python for geospatial developers
sur Planet OSGeoThere is a recurring question at GIS mailing lists, forum and at some extent in my mailbox: what is the best way to master Python for developing geospatial applications?I myself had this question far away in 2006 when I started switching from proprietarysoftware to Open Source, and had identified in Python the way to go.In this post I will try to quickly summarize what is the best way to go in my opinion.If you are completely new to Python, first things to check out, are some very basic and popular resources, like these ones:the official Python tutorialthe "Dive into Python... -
0:20 Slashgeo (FOSS articles): FOSSGIS Brasil Magazine #4
sur Planet OSGeoWe are very proud to announce the release of the 4th edition of FOSSGIS Brasil Magazine.
In this 2012 1st issue, the cover section addresses Medatada theme, which deserves special attention of any professional who works with geospatial data.
This 4th edition of FOSSGIS Brasil was built with the effort of the GIS community, including international contributions. Consering this, be sure to check the interview with Jeroen Ticheler, founder and CEO at Geonetwork project, and also the text written for three of the most important contributors of the gvSIG association, talking about the new development model for the project of the robust gvSIG GIS suite.
This year, greatest desire for us at FOSSGIS Brasil team is to continue doing what we have been doing in 2011: To georreference knownledgment
Link to download: [bit.ly]
Sincerely,
The FOSSGIS Brasil team
[www.fossgisbrasil.com.br]
Google Plus One
[http%3A%2F%2Fbit.ly%2FzFKS3b%0ASincerely%2C%0AThe+FOSSGIS+Brasil+team%0Ahttp%3A%2F%2Fwww.fossgisbrasil.com.br%0A&source=Slashgeo.org"] title="Publish this post to LinkedIn">
-
20:25 Slashgeo (FOSS articles): SpatiaLite 3.0 Released with Excel Spreadsheets Support
sur Planet OSGeoI failed to find much information about it, but SpatiaLite, the geospatial version of SQLite, reached version 3.0 about a month ago. Anyone knows where to find release notes? I find also funny that on SpatiaLite homepage, it is clearly stated that spatial is not special! :-) Yes, I'll share a followup to my previous entry on the topic (thanks for your feedback!).
On the SpatiaLite topic, here's a blog entry named Spatialite and Excel on talking terms: "The recent stable version of Spatialite, 3.0, supports linking to and importing Excel spreadsheet tables. Read on to see how it’s done. The developers of spatialite have added a driver for *.xls files (thru the FreeXL library ). You can either link to, or import a single sheet from an Excel file [...]"
Google Plus One
-
15:04 Tim Sutton: Publishing multiple projects with QGIS Server
sur Planet OSGeoYou know the drill right? You just made a beautiful map for your boss using QGIS Server. Then he walks into your office and says ‘Kiepie, I need another one in a different CRS’. Your heart drops in your chest and your jaw drops to the desk. You can’t do that using QGIS without publishing [...] -
14:28 Slashgeo (FOSS articles): OGRS2012 :: CALL FOR PAPERS - Open Source Geospatial Research and Education Symposium
sur Planet OSGeo----------------------------------------------------------------------------
OGRS2012 :: CALL FOR PAPERS
Open Source Geospatial Research and Education SymposiumOctober 24 – 26, 2012 in Yverdon-les-Bains, Switzerland
Hosted by School of Business and Engineering Vaud (HEIG-VD)Website: http://www.ogrs2012.org
Contact: cfp@ogrs2012.orgNotice, PDF version of this call is available here : http://cfp.ogrs2012.org.
-----------------------------------------------------------------------------(our apologies for cross-postings)
Dear colleagues,The Open Source Geospatial Research and Education Symposium (OGRS) is a meeting dedicated to exchanging ideas on development and use of open source geospatial software in both research and education.
Motivated by the inaugural symposium in Nantes, France, OGRS2012 will be held from October 24 – 26, 2012 in Yverdon-les-Bains, Switzerland. The symposium is hosted and organized by the School of Business and Engineering Vaud (HEIG-VD), in partnership with EPFL Lausanne, University of Lausanne, University of Geneva, which are all academic institutions in Western Switzerland, and the Institute for Research on Urban Sciences and Techniques in France.
The main goals are:
- to build a panel of new scientific research and education practices using and contributing to open source initiatives in the geospatial fields;
- to discuss a framework and highlight a rationale about geospatial open source technology usage in research and education activities;
- to provide an innovation platform to network and develop ideas for future collaborative work between academia – from research to education – and other actors of the field (associations, foundations, local authorities, industry etc.).For more details, visit the overview page on the website.
Keynote speakers :
- Luc Anselin, Director, Regents' Professor and Walter Isard Chair at School of Geographical Sciences and Urban Planning, College of Liberal Arts and Sciences and Director at GeoDa Center for Geospatial Analysis and Computation, Arizona State University;
- Gérard Hégron, Scientific Director in charge of sustainable city at IFSTTAR (French Institute of Science and Technology for Transport, Planning and Networks);
- Helena Mitasova, Associate Professor at Department of Marine, Earth and Atmospheric Sciences, North Carolina State University;
- Robert Weibel, Professor of Geographical Information Science at Department of Geography, University of Zürich.Submission :
The symposium will integrate several opportunities for presenting : oral presentations, workshops, posters and discussion groups. To participate in any of these opportunities, authors are invited to submit an extended abstract (1000 to 1500 words, references and keywords excluded) through the conference website. The official language is English.The international scientific advisory board will review and select abstracts for inclusion in the symposium and publication in the symposium proceedings. A subset of contributions will be invited to submit full papers for possible publication in a special issue of the Journal of Spatial Information Sciences (JOSIS), pending a peer review of full papers.
For more details on how to submit a contribution, please visit the call for papers page on the website : http://cfp.ogrs2012.org.
Important dates :
- submission deadline for abstracts is May 28, 2012.
- authors will be notified by June 30, 2012 on program inclusion and selection for JOSIS submission
- deadline to submit full papers is September 30, 2012.Best regards,
OGRS2012 program committee
Google Plus One
[http%3A%2F%2Fwww.ogrs2012.org%0A%09Contact%3A+cfp%40ogrs2012.org%0A%09Notice%2C+PDF+version+of+this+call+is+available+here+%3A+http%3A%2F%2Fcfp.ogrs2012.org.%0A%09-----------------------------------------------------------------------------%0A%09%28our+apologies+for+cross-postings%29%0A%09Dear+colleagues%2C%0A%09The+Open+Source+Geospatial+Research+and+Education+Symposium+%28OGRS%29+is+a+meeting+dedicated+to+exchanging+ideas+on+development+and+use+of+open+source+geospatial+software+in+both+research+and+education.%0A%09Motivated+by+the+inaugural+symposium+in+Nantes%2C+France%2C+OGRS2012+will+be+held+from+October+24+%26ndash%3B+26%2C+2012+in+Yverdon-les-Bains%2C+Switzerland.+The+symposium+is+hosted+and+organized+by+the+School+of+Business+and+Engineering+Vaud+%28HEIG-VD%29%2C+in+partnership+with+EPFL+Lausanne%2C+University+of+Lausanne%2C+University+of+Geneva%2C+which+are+all+academic+institutions+in+Western+Switzerland%2C+and+the+Institute+for+Research+on+Urban+Sciences+and+Techniques+in+France.%0A%09The+main+goals+are%3A%0A%09-+to+build+a+panel+of+new+scientific+research+and+education+practices+using+and+contributing+to+open+source+initiatives+in+the+geospatial+fields%3B%0A%09-+to+discuss+a+framework+and+highlight+a+rationale+about+geospatial+open+source+technology+usage+in+research+and+education+activities%3B%0A%09-+to+provide+an+innovation+platform+to+network+and+develop+ideas+for+future+collaborative+work+between+academia+%26ndash%3B+from+research+to+education+%26ndash%3B+and+other+actors+of+the+field+%28associations%2C+foundations%2C+local+authorities%2C+industry+etc.%29.%0A%09For+more+details%2C+visit+the+overview+page+on+the+website.%0A%09Keynote+speakers+%3A%0A%09-+Luc+Anselin%2C+Director%2C+Regents%26%2339%3B+Professor+and+Walter+Isard+Chair+at+School+of+Geographical+Sciences+and+Urban+Planning%2C+College+of+Liberal+Arts+and+Sciences+and+Director+at+GeoDa+Center+for+Geospatial+Analysis+and+Computation%2C+Arizona+State+University%3B%0A%09-+G%26eacute%3Brard+H%26eacute%3Bgron%2C+Scientific+Director+in+charge+of+sustainable+city+at+IFSTTAR+%28French+Institute+of+Science+and+Technology+for+Transport%2C+Planning+and+Networks%29%3B%0A%09-+Helena+Mitasova%2C+Associate+Professor+at+Department+of+Marine%2C+Earth+and+Atmospheric+Sciences%2C+North+Carolina+State+University%3B%0A%09-+Robert+Weibel%2C+Professor+of+Geographical+Information+Science+at+Department+of+Geography%2C+University+of+Z%26uuml%3Brich.%0A%09Submission+%3A%0A%09The+symposium+will+integrate+several+opportunities+for+presenting+%3A+oral+presentations%2C+workshops%2C+posters+and+discussion+groups.+To+participate+in+any+of+these+opportunities%2C+authors+are+invited+to+submit+an+extended+abstract+%281000+to+1500+words%2C+references+and+keywords+excluded%29+through+the+conference+website.+The+official+language+is+English.%0A%09The+international+scientific+advisory+board+will+review+and+select+abstracts+for+inclusion+in+the+symposium+and+publication+in+the+symposium+proceedings.+A+subset+of+contributions+will+be+invited+to+submit+full+papers+for+possible+publication+in+a+special+issue+of+the+Journal+of+Spatial+Information+Sciences+%28JOSIS%29%2C+pending+a+peer+review+of+full+papers.%0A%09For+more+details+on+how+to+submit+a+contribution%2C+please+visit+the+call+for+papers+page+on+the+website+%3A+http%3A%2F%2Fcfp.ogrs2012.org.%0A%09Important+dates+%3A%0A%09-+submission+deadline+for+abstracts+is+May+28%2C+2012.%0A%09-+authors+will+be+notified+by+June+30%2C+2012+on+program+inclusion+and+selection+for+JOSIS+submission%0A%09-+deadline+to+submit+full+papers+is+September+30%2C+2012.%0A%09Best+regards%2C%0A%09OGRS2012+program+committee%0A&source=Slashgeo.org"] title="Publish this post to LinkedIn">
-
19:59 OpenGeo Blog: It goes up to 2.0
sur Planet OSGeoMaybe someday PostGIS will go to 11, but for now, we’re still shooting for 2, point oh. And happily we are getting closer and closer. We have moved to a weekly schedule of alpha releases (this week was alpha3) and have started cleaning down the list of tickets against the 2.0 milestone.
Last month, much of the time spent by me and Sandro Santilli on PostGIS 2.0 preparation was funded by the Humanitarian Information Unit of the US Department of State. So, from the PostGIS development team, and the PostGIS community in general: thanks, HIU! Why is HIU funding PostGIS? Because the kinds of tools that HIU and its partners use for humanitarian response are backed by PostGIS, and they want to see those tools get better. Funding PostGIS development is an economical way to simultaneously raise the capabilities of a whole ecosystem of tools in HIU’s space.
-
16:04 Prodevelop: ¡Aventura Oceánica vuelve a la carga!
sur Planet OSGeoKike y José Carlos vuelven a subirse al Bahari para retomar la Aventura Oceánica, tras un año de parón tras partir el mástil poco después de cruzar el cabo de hornos. El sábado pasado salieron de Valparaíso (Chile) hacia la Isla de Pascua. Desde Prodevelop les deseamos toda la suerte para que sigan con su impresionante viaje alrededor del mundo, esta vez en pleno Pacífico.
Puedes seguir su itinerario día a día desde su web gracias a un sencillo desarrollo que llevamos a cabo en Prodevelop hace ya más de dos años utilizando PostgreSQL/PostGIS, Spring y Java Mail en el servidor y Open Layers en la capa de presentación.
-
15:16 Fernando Quadro: Lançada a 4a edição da Revista FOSSGIS Brasil
sur Planet OSGeoCaros Leitores,
Temos o prazer de anunciar o lançamento do 4°. número da Revista FOSSGIS Brasil. Nesta primeira edição de 2012 a série de capa aborda o tema Metadados, um assunto que merece a atenção especial de todos os que trabalham com dados geográficos. Ao ler os artigos você entenderá o que são metadados e sua relevância no contexto das Geotecnologias. Como complemento à teoria disponibilizamos um tutorial sobre como editar metadados em ambiente SIG Open Source.
Na coluna Desktop GIS apresentamos detalhes sobre o software Spring que nos ajudam a entender por que este projeto brasileiro tem-se mostrado um grande sucesso na área de tecnologia para SIG. Os usuários de ferramentas Mobile gostarão especialmente de ler a matéria sobre o OSM Tracker. Neste número há também um artigo muito interessante que explica como customizar o software Kosmo para aplicações portáteis.

A edição 4 da FOSSGIS Brasil contou com a colaboração da comunidade internacional. Neste sentido não deixe de conferir a entrevista de Jeroen Ticheler, fundador e presidente do projeto Geonetwork opensource e o artigo escrito por três personalidades de destaque da Associação gvSIG falando um pouco sobre o novo modelo de desenvolvimento do projeto deste robusto software para Sistemas de Informação Geográfica.
Para fazer download desta edição, basta acessar o link:
Este ano o desejo de todos que fazem parte da Equipe FOSSGIS Brasil é continuar Georreferenciando o Conhecimento!
Atenciosamente,
Equipe FOSSGIS Brasil
Posts Relacionados -
14:48 Slashgeo (FOSS articles): Batch Geonews: 180,000 Free OrbView-3 Scenes, Car AR Driving, PostGISonline, Bing Maps Updates, Autodesk and Pitney Bowes Alliance, Obesity and Car Travel, and much much more
sur Planet OSGeoThis batch mode edition is unusually long. It covers the past month and a bit more. Yes, that's way too much and I won't try to repeat the experience ;-) Here's what I considered pertinent enough to share with you. Exceptionally, in some cases I haven't gave attribution to the source of the news, thank you for your comprehension.
On the geospatial open source front:
- I just recently became aware of PostGISonline, a site for testing and learning spatial SQL
- You can now create and manipulate SLD (the OGC Styled Layer Descriptor standard) in Python with python-sld
- Via the AGISRS list, I learned about OpenQuake.org, for calculating seismic hazard and risk at any scale, which of course ingest geospatial data and outputs maps
- Here's WherePost.ca, which crowdsources the location of mailboxes and post offices for Canada
- Here's the Switch2OSM website promoting OpenStreetMap, OpenStreetMap might go indoor too
- Still on the OSM topic, V1 shares an entry on the use of OpenStreetMap data in agriculture
- Here's an entry on the future of GeoCouch and CouchDB
- GeoServer gets database-level security
- There's now a plugin to run Python scripts in QGIS
- Here's about improvements to the QGIS rule-based rendering
- On a similar topic, here's a guide to beautiful reliefs in QGIS
- Did you know you can add Google Maps, OSM, and Bing Maps directly in QGIS? You can via the OpenLayers plugin - hey, there's even a Profile plugin
- There's an updated book published by Gary Sherman, now named The Geospatial Desktop , subtitled Open source GIS and mapping
- GEOS 3.3.2 has been released
On the Esri front:
- Mandown shares how to convert GPX files to Features using ArcGIS 10
- From the same source, Learn The Basics Of Working With The ArcGIS Runtime SDK For Android
- There were updates to ArcGIS for SharePoint, ArcGIS Mobile and to the ArcGIS API for Windows Phone
- James and SS talks about ArcGIS Online as the Esri Content Management System
On the Microsoft front:
- Microsoft announced a few new Bing Maps features, such as traffic incidents and find near route
- They announced the Bing Maps Windows Presentation Foundation (WPF) Control v1
- There's new Bing Maps V7 modules too along with a new routing engine
- James Fee shares an interesting entry named Bing Maps gets Nokia Brand and Possibly the Boot
On the remote sensing front:
- This is pretty interesting to many: SS shares an entry named USGS Now Offers OrbView-3 High-Resolution Images for Free, 180,000 scenes at 1m spatial resolution available
- China launched their first high-resolution remote sensing satellite, Ziyuan I-02C
- Slashdot discussed the newly released version of Blue Marble high definition (and beautiful) satellite image of the Earth from the Suomi NPP satellite
- Slashdot is running a story named Who's Flying Those Drones? FAA Won't Say and related, O'Reilly mentions OpenPilot, open source UAV with cameras
- And another named Launch Your Own Nanosatellite Into Space
On the GNSS / GPS front:
- It's coming, car makers are preparing for augmented reality driving
- Not exactly GPS but via radio-tagging, see the nice and short video of whale 3D paths in the ocean
- Slashdot is also discussing a story named New Mexico Is Stretching, GPS Reveals
- MapQuest launched an html5 app-like site for Android and iPhone for using MapQuest
In the miscellaneous category:
- The 7 geo predictions for 2012 of Cédric are interesting
- Microsoft's Flight Simulator, renamed Flight, will be available for free next Spring, with paid extra content
- We never mentioned it before, but now Indiemapper is free, it "helps you make static, thematic maps from geographic data by bringing the best of traditional cartographic design to internet map-making."
- SS mentions the new alliance between Autodesk and Pitney Bowes, APB also discuss this new relationship
- SS also shares an entry named Safe Software’s Expanded Role as a Conduit Between Sensors and Systems
- The U.S. EPA in their Locations Challenge introduced a crowdsourcing project of georeferenced photos of environmental problems
- Slashdot ran a discussion on assembling your own 3D printer
- The OGC shared a summary of the Eye on Earth Summit held in December
- Another OGC entry was named Status of the OGC's Water Resource Activities
- DM shares an article named GIS Adoption and Use on College Campuses: An End-of-Year Review and Look Ahead to 2012
- The GEB mentions a new 3D San Francisco website
- I found interesting the possibility of a .data TLD
- A new free iPad app: GeoViewer from LizardTech, supports MrSID format and more
- It's been a while since we mentioned them, GISCorps were recently in 7 countries, including Libya
In the maps category:
- APB summarizes this: Comparing Maps of Obesity and Car Travel
- Here's an entry on cleanly using symbols on maps
- Here's U.S. routes as a subway map and the U.S. National Wind Energy Map
- Fox News shared a map with missing or wrongly placed countries
- TMR shares an obligatory animated map of rising global temperatures since 1880
Google Plus One
-
7:58 Even Rouault: Welcome to the 200th GDAL/OGR driver !
sur Planet OSGeoA few hours ago, I merged into the GDAL/OGR source tree the ElasticSearch driver, which was contributed by Adam Estrada. According to the driver testing status page, it happens to be the 200th driver !
To be honest, a few of them have been retired over the years (mainly because being deprecated by rewritten versions), so even if you try to enable all possible drivers, you won't reach 200. But you can get close : my build currently includes 124 GDAL drivers and 60 OGR drivers.
This 200th driver is a bit particular, because it is a write-only driver, whereas 99% of drivers are generally read-only or read-write.
What about the other new drivers that have been committed in GDAL trunk since 1.9.0 release ?
As far as GDAL drivers are concerned, there is a driver to read MBTiles that Dane Springmeyer already blogged about.
More recently, new spreadsheet formats have also made their way into OGR. Namely the ODS driver and the XLSX driver that respectively handle files in the Open Document Spreadsheet format, used by applications like OpenOffice / LibreOffice and Office Open XML, generated by applications like Microsoft Office 2007 and later versions. If you are wondering about the fate of the older XLS format, a XLS driver is already included in GDAL/OGR 1.9.0, provided your GDAL build links against the FreeXL library written by Alessandro Furieri, the main author of libspatialite.
The ODS and XLSX drivers have very similar capabilities and source code, which is not surprising, because the technologies behind the 2 formats are the same : XML files in a ZIP container (if you don't believe me, you can just try renaming your .ods and .xlsx files into .zip, and open them with your favorite ZIP browser).
Writing the drivers was surprisingly simpler that I initially expected. In order to retrieve cell values, you just need to extract a few XML elements. From a developer point of view, the award of the most simple format to read goes to ODS with a nice separation between semantics and styling, and only one file (content.xml) to parse. XLSX is a bit more complicated to analyze because you have to read at least 4 different files (workbook.xml, sharedStrings.xml, styles.xml and a file for each sheet in the spreadsheet) and you need to understand some of the styling information to make the difference between a regular numeric value and a date.
Those drivers also support creating ODS and XLSX files. Caution: only raw values will be written. No fancy styling ! Update of existing files is also supported. But this uses the same serialization mechanism as the one used to create a new file, so be aware than existing formulas, charts, drawings, etc... will be lost.
Not detailed in the documentation page of the drivers, if you need some form of spatial support with those formats, you can combine them with the use of OGR VRT, in particular the GeometryField element, to be able to use column(s) of your spreadsheet as geometry columns.
The good news is that those 2 new drivers don't have any other dependency to third-party libraries than the Expat XML-parser library, that is also already used by many others drivers in GDAL and that most binary distributions of GDAL will link against. Typically, you will find them ready-to-use in Tamas Szekeres automated Windows daily builds (fetch the -development packages at the top of the first table to get builds corresponding to the latest GDAL trunk version).
Testing is highly encouraged, as well as reporting of issues you might run into.
In particular, interpreting spreadsheets that make use of formulas can be a tricky point. Depending on the application that writes the files, the result of the evaluation of formulas might or might not be written in the file. The ODS and XLSX drivers will use the result of the evaluation if available. In the case it is missing, I've plugged into the ODS driver a simple formula evaluator that can understand and evaluate a restricted set of functions (readers interested in the details will find the detailed list in the first enumeration of the ods_formula.h header file). Based on my testing, OpenOffice always writes the evaluation of formulas, whereas the OpenOffice export of Google Spreadsheet documents will not.
For now, there is nothing equivalent implemented in the XLSX driver, as I have not access to a sufficiently representative set of files, and it is not yet clear if it is a common practice or not to have non-evaluated formulas for that format. The good news is that, should the need arise, the first tests would tend to show that it should be possible to extend the ODS formula evaluator with just a few changes, so it can also understand XLSX formulas. -
18:01 OTB Team: Release of OTB 3.12 and Monteverdi 1.10
sur Planet OSGeoDear all,
CNES is proud to announce the release of Orfeo ToolBox 3.12, codename Πλειάδες.
After its sucessful launch on the 17th of December 2011, and while still in its comissing phase, Pleiades is already sending us beautiful images. This new release, and especially the JPEG2000 support part, has been tested against real Pleiades images kindly provided by the comisioning team.
There are exciting new stuff in all corners of the library. Some of the notable changes in this release are:
- Large JPEG2000 file (Pleiades-like) support and Pleiades metadata handling in OTB (more information here)
- Efficient JPEG2000 visualisation and ROI decompression tools in Monteverdi
- Revamp of otb applications in a generic and scalable framework (more information here) : launch applications from Command-Line, from an auto-generated QT GUI, from python, from within QGis …
- Lots of new algorithms : Dimensionality Reduction (ICA, PCA, NAPCA, MNF, MAF…), change detection (MAD), Hyperspectral Unmixing, elevation map from stereo data, compare segmentation with a ground truth (Hoover) …
- And as usual a lot of bug fixes…
Note that the OTB Software Guide is now 658 pages long, and that we also provide the “Orfeo ToolBox Cookbook, a guide for non-developers”, which gives an insight on how to use Monteverdi and the OTB applications, and also contains the complete reference documentation of the OTB applications. This guide is now 158 pages long.
There are a lot more new things in this release ! For more information, please read the complete release note available here. The source packages for OTB (Library 3.12, Applications 3.12, Monteverdi 1.10) are available on Sourceforge as usual. For our Ubuntu (10.4,10.10, 11.4 and 11.11) users the new version is available for update through you favorite package manager software. OpenSuse and CentOS packages will be available soon. For MS-Windows users, there are also a binary auto-install packages available for Monteverdi, new OTB applications and OTB-Wrapping! For Mac OS X users, an Apple Disk Image (DMG) is available for Monteverdi and also a new OTB MacPort.
All the details related to the installation of these binary packages can be found on the download page.
Best regards, Manuel GRIZONNET, on behalf of OTB development team.
-
14:11 GeoTools Team: GeoTools considering a switch to Git
sur Planet OSGeoHi all,the GeoTools developers have been working, so far, with Subversion as the main version control system. However various core developers have been using Git as a SVN client for quite some time so far, and an official mirror of Geotools, automatically kept in synch with Subversion, is already available on GitHub.
We are now considering switching permantently from Subversion to Git, meaning the Subversion repository will eventually be abandoned and only the Git official central repo will be kept up to date.Before making such move we'd like to hear from the users community, please take one minute to share your opinion about the switch to Git:
Click here to go to the poll. -
9:47 gvSIG Team: New gvSIG courses in English, Spanish and Italian on the gvSIG-Training platform available
sur Planet OSGeo[Más abajo en español]
The gvSIG-Training e-Learning platform opens its registration period for the first courses in 2012. These courses, that are included in the Certification Program of the gvSIG Association, are the following:
-Restricted Registration, which registration period starts on January 30th:
- 1st edition of the “gvSIG for users course” in English. Duration: 10 weeks. Starts: 07 May 2012. gvSIG certification program: 90 Credits.
- 2nd edition of the “gvSIG for users course” in Italian. Duration: 10 weeks. Starts: 02 April 2012. gvSIG certification program: 90 Credits.
- 3rd edition of the “gvSIG for users course” in Spanish. Duration: 10 weeks. Starts: 26 March 2012. gvSIG certification program: 90 Credits.
- 2nd edition of the “Advanced Geoprocessing: Sextante on gvSIG” course in Spanish. Duration: 10 weeks. Starts: 05 March 2012. gvSIG certification program: 30 Credits.
- 1st edition of the “Advanced Geoprocessing: GGL libraries on gvSIG” course in Spanish. Duration: 10 weeks. Starts: 26 March 2012. gvSIG certification program: 30 Credits.
- 1st edition of the “3D extension of gvSIG for users” course in Spanish. Duration: 2 weeks. Starts: 23 April 2012. gvSIG certification program: 30 Credits.
- Open Registration, which registration period starts on February 6th:
- 1st edition “Navtable extension and normalization of tables on gvSIG” course in Spanish. Duration: 1 week. gvSIG certification program: 10 Credits.
- 1st edition “Network Analysis extension on gvSIG” course in Spanish. Duration: 2 weeks. gvSIG certification program: 20 Credits.
- 1st edition “OGC Services Publishing Extension on gvSIG” course in Spanish. Duration: 1 week. gvSIG certification program: 20 Credits.
- 1st edition “PostGis for users Basic course” in Spanish. Duration: 3 weeks. gvSIG certification program: 40 Credits.
If you participate in any of these courses, you get credits of the gvSIG certification program, that allows you to opt for the “gvSIG User” and “Expert gvSIG User” certification [1]; and at the same time you contribute to the sustainability of the gvSIG project.
For more information, you can visit our platform, [www.gvsig-training.com] , or write us to the next e-mail addresses: inscripciones@gvsig-training.com; info@gvsig-training.com
[1] [www.gvsig.com]
Nuevos cursos de gvSIG en español, inglés e italiano disponibles en la plataforma gvSIG-Training
La Plataforma de Capacitación a Distancia gvSIG-Training anuncia que el proceso de inscripciones del primer corte del 2012 para los siguientes cursos, que forman parte de la oferta del Programa de Certificación de la Asociación gvSIG, da inicio según se detalla a continuación:
- En la modalidad de Matrícula Restringida, con inscripciones abiertas a partir del próximo 30 de enero:
- 3a edición “gvSIG para usuarios en Español”. Duración: 10 semanas. Inicia: 26/03/2012. Programa de certificaciones gvSIG: 90 Créditos.
- 2a edición “Geoprocesamiento Avanzado: Sextante sobre gvSIG” en Español. Duración: 10 Semanas. Inicia: 05/03/2012. Programa de certificaciones gvSIG: 30 Créditos.
- 2a edición “gvSIG para usuarios en Italiano”. Duración: 10 semanas. Inicia: 02/04/2012. Programa de certificaciones gvSIG: 90 Créditos.
- 1a Edición “gvSIG para usuarios en Inglés”. Duración: 10 semanas. Inicia: 07/05/2012. Programa de certificaciones gvSIG: 90 Créditos.
- 1a edición “Geoprocesamiento Avanzado: Librerías GGL sobre gvSIG en Español”. Duración: 10 Semanas. Inicia: 26/03/2012. Programa de certificaciones de gvSIG: 30 Créditos.
- 1a Edición “Extensión 3D de gvSIG para usuarios en Español”. Duración: 2 semanas. Inicia: 23/04/2012. Programa de certificaciones gvSIG: 30 créditos.
- En la modalidad de Matrícula Abierta, con inscripciones abiertas a partir del próximo 6 de Febrero:
- 1a Edición “Extensión de Navtable y normalización de tablas de gvSIG en Español”. Duración: 1 semana. Programa de certificaciones gvSIG: 10 créditos.
- 1a Edición “Extensión de Análisis de Redes de gvSIG en Español”. Duración: 2 semanas. Programa de certificaciones gvSIG: 20 Créditos.
- 1a edición “Extensión de publicación de servicios OGC de gvSIG en español”. Duración: 1 semana. Programa de certificaciones gvSIG: 20 créditos.
- 1a Edición “PostGis para usuarios Básico en Español”. Duración: 3 semanas. Programa de certificaciones gvSIG: 40 créditos.
Al participar en cualquiera de estos cursos obtienes créditos del programa de certificación gvSIG que te permite optar a la certificación “gvSIG Usuario” y “gvSIG Usuario Experto” [1]; al mismo tiempo que contribuyes al sostenimiento del proyecto gvSIG.
Para mayor información visita nuestra plataforma [www.gvsig-training.com] o escríbenos a la siguientes direcciones de correo electrónico: inscripciones@gvsig-training.com; info@gvsig-training.com
[1] [www.gvsig.com]
Filed under: opinion
-
19:02 gvSIG Team: DiSiD nuevo socio de la Asociación gvSIG
sur Planet OSGeoUna de las noticias que más nos gusta dar es el salto de una de las empresas colaboradoras a empresa de pleno derecho de la Asociación gvSIG.
En el 2012 DiSiD deja de ser empresa colaboradora para constituirse en socio de pleno derecho de la Asociación gvSIG. Tras un periodo de incubación durante el que se han desarrollado diversos proyectos conjuntamente, ambas partes hemos constatado la coincidencia absoluta en el modelo de negocio del Software Libre que interpreta la Asociación gvSIG.La incorporación de nuevos socios es siempre un hecho significativo, pues refuerza nuestro modelo de producción, permitiéndonos avanzar en la sostenibilidad del proyecto siendo fieles a sus parámetros de colaboración y solidaridad en lo que denominamos una nueva ética de los negocios.
Para los que no la conozcáis, DiSiD es una empresa de ingeniería informática especializada en tecnología Java de código abierto, con diversas lineas de negocio como: desarrollo de portales corporativos con gestión de contenidos digitales, soluciones de tiendas virtuales y comercio electrónico, consultoría tecnológica, formación, desarrollo de aplicaciones a medida y sistemas de información geográfica.
Dentro de esta última linea lleva varios años como colaborador de la Asociación gvSIG, participando activamente en el desarrollo y arquitectura software de gvSIG, haciendo especial hincapié en la versión 2.0. Participa también en otros desarrollos basados en gvSIG, como el proyecto de llevar gvSIG a la aulas de primaria y secundaria -gvSIG Educa/Batoví- que se está desarrollando en colaboración con el Gobierno de Uruguay en el marco del Plan Ceibal y del que esperamos en breve poder anunciar una primera versión oficial.
En su apuesta por proyectos de código abierto, DiSiD es el principal impulsor del proyecto gvNIX junto con la Conselleria de Infraestructuras, Transportes y Medio Ambiente. Dicho proyecto consiste en un framework Java de desarrollo rápido de aplicaciones empresariales.
Participa activamente también en otros proyectos de software libre como: Spring Roo, Spring Framework, Apache Ofbiz, Liferay, etc.
¡Bienvenidos a la Asociación gvSIG!
Filed under: Business, gvSIG Association, spanish
-
16:51 Simone Giannecchini: Developer's Corner: Introducing Database Level Security in GeoServer
sur Planet OSGeoDuring our work we support manu GeoServer Enterprise installations which pull data from a spatial database of some sort, normally via a connection pool, a tool that keeps database connections around so that we don't have to open and close them at every request (something that could be very expensive).The pool accesses the database via a shared user, that all GeoServer requests end up using. Some requests only require data reading (WMS GetMap), others modify data (WFS Transaction), some even create new tables (RESTConfig data uploading for example). The pool user must be able to perform all and any of the operations that GeoServer needs, meaning that more often than not it has very wide powers of what it can do on the database.
GeoServer built in security, as well as extensions such as GeoRepository, allow to control what specific users can do and shield the database from security issues.However in some enviroment the preferred security management policy is to have security restrictions operate at the database level instead, with the pool user being given minimal rights (normally, to list and describe the tables, but without any actual access to them). This has some advantages:- the security is setup just once for the variety of applications that might access the database
- each user can actually perform only the operations that he/she was allowed to, regardless of eventual bugs/security holes in the application level software
- leverages the DBA expertise
Different databases will of course use different commands, or custom, in house package calls, to setup the current session user. See the GeoServer documentation for more details on how this new functionality can be used.
We'd like to thank Astrium GEO-Information Services for sponsoring this improvement and sharing it with the GeoServer and GeoTools communities.
Application security is certainly one of the topics we like to deal with. There is of course a lot more to explore and improve, this topic is both rich and interesting. Want for example CAS or Shibboleth security in your GeoServer intallation? Maybe integration with Active Directory? Talk to us first!
The GeoSolutions team,
-
7:14 Sean Gillies: Geoprocessing for humans: date and time
sur Planet OSGeoFiona 0.7 roughly supports OGR date/time fields. Date, time, and datetime field values are turned into strings conforming to RFC 3339 "Date and Time on the Internet: Timestamps". Fiona is ignoring time zones in this version, but then OGR itself doesn't have much support for time zones, and neither do common vector data formats.
There's an example of adding a date type field to a shapefile in test_collection.py.
with collection("docs/data/test_uk.shp", "r") as source: schema = source.schema.copy() schema['geometry'] = 'Point' schema['properties']['date'] = 'date' with collection( "test_write_date.shp", "w", "ESRI Shapefile", schema ) as sink: for f in source.filter(bbox=(-5.0, 55.0, 0.0, 60.0)): f['geometry'] = { 'type': 'Point', 'coordinates': f['geometry']['coordinates'][0][0] } f['properties']['date'] = "2012-01-29" sink.write(f)A look at the shapefile's feature table in QGIS shows that I'm getting writing of dates right.
Reading that shapefile back in Fiona confirms that dates are read properly.
>>> from fiona import collection >>> c = collection("test_write_date.shp", "r") >>> from pprint import pprint >>> pprint(c.schema) {'geometry': 'Point', 'properties': {'AREA': 'float', 'CAT': 'float', 'CNTRY_NAME': 'str', 'FIPS_CNTRY': 'str', 'POP_CNTRY': 'float', 'date': 'date'}} >>> for f in c: ... print f['properties']['date'] ... 2012-01-29 2012-01-29 2012-01-29 2012-01-29 2012-01-29 2012-01-29 2012-01-29Be careful with this feature. Unless your data is destined for a legacy system, I think you're better off keeping track of time as RFC 3339 strings in a text field. Among other advantages, you'd gain millisecond precision and precise expression of UTC time offset.
-
3:44 Nathan Woodrow: A new QGIS plugin: Python Script Runner
sur Planet OSGeoGary Sherman has just published a new Python plugin for QGIS that I think people will find very handy, I know I will. The plugin allows you to run Python scripts inside QGIS for tasks that don’t really require, or warrant, a whole plugin.
Go check out Gray’s post about the new plugin at [spatialgalaxy.net]
The new plugin can be installed via the Plugin Installer using the “runner” or “script”. The Plugin Installer is another one of my favorite plugins for QGIS, being able to push out a new plugin and know that everyone can get it is a good feeling :)
Filed under: Open Source, qgis Tagged: FOSSGIS, gis, Open Source, osgeo, plugin, python, qgis, Quantum GIS
-
3:24 Gary Sherman: Script Runner: A Plugin to Run Python Scripts in QGIS
sur Planet OSGeoFollowing up on my last post, Running Scripts in the Python Console, I created a plugin to simplify running scripts:
The Script Runner plugin allows you to add your scripts to a list so they are readily available. You can then run them to automate QGIS tasks and have full access to the PyQGIS API. In addition, you can view information about the classes, methods, and functions in your module as well as browse the source:
In order for your script to work with ScriptRunner it has to implement a single function as an entry point. Here is some additional information from the Help tab of the plugin:
RequirementsIn order for Script Runner to execute your script you must define a run_script function that accepts a single argument. This is the standard entry point used by Script Runner. A reference to the qgis.utils.iface object will be passed to your run_script function. You don’t have to use the iface object in your script but your run_script function must accept it as an argument.
Here is an example of a simple run_script function:
def run_script(iface): ldr = Loader(iface) ldr.load_shapefiles('/vmap0_shapefiles')In this example, the run_script creates an instance (ldr) of a class named Loader that is defined in the same source file. It then calls a method in the Loader class named load_shapefiles to do something useful—in this case, load all the shapefiles in a specified directory.
Alternatively, you could choose not to use classes and just do everything within the run_script function, including having it call functions in the same script or others you might import. The important thing is to be sure you have defined a run_script function. If not, Script Runner won’t load your script.
Working with ScriptsTo run a script, you must add it to Script Runner using the Add Script tool on the toolbar. This will add it to a list in the left panel. This list of scripts is persisted between uses of QGIS. You can remove a script using the Remove Script tool. This just removes it from the list; it does nothing to the script file on disk.
Once you have a script loaded, you can click the Script Info tool to populate the Info and Source tabs in the panel on the right. The Info tab contains the docstring from your module and then a list of the classes, methods, and functions found in the script. Having a proper docstring at the head of your script will help you determine the puprose of script.
You can view the source of the script on the Source tab. This allows you to quickly confirm that you are using the right script and it does what you think it will.
Installing the PluginTo install the plugin:
- Open the Python plugin installer: Plugins->Fetch Python Plugins
- Check to see if you have the new Official repository in your list of plugins by clicking on Repositories tab. The URL is [plugins.qgis.org]
- If you have it, skip to step 5. If the new repository isn’t in the list, add it by clicking the Add button. Give it a name and insert the URL [plugins.qgis.org]
- Click on the Plugins tab
- Enter scriptrunner in the Filter box
- Select the ScriptRunner plugin and click Install
ScriptRunner adds an entry to the Plugins menu as well as a tool on the Plugins toolbar:
. Click it and you are off and running. -
0:08 Sean Gillies: PyCon
sur Planet OSGeoI've just finished booking flights and hotel for my first ever PyCon. I'll be in Santa Clara on March 8 and leaving on the 11th. There are 3 talks related to mapping and spatial analysis on the 10th and I hope to make at least one of them. I expect to see a few folks from Fort Collins and the Front Range there. Is there anyone else affiliated with NYU attending? Any programmers in the humanities? I'd like to meet you.
-
11:02 csgis: gvSIG CE Link Text to Layer
sur Planet OSGeoA new functionality "Link Text to Layer" will be implemented in gvSIG CE that let you create links between text elements (map document) and layers (view document).
If you set a layer in the view as not visible, the text in the layout will disappear simultaneously.
To use this new link option follow these instructions:
1.- Add layers to one/more view/s
2.- Create a new map document and insert the view you want to present as a map
3.- Insert the text you would like to have in the map
4.- By Click activate the text object and open the context menu with a right mouse click. Select the option set visibility link, a window with selectable layers will be opened. Select the layer you want to link with your text map object
5.- The text now has an active link to the layer. If you set the layer as not visible in the view, the text will also disappear in the map. Selecting the option remove visibility link, the link between layer and text will be deleted.
-
5:06 Martin Davis: Let's do it again at FOSS4G-NA!
sur Planet OSGeoFOSS4G 2011 in Denver last September was such a good time, we're going to do it all over again at FOSS4G North America 2012!
It will be interesting to see who and how many attend. Some conference budgets might have been blown last year - but note that this event is cleverly timed to fall into a new fiscal! And being in D.C. there should be lots of suits and spooks in attendance.
I'm definitely looking forward to building on the momentum from the last conference, especially given my new gig with OpenGeo (ok, I'm definitely not booth-babe material - but being a booth-geek is probably more fun). -
4:04 Tyler Mitchell: Ingres db access in QGIS via GDAL/OGR VRT
sur Planet OSGeoMy title was already long enough, but I should have added the subtitle "...on Windows". Up until this week you had to be a Windows compiling guru and a GDAL/OGR master to get the driver for Ingres to build. With a wave of his hand, Frank fixed that this week and now I (a mere Windows padowan) was able to get it running. Here are a few of the things that transpired and some examples of the end result. Things are easier on Linux (what's new?), but I needed to crack the Windows nut for a few reasons since it wasn't quite as ready.
First off, if you are interested in hearing more about the Ingres geospatial capabilities, let me know or join our low volume, informal, list where I (am just starting to) post more info as it comes available or review our wiki (slowly getting updated). We are working, heads down, on getting the next Ingres db release out which will include geospatial capabilities in the core of the database (it's not an add-on). This release will be backed by Actian's subscription support services you can get 24/7 professional support for this open source product, with support spread around the world. Now onto the geek details...
Ingres Libraries & DatabaseNaturally you'll need Ingres db libraries to get started. We don't have a simple zip of files so I first pulled that together. You can likely download any of the Windows installer packs from the Ingres download pages: actian.com/downloads/ingres and it will include the library files you need. On my machine all the files I need were in two folders (lib and files) found in
C:\Program Files (x86)\Ingres\IngresII\ingres\with subfolders: lib - for libraries, and files - for headers/include.If you also need the Ingres database too, grab a 10.1 (build 120+) installer to ensure it's capable. If that doesn't work then grab the windows installer from here that also included the geospatial capabilities but may be a little older. I haven't built Ingres from source on Windows yet, so won't attempt to walk you through that, but I'll get to that eventually.
Build GDAL/OGRGrab the latest source for GDAL/OGR, the improvements were just committed this week. For those who may be new to GDAL/OGR - we are specifically interested in the OGR side of the equation as it manages the vector (not raster) data access we need.
Edit the nmake.opt file, specifically uncomment lines 356-360 and edit 356 to reflect the location of your Ingres libraries I mentioned above.
356 INGRES_DIR = C:\Users\tyler\src\ingres\ # files and lib folders are in here
357 INGRES_INC_DIR = $(INGRES_DIR)\files
358 INGRES_LIB = $(INGRES_DIR)\lib\iilibapi.lib \
359 $(INGRES_DIR)\lib\iilibutil.lib \
360 $(INGRES_DIR)\lib\libingres.lib
Then run, from the GDAL/OGR source folder:nmake /f makefile.vc
It was that easy and I'm no pro on building on Visual Studio 2010 - having just downloaded the free express version last week.(Note: I also built in GEOS support, it was just as easy to build from source in Windows, and all you need to do is edit nmake.opt as above but for GEOS after you have it built. You need this for our final step, if you want to hack up QGIS to use this new format from OGR.)
Check that it built in the support for Ingres by running, from the command line, some of the programs in the GDAL/OGR source\apps folder and adding the --formats option. For example:
Convert data to Ingres Geospatial
apps\ogr2ogr --formats
...
-> "MSSQLSpatial" (read/write)
-> "Ingres" (read/write)
-> "PCIDSK" (read/write)
...One of the reasons we really need this OGR support was for data loading and extracting. We are working on FME support but for those without FME, OGR and Geotools will remain critical!
Grab your favourite shapefiles and give ogr2ogr a try. The general syntax, to connect to a local Ingres database is like this:
ogr2ogr -f ingres @driver=ingres,dbname=[database name] [input.shp] -nln [new table name] #nln is optional
e.g...
ogr2ogr -f ingres @driver=ingres,dbname=canada roadlines.shp -nln roads
Depending on the projection/SRS of the data you may get notices complaining about not being able to INSERT into the spatial_ref_sys table. More on this at another time, but if you want to ignore it, feel free to add -skipfailures and/or -overlap - if you want to run it again easily.The Ingres database access application is called 'sql' - when you run this from a command line you get an interactive session. Type 'help \g' (\g being like the ; on other databases) and it will list the tables that are in your database. You can also run:
Viewing QGISogrinfo @driver=ingres,dbname=[database name]- to see if the table was created.There is no QGIS specific database access provider setup for Ingres.. yet. (Want to help with it? Let me know!) So the approach I thought I try, was to use the OGR Virtual Format. For this you simply create an XML file that includes the connection information you used above. This virtual format is way more powerful than that but this will get you started:
<OGRVRTDataSource> <OGRVRTLayer name="road"> <SrcDataSource>@driver=ingres,dbname=canada</SrcDataSource> <SrcLayer>road</SrcLayer> <GeometryType>wkbLinestring</GeometryType> <LayerSRS>EPSG:4326</LayerSRS> <GeometryField>shape</GeometryField> </OGRVRTLayer> </OGRVRTDataSource>Before you can use this in QGIS, consider that the GDAL/OGR that is distributed with it does not include Ingres support that we built earlier. Let the hacking begin, unless you want to build QGIS from scratch on Windows too :) I was using OSGeo4W - a great distribution for Windows with an easy to use installer for getting QGIS, GRASS and more up and running quickly. I copied these files from GEOS and GDAL into the OSGeo4W bin folder, after backing them up first of course :). Yes, this is a total hack but it saved me from rebuilding QGIS - ideally this won't be necessary in the future if we can get Ingres support built into the base distributions of GDAL/OGR.cd C:\OSGeo4W\bin rename gdal18.dll gdal18.dll.orig rename geos_c.dll geos_c.dll.orig copy C:\Users\tyler\src\gdal-svn\gdal19.dll gdal18.dll copy C:\Users\tyler\src\geos-3.3.2\src\geos_c.dll
Now, start up QGIS, selectLayer->Add Vector Layer. ChooseBrowsefor a dataset. Change the drop down type filter box (bottom right) toVRT - Virtual Datasource [OGR], find your VRT file and selectOpen. Give it some time, I found it slow, at least on this low end laptop I was using. I didn't get it to display attribute tables, likely due to my ignorance of the VRT format options and querying is slow. Summary So OGR is working well with Ingres geospatial types and I'm really glad we've got that ready to go on both Linux and Windows (anyone want to try Mac?). We have a queue of fixes, improvements and new features to add to the Ingres database over the upcoming months. We are also focusing on performance (any R-Tree gurus around interested in digging into the Ingres indexing code with us? :) ). This initial development and testing has us off to a good start and I hope you'll be interested in following along as we continue toward our next release. If you are interested in learning more or share thoughts I invite you to drop me a note at tyler.mitchell at actian !dot! com. Or follow me on Twitter. You can also read about my open source geo book publishing endeavours at [locatepress.com] . -
1:03 Sandro Santilli: A walk on the wild side
sur Planet OSGeoHow topology starts making sense in PostGIS 2.0.0 -
21:39 OpenGeo Blog: Getting Curvey
sur Planet OSGeoPostGIS has supported curved geometry types — CIRCULARSTRING, COMPOUNDCURVE< CURVEPOLYGON — since version 1.4, but the number of functions that directly calculate against the curved features has remained pretty small. You can generate a bounding box, or calculate a length, but that’s about it.

A COMPOUNDCURVE made up of a line string, a circular arc, and another line string.
In order to do more complex calculations like area calculation or intersections, you have to first convert the curved object into a linearized approximation, using the ST_CurveToLine function. This is fine for functions that return numbers (like ST_Area) or booleans (like ST_Intersects), but what about functions that return derived geometries?

Linearized version of the compound curve. The arc has been replaced by a regular collection of lines.
For derived geometries, the result will be linearized like the inputs. But portions of the geometry will be linearized versions of the original curves: wouldn’t it be nice to have those curves back for storage?
Yes, it would which is why ST_LineToCurve exists. The line to curve logic works on the premise that a linearized version of a curve will have a certain amount of regularity in it.
The version of the code from PostGIS 1.4 and 1.5 works by looking at the angles between successive segments. Segments that share an angle of deflection with neighbours are probably components of a circular arc. This worked OK, but the code involved a fair amount of trigonometry.

By looking at angles between edges, you can find edges that are former components of an arc.
A simpler approach used for 2.0 turned out to be looking at the circle the arc is inscribed on. Any circular arc in PostGIS is defined by a start point, mid point and end point. Between them, they imply a circle, and the center of the circle can be calculated. Any successive point which is the same distance from that center point as the arc points can be considered part of the arc.

By using the circle as a basis for comparison, each successive point needs a simple distance check, instead of a trig check.
The new code is a lot simpler, and can deal with derived segments of more variable length that the old code.
The simplest way to prove that it works is to wrap a curved geometry in multiple nests of ST_LineToCurve and ST_CurveToLine, pushing the geometry back and forth between representations. While the functions are not perfect inverses (the segmentization routine doesn’t necessarily include the middle control points of the input arcs) you can see that the space bounded by the geometries does not change.
Happy curving!
-
18:52 Sean Gillies: Geoprocessing for humans: a pip requirements file
sur Planet OSGeoIn the geospatial software I'm writing and using these days, concerns are well separated. Fiona reads and writes features. Only. Shapely provides computational geometry algorithms. Only. Pyproj (not my work, but a favorite package) transforms coordinates between spatial reference systems. Only. The separation of concerns helps keep interactions between them predictable and as a user you pay only for what you eat.
A programmer-analyst's daily work has all the above concerns (and more, probably). A pip requirements file makes installing all three packages as easy as installing a single package like osgeo.ogr. I've uploaded one to GitHub: [https:]] . This Gist includes an example of using Fiona, pyproj and Shapely together. Fetching them all, assuming you've got pip and the GDAL/OGR libs and headers already on your system, is just:
$ pip install -r [https:]
-
18:10 Gary Sherman: QGIS: Running Scripts in the Python Console
sur Planet OSGeoThe QGIS Python console is great for doing one-off tasks or experimenting with the API. Sometimes you might want to automate a task using a script, and do it without writing a full blown plugin. Currently QGIS does not have a way to load an arbitrary Python script and run it1. Until it does, this post illustrates a way you can create a script and run it from the console.
There are a couple of requirements to run a script in the console:
- The script must be in your PYTHONPATH
- Just like a QGIS plugin, the script needs a reference to qgis.utils.iface
By default, the Python path includes the .qgis/python directory. The location depends on your platform:
- Windows: in your home directory under .qgis\python. For example, C:\Documents and Settings\gsherman\.qgis\python
- Linux and OS X: $HOME/.qgis/python
To see what is in your PYTHONPATH you can do the following in QGIS Python console:
import sys sys.path
While you could use the .qgis\python directory for your custom scripts, a better way is to create a directory specifically for that purpose and add that directory to the PYTHONPATH environment variable. On Windows you can do this using the Environment Variables page in your system properties:
On Linux or OS X, you can add it to your .bash_profile, .profile, or other login script in your home directory:
export PYTHONPATH=$PYTHONPATH:/home/gsherman/qgis_scripts
Writing the ScriptWith the environment set, we can create scripts to automate QGIS tasks and run them from the console. For this example, we will use a simple script to load all shapefiles in a specified directory. There are a couple of ways to do this:
- Write a simple script with a function that accepts qgis.utils.iface as an argument, along with a path to the shapefiles
- Create a Python class that uses an __init__ method to store a reference to the iface object and then add methods to do the work
We will use the latter approach because it is more flexible and allows us to initialize once and then call methods without having to pass the iface object each time.
The script looks like this:
#!/usr/bin/env Python """Load all shapefiles in a given directory. This script (loader.py) runs from the QGIS Python console. From the console, use: from loader import Loader ldr = Loader(qgis.utils.iface) ldr.load_shapefiles('/my/path/to/shapefile/directory') """ from glob import glob from os import path class Loader: def __init__(self, iface): """Initialize using the qgis.utils.iface object passed from the console. """ self.iface = iface def load_shapefiles(self, shp_path): """Load all shapefiles found in shp_path""" print "Loading shapes from %s" % path.join(shp_path, "*.shp") shps = glob(path.join(shp_path, "*.shp")) for shp in shps: (shpdir, shpfile) = path.split(shp) self.iface.addVectorLayer(shp, shpfile, 'ogr' )Running the ScriptTo open the console use the Plugins->Python Console menu item.
The comment at the head of the script explains how to use it.
First we import the Loader class from the script file (named loader.py). This script resides in the qgis_scripts directory that is our PYTHONPATH.
from loader import Loader
We then create an instance of Loader, passing it the reference to the iface object:
ldr = Loader(qgis.utils.iface)
This creates the Loader object and calls the __init__ method to initialize things.
Once we have an instance of Loader we can load all the shapefiles in a directory by calling the load_shapefiles method, passing it the full path to the directory containing the shapefiles:
ldr.load_shapefiles('/home/gsherman/qgis_sample_data/vmap0_shapefiles')The load_shapefiles method uses the path to get a list of all the shapefiles and then adds them to QGIS using addVectorLayer.
Here is the result, rendered in the random colors and order that the shapefiles were loaded:
Some Notes- When testing a script in the console you may need to reload it as you make changes. This can be done using reload and the name of the module. In our example, reload(loader) does the trick.
- You can add more methods to your class to do additional tasks
- You can create a “driver” script that accepts the iface object and then initializes additional classes to do more complex tasks
1. I have plans on the drawing board to implement this feature.
-
12:17 Free and Open Source GIS Ramblings: Looking for Roundabouts in OSM
sur Planet OSGeoRoundabouts are handled interestingly in OSM: They can be both nodes or ways and represented as points, lines or polygons.
And this is how they can be downloaded for a specific area:
> wget [open.mapquestapi.com]
> wget [open.mapquestapi.com]Note: Not all XAPI servers are available all of the time. Check this site if the server is down: OSM Wiki – Xapi.
-
1:46 Cameron Shorter: Presenting at GeoNext conference
sur Planet OSGeo
I'm speaking at the GeoNext conference, and will be answering audience questions on the topic of:"Where to start with Geospatial Open Source Software, and how to build a business around Open Source products".
Speakers at the GeoNext conference are covering topics around emerging geospatial business trends, which are being driven by such things as mobile phones, commoditisation of data, and web 2.0 principles such as crowd sourcing. It is running in Sydney, Australia on 29 February 2012. More details here: [geonext.com.au]
If you will be coming, then let me know and come and say hello. -
22:01 Slashgeo (FOSS articles): OpenGeo Announces Gold Level Sponsorship for 2012 FOSS4G-NA
sur Planet OSGeoOpenGeo Announces Gold Level Sponsorship for 2012 FOSS4G-NA
FOSS4G North America Regional Conference to be Held in Washington, D.C.
New York, NY, January 26, 2011 — OpenGeo, the organization behind the OpenGeo Suite has announced their sponsorship of the 2012 FOSS4G-NA conference. The Free and Open Source Software for Geospatial - North America (FOSS4G-NA) conference will be hosted by OSGeo North America from April 10th to 12th, 2012 at the Walter E. Washington Convention Center in Washington, D.C. Confirmed keynote speakers include Michael Byrne, CIO of the Federal Communications Commission (FCC).
OSGeo North America is the newly-formed North America chapter of OSGeo, an international not-for-profit whose mission is to support and promote the collaborative development of open geospatial technologies and data. OSGeo North America has scheduled this regional follow-up to focus on the North American open source geospatial community. Just as they did at the 2011 FOSS4G global conference in Denver, OpenGeo is once again committed to a gold level sponsorship, In addition, this year members of OpenGeo are also volunteering on the conference organizing committee.
Eddie Pickle, OpenGeo COO said "Supporting FOSS4G and OSGeo is a top priority for OpenGeo. FOSS4G is always a key forum for meeting with our friends, clients, and partners as well as for exchanging knowledge to improve open source geospatial software. A regional event in Washington, D.C. will allow us us to focus on the evolving landscape of open source geospatial in North America. We’re especially interested to see how government agencies have been adopting open source technology to address their needs." He continued "We’re also happy to announce that our own Paul Ramsey has volunteered to be the FOSS4G- NA 2012 conference chair; we know the conference will be a success with Paul at the helm."
About FOSS4G-NA 2012
FOSS4G is an annual global conference organized by OSGeo that focuses on bringing together individuals and organizations working with free and open source geospatial software; FOSS4G-NA is a regional event for North America and is being organized by the North American Regional chapter of the Open Source Geospatial Foundation (OSGeo), with additional support from members of a volunteer program and conference committee and the conference sponsors
About OpenGeo
OpenGeo is a social enterprise working to build the best web-based geospatial technology. The company brings the best practices of open source software to geospatial organizations around the world by providing enterprises with supported, tested, and integrated open source solutions to build the Geospatial Web. OpenGeo also supports open source communities by employing key developers of PostGIS, GeoServer, and OpenLayers. Since 2002, the company has provided successful consulting services and products to clients like the World Bank, Google, Ordnance Survey Great Britain, Portland TriMet, MassGIS, Landgate, and the Federal Communications Commission. OpenGeo is the geospatial division of OpenPlans, a New York-based 501(c)(3) non-profit that informs and engages communities through journalism and open source software. All of OpenGeo's revenue has been and will continue to be re-invested into innovative and useful software in support of the OpenPlans mission.
Related Links
FOSS4G-NA 2012 Conference - Washington, DC
FOSS4G 2012 - Beijing, China
OSGeo North America
Open Source Geospatial FoundationMedia Contact
David Dubovsky
+1 917-388-9077
david@foss4g-na.org
Google Plus One
-
18:13 Daniel Morissette: Intellectual Property vs Copyright
sur Planet OSGeoIn the past I have often used the terms Intellectual Property and Copyright to mean essentially the same thing, without realizing that this was incorrect. Maybe that was because English is not my native language, but probably not since I have actually heard several others making the same mistake as well.
This morning in a discussion on this topic on the OSGeo Incubator mailing list, Frank Warmerdam explained the difference between the two terms and now I better understand why the terms Intellectual Property and Copyright should not be confused, especially in the context of Free and Open Source Software (FOSS).
I thought I'd share a copy of Frank's great explanation here in case it helps others better understand the distinction:Daniel,
I believe the rationale behind avoiding the term Intellectual Property
has two parts.
First, it attempts to conflate a variety of very different legal mechanisms.
Primarily copyright, patents and trademarks. Giving them all one name makes
it harder to separate out things we might agree with (copyright) from things
we might not (ie. Patents).
Second, it expresses these legal mechanisms in a manner that implies that
they are some sort of fundamental or manifest right rather than limited
government granted monopolies intended to serve specific needs of society[...]
You can read the full email and the rest of the thread here. -
11:42 Simone Giannecchini: Improving GeoServer SQL Server support
sur Planet OSGeoDear All,
in recent times we were hired to improve GeoServer SQL Server support story.
The SQL Server store was created and maintained during spare time by Justin DeOliveira, however due to lack of production usage, and work time to pour on it, it failed to reach to the same level of robustness and speed as the best supported stores, such as Oracle and PostGIS.
Our work this week tried to close this gap with a number of little and big improvements that make the code run faster and in a more reliable way:- add support for connection validation (very important for SQL Azure, which is very keen on closing pooled connections in your face)
- use binary encoding, instead of text, to transfer geometries from the database
- support for data paging at the database level
- make sure the rich database test suite we have in GeoTools is fully implented for SQL server, ensuring good support for use cases such as dynamic SQL views, proper date/time encoding in filters, and the like, both on the development series and on the stable series
There are still some improvements missing on the table, such as geography columns support, but we're sure you'll be able to get more out of a production usage of GeoServer and SQL Server now.
Interested in sponsoring further improvements? Looking for professional support service that deliver for your group? Let us know!
The GeoSolutions team,
-
20:53 Micha Silver: Spatialite and Excel on talking terms
sur Planet OSGeoThe recent stable version of Spatialite, 3.0, supports linking to and importing Excel spreadsheet tables. Read on to see how it’s done.
The developers of spatialite have added a driver for *.xls files (thru the FreeXL library ). You can either link to, or import a single sheet from an Excel file provided that:
- the file is Excel 2003 format (not the newer xml format)
- the table is “cleanly” formated – only data in rows, no empty rows, etc.
- the first row contains either column headers, or straight-away the first data entry
However the columns of data are imported into spatialite without any data type. If you want to specify the data type for each column, my procedure is:
- link to the external table (create a virtualXL table)
- create your own, well defined table
- use the SQL construct “INSERT INTO … SELECT FROM…” in order to copy all data from the linked table into your structured table.
- then run the spatial funtions AddGeometryColumn() and MakePoint() in order to convert the table to a spatial layer
These few steps might seems a bit complex just to get a table of data into spatialite, but this method insures that data will be structured exactly as you want.
If you’re working with spatialite from the command line, here’s the command syntax for loading an excel sheet:
.loadxl <args> Loads a XL spreadsheet (.xls) into a SpatiaLite table
arg_list: xl_path table_name
[worksheet_index [first_line_titles{0/1}]]
Note that the worksheet index begins with 0. So if you have more than one sheet in your Excel file, be sure to set the correct index for the worksheet containing the table. The last parameter indicates (by values 0 or 1) whether the first row holds column headers. So for example you could import the first sheet of an excel worksheet called ‘host_trees.xls’, which contains column headers in the first row, with the following command:
spatialite>.loadxl 'host_trees.xls' host_trees 0 1
XL loaded3770 inserted rows
spatialite>
We’ll follow the full procedure to smoothly import a spreadsheet of longitude,latitude data and create a spatial layer with screen shots from the spatialite_gui. Suppose we begin with a table that looks like this:

Excel table of data with Longitude/Latitude loctaions
First import the table using the VirtualXL button. This creates a link in the spatialite db to the sheet from Excel.

Importing an Excel table as VirtualXL
In the next image note that the linked data table has no types for the columns. So we’ll create our premanent table (named here ‘MyHostTrees’)within spatialite, specifying the correct data types, then we will transfer the date over from the virtual table to the permanent one. Follow the steps…

Crete a new, permanent table with correct data types
Now we transfer the data from the virtual table to the permanent table using the SQL construct: “INSERT (…) INTO … SELECT … FROM …”. Here’s how it looks:

Copy data from virtual table to permanent table
We continue by making this new table a spatial table with the AddGeometryColumn() function, then we populate this Geometry column using the MakePoint() function.

Using the AddGeometryColumn function

Populating the Geometry column
And here’s the result:

Spatial table containing data with Geometry column
-
19:12 Gary Sherman: Using the QGIS Raster Calculator
sur Planet OSGeoThe raster calculator allows you to perform mathematical operations on each cell in a raster. This can be useful for converting and manipulating your rasters. Operators include:
- Mathematical (+, -, *, /)
- Trigonometric (sin, cos, tan, asin, acos, atan)
- Comparison (<, >, =, <=, >=)
- Logical (AND, OR)
To perform operations on a raster or rasters, they must be loaded in QGIS. The raster calculator is accessed from the Raster menu and brings up the dialog:
Let’s look a few examples.
Simple Mathematical CalculationDoing a simple calculation is easy. In this example we have a Digital Elevation Model (ancc6) loaded in QGIS. The DEM contains elevations for a 1:63,360 quadrangle in Alaska. The coordinate system is geographic and the elevation value in each cell is in meters. If we wanted to create a raster with elevation in feet, we can use these steps to create the expression:
- Bring up the raster calculator
- Double click on ancc6@1 in the raster bands list to add it to the expression
- Double click the multiplication operator (*)
- In the expression box, type in the conversion factor for meters to feet: 3.28
This gives us the following expression:
ancc6@1 * 3.28To complete the process, we specify a name for the output raster and the format we want to use. When you click OK, the operation will be performed and the new raster created, giving us a GeoTIFF with cell values in feet. If you leave the Add result to project box checked the output raster will be added to QGIS once the calculations are done.
If you only want to operate on a portion of a raster, you can use the extent setting to limit the area included in the calculation.
Using a MaskSometimes you might want to mask out part of a raster. An example might be one where you have elevations ranging from below sea level to mountain tops. If you are only interested in elevations above sea level, you can use the raster calculator to create a mask and apply it to your raster all in one step.
The expression looks like this:
(my_raster@1 >= 0) * my_raster@1The first part of the expression in parentheses effectively says: for every cell greater than or equal to zero, set its value to 1, otherwise set it to 0. This creates the mask on the fly.
In the second part of the expression, we multiply our raster (my_raster@1) by the mask values. This sets every cell with an elevation less than zero to zero. When you click OK, the calculator will create a new raster with the mask applied.
Simulating a Rise in Seal LevelUsing the raster calculator and a mask we can visually simulate a rise in sea level. To do this we simply create the mask and overlay it on the DEM or perhaps a DRG (topographic) raster.
The expression to raise sea level by 100 meters is:
ancc6@1 > 100The output raster contains cells with either a 0 (black) or 1 (while) value:
The black areas represent everything below an elevation of 100 meters, effectively illustrating a sea level rise. When we combine this with a suitable background we can demonstrate the results:
We added the DRG for the quadrangle and overlaid it with the mask layer. Setting the transparency to 70% allows the DRG to be seen, illustrating the effect of raising sea level.
The raster calculator is a powerful tool. Check it out and see how you might use it in your analysis and map making.
-
18:13 Sean Gillies: Notes on learning Clojure
sur Planet OSGeoI'm learning Clojure and having fun with it. I never learned a Lisp in school like many programmers my age did. The one variant I did try, about 15 years ago, was Scheme. I did a little Gimp scripting with it but nothing else. I think I had to mature a bit before I could appreciate the Lisp style for what it is.
For a language that's designed to be more simple than easy, it's surprisingly easy to use Java classes in Clojure. This is the first code I've written using JTS classes in a while.
user=> (.buffer (.read (com.vividsolutions.jts.io.WKTReader.) "POINT (0 0)") 1.0) #<Polygon POLYGON ((1 0, 0.9807852804032304 -0.1950903220161282, ...))>
I assumed I'd have to write something like a Python C extension module to do this and am thrilled to be wrong.
-
15:15 Slashgeo (FOSS articles): Marble 1.3.0 and "Marble Touch" Released
sur Planet OSGeoMarble 1.3 has been released with lots of new gems: Marble — the virtual globe and world atlas — now integrates with KDE Plasma. By allowing for coordinate and bookmark searches, Marble can be opened directly from the Plasma search bar.
The new Elevation Profile shows the incline of routes, which can be edited interactively.
Stargazers can view and track Earth satellites thanks to Marble participation in the European Space Agency (ESA) Summer of Code in Space.
During Google Summer of Code, Marble gained initial support for display of .osm (OpenStreetMap) files in vector format.
Owners of the Nokia N9/N950 are the first to receive the new mobile application Marble Touch.
Further details can be found in the feature guide.
Google Plus One
-
14:53 Matt Sheehan: Flexible Mobile GIS Frameworks
sur Planet OSGeoWe have spoken many times on this blog about our release of GeoMobile for ArcGIS. The link below will take you to a more detailed discussion:
http://www.webmapsolutions.com/free-mobile-arcgis-viewer-upgraded
Our logic for the release was:
To demonstrate a custom ArcGIS mobile application Build a cross platform mobile GIS app or one code base which runs on multiple platforms; iOS, [read full article] -
10:18 Gavin Fleming: Confessions of an ex-Windows user
sur Planet OSGeoEducation is undoubtedly the largest propaganda weapon in this consumerist-driven society. Having just completed matric, I realize that the first eighteen years of my life has been a period of unmitigated Windows brainwashing. It is a travesty to think how the capitalist greed of proprietary software has permeated my life for so long.
I recently began working at AfriSpatial with the intention of keeping myself busy during the holiday and earn some pocket money in the process. I was required to work in Linux which was a somewhat foreign OS to me and, afraid it would mysteriously hurt my fragile Windows PC, I installed Xubuntu OSGeo Live in a Virtual Box. At this stage life was treating me well…
One day, Windows decided to do an update which broke the harmony of my Virtual Machine by somehow preventing connection to the Internet. I wasted precious hours troubleshooting every conceivable error but this was to no avail. I had two choices: either forget about Linux and revert to the primitive ways of life before Linux or take a bold new step into a brighter future. So I actually had no choice and no more patience. I had to install Linux as a dual-boot. There was no other way.
This seemingly inconsequential event instigated a change; a purgation of conscience whose effects altered the kernel of my value system. I guess in hindsight this transmogrification was inevitable for an aspiring programmer.
Having joined the ranks of the converted Linux users, life has become so much brighter, so much more fulfilling, so much more. Gone are the days of tasteless architecture and graphics. The experience has been liberating. I blame schools for polluting their computer labs with expensive proprietary software when there are open source equivalents for just about everything (and often these ‘alternatives’ are better). Open source is undoubtedly the way forward. Anything Windows can do, Linux can do better. I am not trying to be antagonistic, just honest.
These are the confessions of an ex-Windows user.
Confessions of an ex-Windows user is a post from: AfriSpatial
-
6:31 GeoTools Team: AURIN Job Openings
sur Planet OSGeoMany of the best known GeoTools examples are popular open source projects. If you follow our user list, you will know that GeoTools is used in a wide range of environments and settings.
With that in mind, we are happy to pass along a couple of job openings from Martin Tomko and the Australian Urban Research Infrastructure Network (AURIN):GeoTools experience is a plus; and tell Martin we sent you.
If you have a GeoTools related job post you would like us to pass along, please contact your nearest PMC member and we would be glad to help. -
5:54 Nathan Woodrow: Improvements to the QGIS rule based rendering
sur Planet OSGeoThe rule based rendering in QGIS has just got a make over to improve in some of the old usability issues it used to have. Most of the improvements are UI related. If you would like to try them out you will need to grab a copy of the latest dev build (qgis-dev in OSGeo4W)
Main improvements include:
- Nested rules. If the parent rule evaluates to false none of the child rules are applied. This replaces the priority system in the old dialog.
- Disable symbol for rules. Rules with no symbol only act as a check for the child rules e.g nothing is rendered for the rule but child rules still are (unless also disabled).
- Drag and Drop rules (multi-selection is supported). Rules can be dragged onto other rules in order to nest them and set up a rendering hierarchy.
- Inline editing of rule labels, expressions, scales
- Overall tweaks to the dialog

The new rule dialog
As you can see in the screenshot, the rules are now organized in a tree which clearly expresses which rules should be applied and when.
In the example above, all the rules under the Sealed rule will only be applied if that rule is true. The old system would have you managing all rules in one big list and dealing with priorities in order to get the rules to apply right, the new dialog is a major improvement.
And the results! As you can see below, QGIS will only render the colored squares if the Sealed rule is true otherwise it just shows a green line.

The rules applied
The work was sponsored by Ville de Morges, Switzerland and developed by Martin Dobias. Thanks to both of them for these improvements.
More info:
- See Martin’s notes for a more detailed breakdown, and maybe some future stuff to come, of the improvements [lists.osgeo.org]
Note: As this is a brand new feature there might be some bugs, or things that don’t quite work as expected. If you do find something don’t hesitate to file a bug report at hub.qgis.org so it can be fixed, or at least known about.
Filed under: Open Source, qgis Tagged: FOSSGIS, gis, map-rendering, mapping, Open Source, osgeo, qgis, Quantum GIS, styling
-
18:39 Matt Sheehan: Hot Topics in Mobile GIS
sur Planet OSGeoWe recently looked back over client and potential client feedback in 2011. There were definitely some re-occurring themes. Here we summarise some of these conversations:
1) Mining
Display in a mobile map app dynamic sensor data (click on map point and its shows current data)
2) Cultural Resource Management
“Even though GPS technology has been readily adopted [read full article]
-
16:22 Tyler Erickson: pyKML at the 2012 American Meteorological Society Annual Meeting
sur Planet OSGeo
Tomorrow I am giving a talk at the American Meteorological Society Annual Meeting entitled:
Using the pyKML Library to Format Weather and Climate Data for Viewing in Google Earth
It is at 11:45, if you happen to be at the meeting. The talk presents numerous examples of using pyKML, but because of the static format required by the conference (i.e. Powerpoint or PDF) I thought it might be useful to provide a number of links to related content. Enjoy!
pyKML:- pyKML Source Code (Google Code)
- pyKML packages (PyPI)
- pyKML Documentation (PyPI)
- Google Geo Developers blog post
- FOSS4G presentation created in pyKML
Examples:
Misc: -
15:00 GIS-Lab: OSGeo4W перешел на Python 2.7
sur Planet OSGeoТо, чего многое давно ждали, свершилось. OSGeo4W перевели на Python 2.7.2 (до этого использовалась порядком устаревшая версия 2.5.2). Переход на версию 2.7 обусловлен длительной поддержкой этой версии, множеством исправленных ошибок а также наличием большого числа новых версий библиотек, которые не могут быть собраны с Python 2.5
Ознакомиться с тем, как проходил процесс миграции можно на специальной странице Requires Python, а также в соответсвующих тикетах #214 и #219.
Необходимо помнить, что такое глобальное изменение может повлечь за собой ошибки, кроме того, некоторые пакеты все еще не адаптированы. Если в процессе работы вы столкнетесь с ошибками, сообщайте о них.
-
15:00 gvSIG Team: gvSIG projects migration to our new servers finished!
sur Planet OSGeoEnglishAs some of you already know, at the end of last year the OSOR project forge was closed and replaced by the new Joinup service. The projects that were available in OSOR had been migrated to Joinup.
In the case of the gvSIG project, we thought the new Joinup service was not going to fulfill our needs, so we started to prepare our own services for the source and maven repositories, as well as the trackers for bugs and feature requests.
In any case we are really grateful with the OSOR team for the services provided to the gvSIG community since during all the time we where hosted there.
The migration has been already performed, and all previous gvSIG project services are already available in the new servers:
- Subversion repositories: all the previous projects in osor have been migrated under the new subversion server. Each project, as before, has its own repository, like the main gvsig desktop subversion repository.
- Trackers and projects issues and tasks: the OSOR forge has been replaced with a redmine based service. There you will find a project with the bugs and feature requests trackers for the gvsig desktop project. The OSOR forge trackers have not been still migrated, so you will find only find a few issues, but it may be already used to create new ones.
- Maven repository
The gvsig desktop 2.0 projects maven configuration has already been updated to point to the new servers, so you should be able to compile without problems. Also a new build has been prepared (2043), already in the new servers.
The gvsig desktop application and addons will be available also through a new downloads server. All those URLs are being updated in the projects main portal, but bear us if there is still any reference to the old OSOR locations or there are still some broken references. The development downloads page is still not working 100%.
For developers, the page about how to prepare a workspace with the gvSIG 2.0 core projects has been updated also.
Sorry everybody for any problems related to the migration. We hope we can
Spanish
start working again as always from now on.Como algunos de vosotros ya sabéis, a finales del año pasado la forja del proyecto OSOR fue cerrada y reemplazada por el servicio Joinup. Los proyectos que estaban alojados en OSOR fueron migrados automáticamente a Joinup.
En el caso del proyecto gvSIG, pensamos que el nuevo servicio de Joinup no iba a satisfacer todas nuestras necesidades, por lo que empezamos a preparar nuestros propios servicios de repositorios de código fuente y maven, así como los trackers de errores y peticiones de mejoras.
En cualquier caso queremos agradecer encarecidamente a la gente del equipo de OSOR los servicios proporcionados a la comunidad gvSIG durante todo este tiempo.
La migración ha finalizado ya, y todos los servicios que teníamos para los proyectos gvSIG están disponibles en los nuevos servidores:
- Repositorios de Subversion: todos los proyectos que estaban en OSOR han sido migrados al nuevo servidor de subversion. Cada proyecto, como antes, tiene su propio repositorio, como el repositorio principal de gvsig desktop.
- Trackers y tareas de proyectos: la forja de OSOR ha sido reemplazada por un servicio basado en redmine. En éste se puede encontrar un proyecto que contiene los trackers de errores y peticiones de mejoras de gvsig desktop. Los trackers que había en la forja de OSOR todavía no han sido migrados, por lo que sólo hay aún unos pocos tickets, aunque puede ser usado para crear nuevos.
- Repositorio maven.
La configuración de los proyectos de maven de gvSIG desktop 2.0 has sido actualizada para hacer uso de los nuevos servidores, por lo que ya se debe poder compilar sin problemas. Además un nuevo build (2043) ha sido preparado, ya disponible en los nuevos servidores.
La aplicación gvSIG desktop, así como los complementos de instalación, estarán disponibles a través del nuevo servidor de descargas. Todas las URLs están siendo actualizadas en el portal principal de gvSIG, aunque es posible que queden todavía algunas referencias a las antiguas ubicaciones en OSOR o algunas referencias rotas. Además la página de descargas en desarrollo todavía no está funcionando al 100%.
Para los desarrolladores, la página sobre como preparar un espacio de trabajo con los proyectos principales de gvSIG 2.0 ha sido actualizada también.
Disculpas a todo el mundo por los problemas que haya podido causar esta migración. Esperamos que a partir de ahora todos podamos empezar a trabajar de nuevo como siempre en el proyecto.
–
gvSIG Team
Filed under: community, development, english, gvSIG Desktop, opinion, spanish, testing
-
14:54 Slashgeo (FOSS articles): MapProxy 1.3.0 Released
sur Planet OSGeoWe mentioned the open source MapProxy a few times since 2010, including the 1.0.0 release about a year ago. Less than two weeks ago, MapProxy 1.3.0 was released. Anyone with an interest in tile caching might be interested in reading this previous story named FOSS4G 2011: What about a Tiling Shootout?
Amongst the new features for the 1.3.0 release: "
- RESTful WMTS: The MapProxy WMTS now also supports the RESTful API. This service also supports custom URL templates for your service.
- CouchDB cache backend: You can now use a CouchDB as a backend for tile caches. Each cache gets stored into a separate database and you can configure the layout of the URLs of each tile. You can also add additional metadata for each tile."
Google Plus One
-
14:33 Slashgeo (FOSS articles): First FOSS4G - North America 2012 Conference in Washington DC April 10-12
sur Planet OSGeoFor those who don't read our geospatial press releases feed, you might be interested in learning about the first FOSS4G - North America conference to be held in Washington DC in April 10-12, 2012. We mentioned in 2009 the possibility of a North American-specific FOSS4G conference to be organized by the OSGeo, it now has become reality.
From the press release: "In light of the success of last September’s international FOSS4G conference in Denver, Colorado, the newly-formed North America chapter of OSGeo, a not-for-profit organization whose mission is to support and promote the collaborative development of open geospatial technologies and data, seized upon the opportunity to organize a regional follow-up conference focusing on the North American open source geospatial community. “2011’s event showed us that there is great interest in the region to continue the conversation and strengthen the network of individuals and organizations working the open source geospatial field,” said Paul Ramsey, accomplished geospatial software developer and FOSS4G- NA 2012 conference chair."
Google Plus One
-
13:16 gvSIG Team: Fifth Italian gvSIG Conference
sur Planet OSGeoFrom 27th to 29th June 2012, the 5th Italian gvSIG Conference (Quinte Giornate Italiane di gvSIG) [1] will be held in the “Aula Magna” of the Politecnico di Milano – Polo Territoriale di Como (via Castelnuovo, 7 – Como).
The meeting, organized by the Laboratorio di Geomatica del Politecnico di Milano – Polo Territoriale di Como and the gvSIG Association, is an interesting meeting point for changing experiences between users and developers from Italy. Seminaries and presentations are planned at the Conference.
The call for papers is now open, and proposals can be sent to the email address: giornate.italiane@gvsig.org (consult Presentation rules [2]), until May 23th.
Registration period will be opened in March 7th.
[1] [www.gvsig.org]
[2] [www.gvsig.org]
Filed under: community, events, Italian, opinion
-
10:38 OTB Team: OTB 3.12.0-rc1 ready for testing!
sur Planet OSGeoWe are happy to announce that OTB and Monteverdi have entered the 3.12 release candidate stage!
You can find the source (OTB and Monteverdi) and binary packages (Monteverdi form Mac OS X and Windows) here.
Some of the notable changes in this release are:
- Large JPEG2000 file (Pleiades-like) support and Pleiades metadata handling in OTB (more information here)
- Efficient JPEG2000 visualisation and ROI decompression tools in Monteverdi
- Revamp of otb applications in a generic and scalable framework (more information here) : launch applications from Command-Line, from an auto-generated QT GUI, from python, from within QGis …
- Lots of new algorithms : Dimensionality Reduction (ICA, PCA, MNF, MAF …), change detection (MAD), Hyperspectral Unmixing, elevation map from stereo data, compare segmentation with a ground truth (Hoover) …
- And various bug fixes.
There are a lot more new things coming with this release ! For more information, please read the complete release note available here.
As usual, Release Candidate are made to be tested and stressed, so do not hesitate to give it a try and report whatever you find suspicious on the users list, or directly on the BugTracker.
Also note that a teaser of what can be done with OTB is now available here !
Happy Testing!
Manuel, for the OTB team
-
10:32 Tim Sutton: Simple binary raster reclassification in QGIS
sur Planet OSGeoThe Raster Calculator in QGIS allows you to run any expression on a raster or collection of rasters. While it is definitely useful, exactly how to phrase your expression in order to reclassify a raster is not always clear. Let’s say you have a raster with values between 0 and 255, and you want everything [...] -
6:01 Sean Gillies: Shapely 1.2.14
sur Planet OSGeoShapely 1.2.14 is up on PyPI: [pypi.python.org] and the documentation has been updated: [toblerity.github.com] . Mike Toews has made coordinate and (homogeneous) geometry sequences sliceable. For example, you can now get every other vertex of a line string or linear ring like this:
>>> from shapely.geometry import Point >>> ring = Point(0.0, 0.0).buffer(1.0).exterior >>> len(ring.coords) 66 >>> evens = ring.coords[::2] >>> len(evens) 33
and a geometry collecting the odd points of another multi point geometry can be had like:
>>> from shapely.geometry import MultiPoint >>> multi = MultiPoint(evens) >>> len(multi) 33 >>> odds = multi[1::2] >>> odds.geom_type 'MultiPoint' >>> len(odds) 16 >>> list(odds) [<shapely.geometry.point.Point object at 0x744d30>, ... ]
Heterogeneous geometry collections can't be sliced in 1.2.14. Down the road, maybe.
-
2:55 Tyler Mitchell: Book now selling! The Geospatial Desktop
sur Planet OSGeoGary's updated book is now (back) in print and listed on Amazon for sale! Covering a vast array of open source software for GIS analysis, mapping and application building. With special sections focused on Quantum GIS and GRASS GIS.
For more info see our book page or the comprehensive book website. Or just buy it on Amazon.
<img alt="" src="http://wms.assoc-amazon.com/20070822/US/img/noscript.gif?tag=locapres-20" /> -
16:53 Simone Giannecchini: GWT-OpenLayers release 0.7
sur Planet OSGeoDear All,
we would like to inform you that the new release 0.7 for the GWT-OpenLayers project is available.
The releases is ready for the download and can be found here.
Notable improvements with this release are as follows:- Upgrade to GWT 2.4.0
- Support to Google Maps V3
- Improved source code formatting
- Added and fixed several base methods and bindings such WMS Params, Layer methods
We would like to thank all the other committers for their dedication and hard work!
Regards,
the GeoSolutions Team.
-
14:57 Jackie Ng: Updated OSGeo Nabble archive link
sur Planet OSGeoThose of you who prefer a forum-based frontend to the mapguide-users and other OSGeo mailing lists probably had warning about the migration of the OSGeo mailing list archives by nabble.
Well, in addition to breaking every existing mailing list link (I bet you all the nabble posts I've linked from this blog are completely broken now!), the old archive no longer gives you the link to the new archive location. Real smart move by Nabble!
Well in case anyone is wondering, here's the new link before nabble took it down along with the old archive: [osgeo-org.1560.n6.nabble.com]
What's even funny is the notice at the top of the new archive location
We have moved the OSGeo.org archives to this location. Please update your bookmarks.
And just who is going to be able to read that? Certainly not the people who have been inconvenienced by this ill-thought out move!
/rant -
13:49 Jackie Ng: How to: Use mg-desktop in your own .net applications
sur Planet OSGeoHere I am, talking about mg-desktop and how it's the next best thing since sliced bread, but I haven't even explained how you can go about using it in your own .net applications! This post aims to rectify this problem.
This post will aim to show you how to create a simple .net WinForms application that displays a map from the Sheboygan sample data set with a basic selection handler. The final application will look like so:
Before we get started, make sure you have the following:- Visual Studio 2008 or newer (I'm using the express edition for this post)
- The latest binary release of mg-desktop
So fire up Visual Studio and let's get started!
1. Download mg-desktop
Download the latest binary release of mg-desktop and extract this archive to a directory of your choice. We will be referring to files in this location for the rest of this post.
2. Set up the Visual Studio Toolbox
In order to facilitate drag-and-drop of the map viewer component, we need to register the mg-desktop viewer component into the Visual Studio Toolbox. To do this, right click the toolbox and select Choose Items
This will bring up the Choose Toolbox Items dialog, click the browse button
Browse to the directory you extracted mg-desktop into and select the OSGeo.MapGuide.Viewer.dll assembly. This will add our viewer components to the list of available components.
The components for reference, are:- MgMapViewer - This is the map viewer component
- MgLegend - This is the legend component which can control the display and visibility of layers in the map viewer. This component is optional
- MgPropertyPane - This is the component for displaying attributes of selected features on the map viewer. This component is optional
- MgDefaultToolbar - This is a component containing a common list of functions for interacting with the map viewer (zoom, pan, select, etc). This component is optional. You can roll your own map viewer toolbar, but that requires a lot of boilerplate to set up. This component is provided for convenience.
Ensure these components are ticked and click OK to add these components to the Visual Studio Toolbox.
3. Create a new WinForms project
NOTE: The mg-desktop map viewer is a WinForms component. You can technically use this component in a WPF application using the WPF-WinForms interop libraries, but that is beyond the scope of this tutorial.
Now we create our WinForms application. Select File - New Project and select the Windows Forms Application template.
4. Build our main form
If you look at the Visual Studio Toolbox, your components should now be visible whenever the WinForms designer is active
Drag and drop the MgDefaultToolbar component into the main form
Now drag and drop a StatusStrip component into the main form.
Add 4 labels to this status strip. These labels will be used to show the following:- The current mouse coordinates
- Any status messages sent by the viewer
- The current scale
- The size of the map
Now add a SplitContainer to the main part of the form
Add a second SplitContainer to the left side of this form with horizontal orientation
Now we can drag and drop the remaining components. Set all components to Dock = Fill to occupy the full space of its container- Drag and Drop the MgLegend to the top-left panel
- Drag and Drop the MgPropertyPane to the bottom-left panel
- Finally, drag and drop the MgMapViewer to the main panel
Modify the properties of the lblMessage label as such:- Spring = true
- TextAlign = MiddleLeft
Now we need to write some code.
5. Wire-up the viewer components
Now switch to the code view for Form1. Start by adding importing the OSGeo.MapGuide.Viewer namespace1: using OSGeo.MapGuide.Viewer;
To show map viewer status messages, we need this form to implement the IMapStatusBar interface. This adds the following methods to our form1: public void SetCursorPositionMessage(string message)
2: {3:
4: }
5:
6: public void SetFeatureSelectedMessage(string message)
7: {8:
9: }
10:
11: public void SetMapScaleMessage(string message)
12: {13:
14: }
15:
16: public void SetMapSizeMessage(string message)
17: {18:
19: }
These methods should be self explanatory. Simply connect the message parameter to its respective label1: public void SetCursorPositionMessage(string message)
2: {3: lblCoordinates.Text = message;
4: }
5:
6: public void SetFeatureSelectedMessage(string message)
7: {8: lblMessage.Text = message;
9: }
10:
11: public void SetMapScaleMessage(string message)
12: {13: lblScale.Text = message;
14: }
15:
16: public void SetMapSizeMessage(string message)
17: {18: lblSize.Text = message;
19: }
Now how do we tie all of these components (viewer, toolbar, legend, property pane) together? We use a MapViewerController to do this. Override the OnLoad method like so:1: protected override void OnLoad(EventArgs e)
2: {3: new MapViewerController(mgMapViewer1, //The MgMapViewer
4: mgLegend1, //The MgLegend
5: this, //The IMapStatusBar
6: mgPropertyPane1, //The MgPropertyPane
7: mgDefaultToolbar1); //The MgDefaultToolbar
8: }
That one line (5 if you want to be pedantic), magically ties all our viewer components together. The MapViewerController basically handles all the plumbing so that your viewer components will properly communicate with each other. Some examples, include:- Selecting an object in the MgMapViewer will populate the MgPropertyPane with attributes of the selected feature
- Ticking a layer on/off in the MgLegend will trigger a refresh of the MgMapViewer
Now we have a viewer that's all set up, now to load some data into it.
6. Code - Initialization
Before we show you how to do this, let's take a segway for a moment. Because we need to cover an important aspect of the mg-desktop API.
Like the official API, the mg-desktop API is driven by service classes. In mg-desktop, the following services are provided:- MgdResourceService (inherits from MgResourceService)
- MgdFeatureService (inherits from MgFeatureService)
- MgRenderingService
- MgDrawingService
- MgTileService
1: MgServiceFactory factory = new MgServiceFactory();
2: MgdFeatureService featureService = (MgdFeatureService)factory.CreateService(MgServiceType.FeatureService);
Other service classes are created in a similar fashion. You would then use these service classes in the same fashion as you would with the official API.
Also like the official API, we need to initialize the whole thing through a config file first before we can use any of the classes in the API. In our case, the file is Platform.ini, and we initialize like so:1: MgPlatform.Initialize("Platform.ini");
With that out of the way, we can start writing some code. First we need to add some references to the project. Add the following references from your mg-desktop directory- OSGeo.MapGuide.Foundation.dll
- OSGeo.MapGuide.Geometry.dll
- OSGeo.MapGuide.PlatformBase.dll
- OSGeo.MapGuide.Desktop.dll
- OSGeo.MapGuide.Viewer.Desktop.dll
Now in our application's entry point, insert our call to initialize the API. Also hook the application's exit event to MgPlatform.Terminate(), which does some library cleanup. Program.cs should look like this1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Windows.Forms;
5: using OSGeo.MapGuide;
6:
7: namespace MgDesktopSample
8: {9: static class Program
10: {11: /// <summary>
12: /// The main entry point for the application.
13: /// </summary>
14: [STAThread]
15: static void Main()
16: {17: MgPlatform.Initialize("Platform.ini");18: Application.ApplicationExit += new EventHandler(OnApplicationExit);
19: Application.EnableVisualStyles();
20: Application.SetCompatibleTextRenderingDefault(false);
21: Application.Run(new Form1());
22: }
23:
24: static void OnApplicationExit(object sender, EventArgs e)
25: {26: MgPlatform.Terminate();
27: }
28: }
29: }
7. Code - Load a package and map
Now back in our main form, we modify the overridden OnLoad to do the following:- Check the existence of the map we want to load - Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition
- If it doesn't exist, prompt the user for the Sheboygan.mgp package and load this package
1: MgServiceFactory factory = new MgServiceFactory();
2: MgdResourceService resSvc = (MgdResourceService)factory.CreateService(MgServiceType.ResourceService);
3: MgResourceIdentifier mapDefId = new MgResourceIdentifier("Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition");4: //If this map definition doesn't exist, we ask the user to
5: //load the Sheboygan package
6: if (!resSvc.ResourceExists(mapDefId))
7: {8: using (OpenFileDialog diag = new OpenFileDialog())
9: {10: diag.Filter = "MapGuide Packages (*.mgp)|*.mgp";
11: if (diag.ShowDialog() == DialogResult.OK)
12: {13: MgByteSource source = new MgByteSource(diag.FileName);
14: MgByteReader reader = source.GetReader();
15: resSvc.ApplyResourcePackage(reader);
16: }
17: else
18: {19: //No map, nothing to do here
20: Application.Exit();
21: }
22: }
23: }
At this point, the map definition exists. So we can create a runtime map and load it into the viewer like so:1: //Create our runtime map
2: MgdMap map = new MgdMap(mapDefId);
3: //We need a rendering service instance
4: MgRenderingService renderSvc = (MgRenderingService)factory.CreateService(MgServiceType.RenderingService);
5: //Create our viewer provider
6: MgMapViewerProvider provider = new MgDesktopMapViewerProvider(map, resSvc, renderSvc);
7: //Initialize our viewer with this provider
8: mgMapViewer1.Init(provider);
The final OnLoad method for our form looks like so:1: protected override void OnLoad(EventArgs e)
2: {3: new MapViewerController(mgMapViewer1, //The MgMapViewer
4: mgLegend1, //The MgLegend
5: this, //The IMapStatusBar
6: mgPropertyPane1, //The MgPropertyPane
7: mgDefaultToolbar1); //The MgDefaultToolbar
8:
9: MgServiceFactory factory = new MgServiceFactory();
10: MgdResourceService resSvc = (MgdResourceService)factory.CreateService(MgServiceType.ResourceService);
11: MgResourceIdentifier mapDefId = new MgResourceIdentifier("Library://Samples/Sheboygan/Maps/Sheboygan.MapDefinition");12: //If this map definition doesn't exist, we ask the user to
13: //load the Sheboygan package
14: if (!resSvc.ResourceExists(mapDefId))
15: {16: using (OpenFileDialog diag = new OpenFileDialog())
17: {18: diag.Filter = "MapGuide Packages (*.mgp)|*.mgp";
19: if (diag.ShowDialog() == DialogResult.OK)
20: {21: MgByteSource source = new MgByteSource(diag.FileName);
22: MgByteReader reader = source.GetReader();
23: resSvc.ApplyResourcePackage(reader);
24: }
25: else
26: {27: //No map, nothing to do here
28: Application.Exit();
29: }
30: }
31: }
32:
33: //Create our runtime map
34: MgdMap map = new MgdMap(mapDefId);
35: //We need a rendering service instance
36: MgRenderingService renderSvc = (MgRenderingService)factory.CreateService(MgServiceType.RenderingService);
37: //Create our viewer provider
38: MgMapViewerProvider provider = new MgDesktopMapViewerProvider(map, resSvc, renderSvc);
39: //Initialize our viewer with this provider
40: mgMapViewer1.Init(provider);
41: }
7. Set up post-build and other loose ends
Now if you've worked with the official MapGuide .net API (and this whole post assumes you do), you know that referencing the MapGuide .net assemblies does not instantly give you a working MapGuide application. That's because those .net assemblies are managed wrappers around unmanaged dlls, so you need them as well. So for the official API, you would copy all the dlls from mapviewernet into your application's output directory so that all dependencies are met.
For mg-desktop, we pretty much do the same thing, we copy everything from our mg-desktop directory to our application's output directory. Or to automate this, include an xcopy command as part of your project's post build event. Assuming you extracted the mg-desktop binaries to C:\mg-desktop, and example post build command would be like so:
This will copy all mg-desktop files (dlls, FDO, CS-Map dictionaries, etc, etc) to your application's output directory with the source directory structure intact, which is important because the default paths in Platform.ini are all relative.
If you are on a 64-bit machine, you will also need to explicitly set the CPU type of the application to x86 instead of Any CPU. If you don't do this, you will get a BadImageFormatException thrown at your face as your executable will default to 64-bit and will attempt to load a 32-bit assembly. Actually, you should do this anyway to ensure the application works on both 32-bit and 64-bit windows.
Once this is all set up, you can compile and run your application!
Go on. Have a play around. It is now a fully functional map viewer application!
8. Custom selection handling
One of the things you would probably want to do in your application is to listen for selection changes and run code in response to such changes. The MgMapViewer component exposes a SelectionChanged event for this very purpose.
So to display the address of a selected parcel, the event handler code would look like this:1: private void mgMapViewer1_SelectionChanged(object sender, EventArgs e)
2: {3: MgSelectionBase selection = mgMapViewer1.GetSelection();
4: MgReadOnlyLayerCollection layers = selection.GetLayers();
5: if (layers != null)
6: {7: for (int i = 0; i < layers.GetCount(); i++)
8: {9: MgLayerBase layer = layers.GetItem(i);
10: if (layer.Name == "Parcels") //The selected layer is parcels
11: {12: //Check that we only have one selected object
13: int count = selection.GetSelectedFeaturesCount(layer, layer.FeatureClassName);
14: if (count == 1)
15: {16: MgFeatureReader reader = null;
17: try
18: {19: reader = selection.GetSelectedFeatures(layer, layer.FeatureClassName, false);
20: if (reader.ReadNext())
21: {22: //Address is in the RPROPAD property
23: if (reader.IsNull("RPROPAD"))24: MessageBox.Show("Selected parcel has no address");25: else
26: MessageBox.Show("Address: " + reader.GetString("RPROPAD"));27: }
28: }
29: finally //You must always close all readers, otherwise connections will leak
30: {31: reader.Close();
32: }
33: }
34: else
35: {36: MessageBox.Show("Please select only one parcel");37: }
38: break;
39: }
40: }
41: }
42: }
Which would result in this behaviour when selecting a parcel
Selecting multiple parcels gives you the following:
Wrapping up
Hopefully this should give you a comfortable introduction to mg-desktop and its viewer component. Where you go from here is completely up to you.
The source code for this example is available for download here -
4:46 Slashgeo (FOSS articles): Slashdot Discussion: Open Source vs Proprietary GIS Solution?
sur Planet OSGeoOk, I'm almost back behind the helm and I expect it's going to take me at least a week to catch up the geonews, but you'll get them.
During my absence last week, Slashdot ran a discussion named Ask Slashdot: Open Source vs Proprietary GIS Solution?
Their summary: "As the Project Manager for a non-profit looking to implement a tech project, I am running into a few dilemmas, and as a casual Slashdotter I could really use some help. I'll start with a brief explanation of the project. We research issues in Canadian Immigrants, and found that there was a lack of recent, unaggregated information. As we dug further, we found that some data was available, but there was no central repository. Therefore, we are building a web based service to collect this data, with the intent of having it display in Google Maps and then be downloadable as a CSV file that is readable in GIS software such as ESRI Arcsoft, so that data may be visualized."
Like a lot of Slashdot discussions, the value is in the moderated comments.
Google Plus One
-
14:39 Maning Sambale: Helium high
sur Planet OSGeoToday, we had a balloon mapping experiment. For a very brief airtime, we got some really impressive images. Selecting and stitching the images took more time. But, the initial result gave as a much better imagery than what is publicly available. The crew had a great time. No tangles, no balloon burst and no gear [...]
-
1:22 Nathan Woodrow: QGIS support for MS SQL Server 2008 – Coming Soon!
sur Planet OSGeoGood news!Support for MS SQL Server 2008 in QGIS is coming soon. A native QGIS provider for MS SQL Server is currently being worked on to make using, managing, and editing SQL Server data in QGIS just as easy as PostGIS.
The work is being sponsored by the Australian company Digital Mapping Solutions. So a very big thanks to them for this great feature!
There is no ETA on when it will be added to the main QGIS build, but the provider is currently in testing stage and hopefully will be in there soon.
So if you have been itching to try SQL Server data in QGIS, hang in there as a good solution is just around the corner.
P.S The other blog posts on this topic I used ogr, this method will still work fine after the native provider is added, however the native driver will add a nicer interface including integration into the QBrowser, better optimization for the QGIS code, and hopefully same feel as the PostGIS experience.
Filed under: Open Source, qgis Tagged: digital mapping solutions, FOSSGIS, gis, ms sql server, MS SQL Server 2008, MS SQL Spatial, ogr, Open Source, qgis, Quantum GIS
-
21:06 Free and Open Source GIS Ramblings: A Guide to Beautiful Reliefs in QGIS
sur Planet OSGeoThis week Sourcepole released a new addition to the Raster Terrain Analysis plugin: a sophisticated Relief tool. (More info in their announcement) This plugin is shipped with QGIS (developer version, not in 1.7.3 release) by default but you might have to activate it in Plugin Manager:
The plugin dialog is quite self-explanatory. You can chose the elevation file, output path and any of the numerous raster formats. The z factor is a bit more mysterious. We will have a look at that in a second. The rest of the dialog is the relief color editor. Pressing Create automatically will give you a color gradient to start with.

Relief tool dialog
But what’s the z factor good for?
I’ve tried a few different settings using free NASA SRTM data and it seems that higher values lead to a smoother relief (Please ignore the water areas):
Update:
As Marco noted in the comments: The z factor is used if the x/y units are different from the z unit.
- If everything is in meters, use z factor 1.0 (default).
- If x/y is in degree and z in meters, use z factor 111120.
- If x/y degree and z is feet, use z factor 370400.
In the example above SRTM rasters are in WGS84 with heights in meters. That’s why the result using a z factor of 100000 looks so good.
In my opinion the results look great even with the coarse SRTM dataset I used. Looking forward to all the great QGIS maps we will see in the future.
-
18:53 Jackie Ng: mg-desktop has moved
sur Planet OSGeoWith the implementation of MapGuide RFC117, I have finally migrated the source code for mg-desktop from its current home at Google Code to the official MapGuide Subversion repository
This migration allows for the mg-desktop codebase to better integrate with the MapGuide source that it builds on top of, and allows mg-desktop to receive upstream component fixes and updates much faster and allows for sharing of component dlls with future releases of MapGuide.
Also with everything together in one place, I can finally tackle some of the more interesting things like 64-bit and Linux builds and support for the VS2010 compiler.
The existing Google Code site will remain for archival purposes, but all mg-desktop development will now take place on the official MapGuide repo.
Since we're on the subject of mg-desktop, I might as well show you a visual changelog of the changes and features added to mg-desktop since I first announced it. Most of these changes I am showing in this post are centered on the map viewer component (otherwise there wouldn't be much to show :-)). So without much further ado:
1. Tooltip queries can slow down map interaction, so the default viewer toolbar now includes a command allowing you to toggle display of feature tooltips.
2. The viewer supports customizable selection color
3. To facilitate rapid development, the viewer component works with the Visual Studio designer infrastructure. Viewer properties and behaviour can be modified like you would any other form or control. The OSGeo.MapGuide.Viewer.dll must be registered with the Visual Studio Toolbox to support this workflow.
4. The default viewer toolbar has more useful commands such as:- Copying the current view of the map to the clipboard (as an image)
- Selecting by radius and polygon
5. The legend control now functions like the one in the AJAX or Fusion viewer. Supporting display of themes, and having the ability to apply theme compression (because it too has problems with processing ridiculously large themes)
6. Layer and Group items in the legend control can have context menus attached to them
7. Like the AJAX and Fusion viewers, the property pane supports scrolling through the results of a selection set and zooming into individual results
At this point we have something approaching 90% of the functionality of the AJAX and Fusion viewers. The missing 10% are apparent once you see it:- No support for tiled maps. The viewer control has a property that allows tiled maps to be treated as regular groups of dynamic layers as a workaround. The math to calculate what tiles to fetch escapes me right now.
- No mouse wheel zoom. The math to do this also escapes me right now.
-
17:49 Jo Cook: Personal musings on the authority of OpenStreetMap
sur Planet OSGeoThere has been a lot of fairly excitable posting recently about the continuing rise of OpenStreetMap, and how it’s now being used in place of Google Maps, in particular since Google started charging for data. People have been talking about how “authoritative” crowd-sourced spatial data can be, and to be honest, I’ve found that the discussions seem to have missed the point a little bit. For me at least. So- here’s a few of my personal thoughts about OpenStreetMap and why it will be a while before I will consider it authoritative at least.
Firstly, a caveat. I love OpenStreetMap data and the whole ecosystem of “stuff” that has evolved around it. I contribute occasionally, though not as often as I’d like to. I’m pleased that it has forced the “traditional” data providers to reconsider what they offer, and perhaps to raise their game. I think it’s one of the main reasons why the idea of “open data” is so well known that even my Gran knows about it.
However, in the process of trying out WalkingPapers (my favourite addition to the OpenStreetMap ecosphere), I printed out the area around my house- in the centre of Lancaster. Not London, I admit, but still in the centre of a city. My road wasn’t on there. Read on, before you give up in disgust, saying “pah, you should just correct any errors you find”. How did I know my road was missing? There wasn’t an unfinished stub, with a note saying “I went home for my tea and I’ll finish this section tomorrow”, it was as if my road did not exist. I only knew my road was missing because I live there, and I have no readily available tools to help me judge the accuracy of an area that I am not familiar with. So, the idea that the end-user should correct any errors they find doesn’t really hold because you’re not always going to know that there’s an error!
I am aware that the traditional data providers do not produce totally error-free data. However, I would expect Ordnance Survey (for example) to have a workflow for their surveyors that doesn’t allow them to simply give up when they get bored or have to go home for their tea, or perhaps not survey a street because they don’t go down it very often. I can also go to the site and find published information on positional accuracy if I need it. I guess I’m equating “authority” with trust, or reliability, and the issue is less about what’s there, than what’s not there.
When OpenStreetMap is being used as a static base map, by which I mean a backdrop to the information your map is really about, this is less of an issue. But, if like me, you come from a discipline where maps are collections of data to be manipulated and analysed, then you need to be able to trust your data a little more, or at least have a quantitative understanding of what the error is likely to be.
I know that this is not an easy question to answer, and I know people are trying to figure out ways of answering it. I also know it’s not that important for a lot of people, but I would like to see a more nuanced debate- I think that would be better for OpenStreetMap in the end.
-
17:47 Jackie Ng: Some useful tools for debugging your MapGuide Applications
sur Planet OSGeoA common problem with MapGuide development is trying to dig into the state of the runtime map, especially when trying to figure out why the new layer you've added to your runtime map is not showing. Here's some useful tools to help you peek into the runtime map.
1. mapinfo.aspx
Get the script here (you will also need the supporting viewresourcecontent.aspx script as well)
This was a script I wrote while porting over the MapGuide Developer's Guide samples to .net (which will be bundled with the next MapGuide Open Source release in *all* languages, instead of just PHP) to help me debug a mysterious bug where newly added layers are shown on the map, but not in the viewer legend. The script accepts two URL parameters:- MAPNAME - The name of the runtime map
- SESSION - The current session id
You'll notice that the resource ids are hyperlinked. These links call into viewresourcecontent.aspx, which basically shows you the resource content of the hyperlinked resource id.
To set this up, drop mapinfo.aspx and viewresourcecontent.aspx into a directory of your choice. Set this directory up as an application in IIS, then create a bin directory and drop in the MapGuide dlls from your mapviewernet directory.
Then to invoke this script, enter [http:] url-to-your-directory/mapinfo.aspx?MAPNAME=theMapName&SESSION=your-mapguide-session-id
Because this script takes a MAPNAME and a SESSION parameter. It can automatically be used as an Invoke URL command in your Web Layout. Just create an Invoke URL command that points to mapinfo.aspx, attach it to a toolbar or menu and it is ready to be used in your Web Layout for instant debugging!
2. Runtime Map Inspector
Coming in the next release of Maestro, is a Runtime Map Inspector tool which fulfils the same purpose as mapinfo.aspx. Invoking the tool will bring up the familiar Maestro login (which you are advised to use the Administrator login as that can peek into any user's session repository). Once logged in, a new window will appear where you can fill in the required Map Name and Session ID and then click the Load Map button to bring up the runtime map.
The Runtime Map Inspector will be available in the next release under Tools - Runtime Map Inspector, or by running the RtMapInspector.exe
Hopefully, these new tools will make your MapGuide development experience that much more simpler (if it isn't already!) -
16:30 OpenGeo Blog: GeoExt Code Sprint – Spring 2012
sur Planet OSGeoOpenGeo is always eager to help advance open source geospatial software projects. When Andreas Hocevar told us that the GeoExt community was planning a code sprint for GeoExt 2.0 we were happy to get involved. The sprint is still in the planning stages and, unfortunately, not fully funded. Though many have contributed, we’re hoping others will join us in sponsoring this event.
GeoEXT and ExtJS 4 GeoExt enables building desktop-like GIS applications through the web. It is a Javascript framework that combines the GIS functionality of OpenLayers with the user interface of the ExtJS library provided by Sencha. GeoExt currently works with ExtJS 3 but that does not utilize the new features in ExtJS 4 (charting, harmonized API with Sencha Touch for mobile applications, and others). The upcoming code sprint will target developing GeoExt 2.0 to work with ExtJS 4 in order to leverage the newest features.
Participants
Representatives from the following companies have confirmed attendance and sponsorship:These organizations have provided core developers for GeoExt 1.x and have experience as service providers building applications with ExtJS 4. We’re excited to work with them again as we help develop GeoExt 2.0
Sponsor search
A week-long gathering of eight developers calls for a budget of $52,000. This covers travel, accommodations and partly the developers themselves. While much of this cost is being borne by the participating organizations we have not been able to close the gap.We are looking for sponsors to help. Sponsors will be named explicitly and are encouraged to input their priorities for desired functionality in GeoExt 2.0.
Call for sponsorship
The participating organizations would like to invite all organizations and users utilizing GeoExt to sponsor the code sprint. Becoming a sponsor ensures the benefits from the new functions that will be implemented.If you have questions or interest in sponsoring the code sprint please contact us at inquiry@opengeo.org
-
4:50 Jude Mwenda: A Perspective on East Africa’s Developer Remuneration-(Kenya)
sur Planet OSGeoIt been ages! I know and I am sorry. Things got buffallo and thick. Reminds me of Dj Watene of Strathmore school. Well this has been a pending post until we had this conversation with one @g33kmate. Now my sample space consisted of people who filled in a questionnaire(ex campus mates). If you did not … -
17:10 Spatialytics.COM: Spatialytics welcomes Fred Berger as Director, Sales & Channel Management
sur Planet OSGeoQuebec, Canada, January 17, 2012 – Spatialytics, a software company in Spatial Data Integration (ETL) and GeoBI, is pleased to welcome Frederic Berger in his team as Director of Sales and Channel Management . Mr. Berger has nearly twenty years of experience in the commercialization of software solutions for the enterprise and the public sector. Mr. Berger spent specifically six years in supporting various organizations in the adoption of Enterprise Geospatial Solutions (Spatial DBMS and Web mapping) to complement and upgrade their technology infrastructure (CRM, ERP, remote monitoring, geo-marketing, call center. ..). The Spatialytics offering is unique in its ability to enhance Geospatial systems by integrating powerful BI concepts like analytics (OLAP multidimensional query language MDX) and visualization through the use of dashboards and reports. Conversely, Spatialytics GeoBI incorporates in conventional BI the ubiquitous relationship between the data and geography (address, city, address …), allowing spatial analysis and visualization of data through thematic mapping. -
15:58 Tim Sutton: OpenLayers: failure of map redraw on panning
sur Planet OSGeoJust a quick heads up for those of you using OpenLayers. There seem to have been a lot of problems lately with OpenLayers refusing to redraw its layers when panning, where everything was working before. One possible solution turned up in this thread on OpenLayers Users. The credit for solving the problem is therefore not [...] -
23:39 Tyler Mitchell: Onto Actian, Ingres db and a New Book
sur Planet OSGeoA few people were wondering what I've been up to since I stopped working for OSGeo back in November. There are two big things going on that I'm excited about.
First, I just hit the one month mark in my new position with Actian (formerly known as Ingres). Some of you will have remembered the work Andrew Ross kicked off a few years ago, adding new geospatial smarts to the existing Ingres db. I'm taking over from where he left off, but what is already there is substantial. We have OGC SFSQL support in there as well as several data access libraries able to interact with the database (OGR, Geotools so far). We're working on other features and 3rd party toolsets so our clients can access their spatial data using a wide range of both proprietary and open source solutions. Already an Ingres db user? I'd love to hear from you about what geo needs you may have. The upside to the Ingres db is the availability of long term and 24/7 support, as well as being open source and built with familiar geo toolkits like Proj.4 and GEOS. More to come as I find my feet ...
Second, and on an entirely different note, you may have noticed that my Locate Press venture is going to have its first book for sale shortly. Gary Sherman's updated The Geospatial Desktop (formerly known as Desktop GIS) is coming out of the chute following a review of our first proofs. Sign up on the form at [locatepress.com] to be the first to hear when it is available. Visit Gary's book site for more information as well: [geospatialdesktop.com] . We have a few other books in the works as well, including a workshop training guide on Web GIS and more.
All-in-all, a great way to start a new year! I'm looking forward to finding new and interesting ways to continue working with the range of open sourcerers friends that I've enjoyed working with over the past decade.
See you soon!
-
21:36 Sourcepole: Shaded relief maps with QGIS
sur Planet OSGeoCreating a shaded relief map from digital elevation data is a nice way to create a backround map for web mapping or other GIS work. Thanks to the know-how and the funding from the Swiss Humanitarian Aid Unit, QGIS now has a sophisticated function for relief map generation. The method is described in detail in an paper by Marc-André Bünzli. An important part of the method is the choice of the elevation colors. The QGIS plugin has the possibility to analyse the frequency distribution of the elevation values in the DEM and to propose color changes where significant changes in the histogram occure. It is of course also possible to modify the color scheme, to insert a completely different one in the dialog or to generat a shaded maps without color.
As illustrated below, the relief map is composed by three components modulated onto the final map to give it a more three-dimensional appearance. These intermediate steps are shown here to get a better understanding of the method. In QGIS, the user directly gets the combination as a result.
- The first component consists of a hillshade from north-west (300 degree) and an elevation color
- The second component is a hillshade and a gray value depending on the slope angle (darker is steeper). The hillshade angle of this second component differs to the first component by 15% to have better contrast in faces towards the light source. The second component is merged to the relief map with 30% weight.
- The third component consists of a hillshade from 270 degree and a yellow color in cells facing towards the light source. It is merged to the relief map with 10% weight
And the final relief map looks like this:
-
8:53 Sourcepole: Shaded relief maps with QGIS
sur Planet OSGeoCreating a shaded relief map from digital elevation data is a nice way to create a backround map for web mapping or other GIS work. Thanks to the know-how and the funding from the Swiss Humanitarian Aid Unit, QGIS now has a sophisticated function for relief map generation. The method is described in detail in an paper by Marc-André Bünzli. An important part of the method is the choice of the elevation colors. The QGIS plugin has the possibility to analyse the frequency distribution of the elevation values in the DEM and to propose color changes where significant changes in the histogram occure. It is of course also possible to modify the color scheme, to insert a completely different one in the dialog or to generat a shaded maps without color.
As illustrated below, the relief map is composed by three components modulated onto the final map to give it a more three-dimensional appearance. These intermediate steps are shown here to get a better understanding of the method. In QGIS, the user directly gets the combination as a result.
- The first component consists of a hillshade from north-west (300 degree) and an elevation color
- The second component is a hillshade and a gray value depending on the slope angle (darker is steeper). The hillshade angle of this second component differs to the first component by 15% to have better contrast in faces towards the light source. The second component is merged to the relief map with 30% weight.
- The third component consists of a hillshade from 270 degree and a yellow color in cells facing towards the light source. It is merged to the relief map with 10% weight
And the final relief map looks like this:
-
19:52 Equipo GeoTux: Mapa de predicción Geoestadística usando R
sur Planet OSGeoA continuación se muestra el ejemplo de la construcción de un mapa de predicción usando técnicas geoestadísticas, para el caso de la precipitación total durante el año 1986 en 133 estaciones pluviométricas del departamento de Cundinamarca. La implementación se llevo a cabo en el software R.
El documento .pdf que contiene la guía, así como los datos y funciones en R necesarias para replicar el ejemplo se encuentran en la dirección:
Quedo atento a cualquier duda, inquietud o sugerencia al respecto.

Read more... -
18:28 Gary Sherman: QGIS Plugin of the Week: OpenLayers
sur Planet OSGeoThis week we look at the OpenLayers plugin for QGIS. This plugin allows you to add a number of image services to your map canvas:
- Physical
- Streets
- Hybrid
- Satellite
- OpenStreetMap
- Yahoo
- Street
- Hybrid
- Satellite
- Bing
- Road
- Aerial
- Aerial with labels
The OpenLayers plugin is installed like all other Python plugins. From the the Plugins menu in QGIS, choose Fetch Python Plugins. This brings up the plugin installer. To find the plugin, enter openlayers in the Filter box, then select OpenLayers Plugin from the list. Once it’s highlighted, click the Install plugin button. This will download the plugin from the repository, install it, and load it into QGIS.
Using the PluginThe OpenLayers Plugin uses your view extent to fetch the data from the service you choose. For this reason you should load at least one of your own layers first. Since each of the services are expecting a request in latitude/longitude your layer either has to be geographic or you must enable on the fly projection.
To add one of the services you have two choices; you can pick the service from the Plugins->OpenLayers plugin menu or you can use the OpenLayers Overview. The Overview opens a new panel that allows you to choose a service from a drop-down list. Click the Enable map checkbox to enable the drop-down list and preview the service you want to add. If you are happy with what you see, you can add it to the map by clicking the Add map button.
In the screenshot below we have enabled the Overview panel, added the world boundaries layer1, zoomed to an area of interest, and added the Google terrain (physical) data:
You can add as many services as you want, previewing them using the OpenLayers Overview panel.
1 You can get the world boundaries layer from the Geospatial Desktop sample data set.
-
23:00 MapProxy: New MapProxy 1.3.0 release
sur Planet OSGeoWe are ready to announce the release of MapProxy 1.3.0. It contains major and minor improvements.
The latest release is available at: [pypi.python.org]
To upgrade within you virtualenv:
$ pip install --upgrade --no-deps MapProxyUpdated documentation is available at: [mapproxy.org]
New featuresSome noteworthy improvements since 1.2.0 are:
RESTful WMTSThe MapProxy WMTS now also supports the RESTful API. This service also supports custom URL templates for your service.
See WMTS configuration.
CouchDB cache backendYou can now use a CouchDB as a backend for tile caches. Each cache gets stored into a separate database and you can configure the layout of the URLs of each tile. You can also add additional metadata for each tile.
mapproxy-util serve-multiapp-developtoolThe new command is similar to
serve-developbut it starts a MultiMapProxy instance.See mapproxy-util documentation.
Other featuresYou can limit the maximum WMS response size in pixels with max_output_pixels.
You can configure additional SRS for which MapProxy should add bounding boxes to the WMS capabilities with the new wms.bbox_srs option.
For a complete list of changes see: [bitbucket.org]
-
21:33 GIS-Lab: ZonalStats для QGIS
sur Planet OSGeoВ NextGIS разработано новое расширение для QGIS, предназначенное для расчета зональной статистики по растру, полученному в результате тематической классификации в DTclassifier.
В отличие от имеющегося в QGIS инструмента, наш модуль:
- не модифицирует исходный вектор
- умеет группировать зоны по некоторому признаку
- сохраняет результат в файл CSV
- создает простой отчет в формате HTML
Основная задача модуля — упростить подсчет площадей, соответствующих какому-либо признаку.
В рамках сотрудничества NextGIS и GIS-Lab, само расширение доступно для скачивания через ГИС-Лаб, так же присутствует статья-описание работы с расширением.
Отзывы и багрепорты можно оставлять в специальной теме на форуме.
Создание открытого ПО ГИС и реализация проектов -
15:48 Prodevelop: Experimental SQLite/Spatialite layer in gvSIG Mobile
sur Planet OSGeoXerial is a SQLite JDBC driver developed by Taro L. Saito. It includes the necessary native libraries to access SQLite databases from a Java application and it also provides a slower pure-Java version of it which extends the number of platforms where this can be used.
I have implemented an experimental vector driver in gvSIG Mobile 0.3 to read/write Spatialite-compatible SQLite databases. Xerial is not aware of the Spatialite requirements, but it's very easy to create the right tables and fields so that other applications can recognize the resulting SQLite file as a Spatialite DB.
This short video shows the result. The steps shown are:
- Open a shapefile in gvSIG Mobile.
- Export the layer to SQLite.
- Open the resulting SQLite DB as a new layer.
- Add a polygon to the layer and save it.
- Use ogr2ogr to export the resulting SQLite DB to SHP. This proves that everything was OK and our file is recognized as a Spatialite DB.
- Open the new shapefile in gvSIG Mobile to see the changes again.













