SpatialGalaxy Planet - Open Source Welcome Here

March 11, 2010

SlashgeoMapGuide Maestro 2.0 Released

It's been almost a year since we last mentioned Maestro, and yesterday was announced the release of MapGuide Maestro 2.0. Reminder: " MapGuide Maestro is an Open Source (LGPL) map authoring tool for MapGuide Open Source." The first link above offers a list and screenshots of the top 10 features of MapGuide Maestro 2.0: 1. Theming, with ColorBrewer Suport 2. Expression Editor 3. Resource Validation 4. Improved XML Editor 5. Profiling 6. Package Management 7. Custom Resource Templates 8. Duplicate Resource 9. Colour-Coded Resource Tree 10. General Usability. See also related stories below.

Read more of this story at Slashgeo.

SlashgeoNEST 3C Released

phyr writes "The latest release of NEST (Next ESA SAR Toolbox) 3C-1.01 is now available for free at http://earth.esa.int/nest. NEST is an ESA toolbox with an integrated viewer for reading, post-processing and analysing ESA and 3rd party SAR data starting from Level 1. NEST is developed by Array Systems Computing Inc. under contract to ESA. NEST 3C adds the following features:
  • Improved ROIs and Bitmasks
  • Geometry Import and Export
  • Radarsat 1 Reader
  • TerraSARX SSC Reader
  • Cosmo-Skymed Reader
  • ASAR WSS Debursting and Mosaicing
  • Layover and Shadow Bitmasks
  • Filling Holes in DEM
  • Basic C-Band Wind Field Estimation
  • New Geotools Reprojection
  • Multi-core Support
  • Bug fixes and performance enhancements
" We mentioned the open source NEST project before, see related stories below.

Read more of this story at Slashgeo.

SlashgeoAnnouncing the WMS Inspector Project

From the OSGeo-Discuss list, I learned about the announcement of the WMS Inspector project. From the announcement: "This is a post to announce the first public release of WMS Inspector, an open source Firefox add-on with tools for working with Web Map Services (WMS). It can be specially useful when working with Javascript mapping libraries like OpenLayers or MapBender or setting up WMS services. Main features include: * Load all WMS requests in the current page and their parameters * Requests sorting by service or type * Individual WMS requests (images or errors) visualization * Copy services, requests or parameters to the clipboard * Direct edition of request parameters values * Output GetCapabilities response as an HTML report or original file The WMS Inspector can be downloaded from the official Mozilla repository. For more information, please visit http://wiki.github.com/amercader/WMS-Inspector/ "

Read more of this story at Slashgeo.

SlashgeoYQL Javascript Geo Library

Found via Ajaxian : "I give you the YQL Geo library (and its source on GitHub). Using this library you can do the following:"
  • Detecting the visitor's location with the W3C geo API and with IP as a fallback
  • Find geo location from text
  • Find location from lat/lon pair
  • Find locations in a certain web document (by URL)
  • Get the location for a certain IP number

Read more of this story at Slashgeo.

SlashgeoDigitizing and Geocoding Old Maps?

Slashdot discusses a story named Digitizing and Geocoding Old Maps? Their summary: "I have quite a few old maps (several hundreds; 100+ years old, some are already damaged – so time is not on my side). What I want to do is to digitize them and to apply geo-coordinates to them so I can use them as overlays for openstreetmap data or such. Obviously I cannot put those maps onto my €80 scanner and go. Some of them are really large (1.5m x 1.5m roughly, I believe) and they need to be treated with great care because the paper is partly damaged. So firstly I need a method or service provider that can do the digitizing without damaging them. Secondly I need a hint what the best method is to apply geo coordinates to those maps then. The maps are old and landscape and places have changed, it maybe difficult to identify exact spots. So: are there any experiences or tips I could use?" See also the replies on the site.

Read more of this story at Slashgeo.

March 10, 2010

Clever ElephantWhere 2.0 Drinking Game

It's that time of year again, and I'll be sitting in the audience with my flask (I hope you will too!) playing the Where 2.0 drinking game. Here's some of my phrases, what are yours?
  • ... find a Starbucks...
  • ... we're releasing an API ...
  • ... friends list ...
Also, take a big slug if someone talks about working with geospatial data more complex than a lat/lon point!
 

SlashgeoArcGIS Explorer Build 1200 Now Available

Just saw over on the GeoGeek New Zealand blog that a new version of ArcGIS Explorer is available. It comes packed with a lot of features and updates including updated basemap gallery, new analysis tools, enhanced symbol management navigation methods, and may more. Visit the blog for the full details and screenshots.

Read more of this story at Slashgeo.

Mateusz LoskotBoost.Geometry and macros made by Apple

Boost Geometry (aka Generic Geometry Library, GGL)I have no pleasure continuing my macros are evil tales but the life of C++ programmer eagerly wants to writes add another chapter to the story. Today, it’s time to rant on Apple and its XCode.

One of Boost Geometry (aka GGL) users, Mark, reported that he can not compile his program using the library with GNU C++ compiler from XCode. The compiler throws mysterious complain of a very low-level nature of C++ programming language:

Expected unqualified-id before 'do' in
/usr/local/include/boost_1_42_0/boost/geometry/geometries/concepts/check.hpp

Thanks to follow-up by Stjepan we quickly know who to blame for that. It is XCode header AssertMacros.h. It even might be one of public headers from development package of XNU, the Mac OS X kernel, what’s even more fun.

What actually happens that causes the problem?

Boost Geometry defines function template for concept checking:

template <typename Geometry>
inline void check()
{
    detail::checker<Geometry, boost::is_const<Geometry>::type::value> c;
    boost::ignore_unused_variable_warning(c);
}

Apple XCode defines macro using exactly the same name as the function check. The C++ preprocessor, which operates before compiler, substitutes the name check with content of the macro. For the Boost Geometry function check it means that a pile of garbage is injected in place were the function name is expected:

template <typename Geometry>
inline void do { if ( __builtin_expect(!(), 0) ) { DebugAssert('?*?*',
0, "Third Party Client" ": " "", 0, 0, "/usr/local/include/boost/
geometry/geometries/concepts/check.hpp", 181, (void*)0); } } while ( 0 )
{
     detail::checker::type::value> c;
     boost::ignore_unused_variable_warning(c);
}

Obviously, it makes compiler to give up to instantiate the check function from the template and to compile it properly.

C/C++ macros are evil, however, not by design but by insanity of programmers. Every macro defined in a public C/C++ header, should be defined using as unique as possible, but still usable name. I wish Apple folks designed their C/C++ macros as unique as they make their hardware products, even if made in China eventually. This particular macro that caused the problems discussed here, could be named to APPLE_XNU_CHECK and life would be easier. Or, given the fact that almost 3000 files using these identifiers live in Boost C++ Libraries only, I probably should say: life would be more productive, efficient and cheaper.

By the way, it’s a known problem @ Boost and it looks Boost Folks are trying to figure out best solution. See ticket #2115 – Avoid bad Apple macros.

…to be continued

March 09, 2010

SlashgeoIntroducing the new Google Geocoding Web Service

After yesterday's review of open source geocoders, Google just announced the introduction of the new Google Geocoding Web Service. Improvements, from the announcement: "* A flatter response format for address components that is easier to parse. * The ability to tag an address component with multiple types. * Both full names and abbreviations for countries and states. * Differentiation between rooftop and interpolated geocoder results. * Both the bounding box and recommended viewport for each result. [...] The Geocoding Web Service is intended to enable precaching of geocoder results that you know your application will need in future. For example, if your application displays property listings, you can geocode the address of each property, cache the results on your server, and serve these locations to your API application. This ensures that your application does not need to geocode the address of a property every time it is viewed by a user." See also related stories below.

Read more of this story at Slashgeo.

March 08, 2010

SlashgeoGeoTools 2.6.2 Released

GeoTools 2.6.2 has been released. From the announcement: "This release is mostly intended to provide a number of important bug-fixes, but there are also some new features and improvements for your programming pleasure including: * The rendering system now has the ability to draw polygon fills and SVGs as vectors and draw marks with arbitrary sizes. * GeoTools applications can now use the H2 database with a spatial index provided by Hatbox. * Support added for polyconic projections." See also previous stories below.

Read more of this story at Slashgeo.

SlashgeoReview of Open Source Geocoders

The linear thiking blog offers a short review of open source geocoders. From the entry: "All of the engines implement parsing and matching logic purely in code. None of them provide a declarative description language to allow easy modification of parsing, standardization, and matching rules. [...] In all the projects the parser design appears to be fairly ad-hoc and poorly documented. This situation doesn't inspire confidence that it would be possible to modify the parser to support a different address model, or to handle particular kinds of input errors." See also previous stories below.

Read more of this story at Slashgeo.

Dylan's BlogInfoChimps

March 06, 2010

Mateusz LoskotKudos to RMS and Torvalds

I have just given ohloh.net kudos to Richard Stallman and Linus Torvalds.

Hehe, and I didn’t do it because I expect to be given back with a kudo from RMS or Torvalds. I did it because I appreciated the bloody good software development works they do: my favourite C/C++ compiler from GCC, one of my favourite text editors GNU Emacs and my favourite operating system – Unix for Masses and my favourite version control system Git.

Mateusz Loskotgit info script

As a long time user of Subversion, I’ve got used to use of svn info command. Since I started drifting to Git system, I’ve missed this command pretty much until I found git-info script crafted by Duane Johnson

Kudos to Duane! And, I suggest any SVN user who reincarnated as Git user to grab and try it.

March 05, 2010

SlashgeoFriday Geonews: a Murder in Google Earth?, OpenStreetMap in Bing Maps, ESRI New Basemap, and more

Here's your weekly dose of geonews in batch mode.

On the Google front, you can now refine Google searches by location, with the "Nearby" tool in the Search Options panel. Google also announced the winners of their StreetView trike contest. There's also Athens in 3D. If you wonder how crazy it can get, here's an entry named solving a murder with Google Earth. There's also new imagery in Google Earth, including Chile. Here's an entry on heat maps with Google Fusion Tables.

On the Microsoft's front, here's a two-parts article on Integrating OpenStreetMap in Bing Maps. Bing Maps also just released their biggest imagery update ever, 6.7 million square kilometers.

On the ESRI front, we mentioned last week the podcast about ESRI's position on open source, via GGNB I learned about the new ESRI page about their position on open source software. The ArcGIS API For JavaScript 1.6 Now Available. And ESRI also announced their new World Topographic base map (screenshots included).

On the FOSS4G front, here's how to create contour lines in QGIS. There's also a new Humanitarian OpenStreetMap Team (HOT) mailing list.

In other news, several geoblogs mentioned that Platial is turning off their services. APB offers an entry named GIS Used to Help Decrease Stroke, Heart Disease, and Cardiovascular Risk 25%. There's also an entry about large shapefiles on small screens using a drawable spatial index. Engadget does a head-to-head comparison of three GPS smartphone navigation systems: Google Navigation, Ovi Maps, and VZ Navigator. TMR also points to the testing of the SPOT Satellite GPS Messenger.

In the maps category, via Mapperz, I learned about ProtectedPlanet, the latest initiative of the World Database on Protected Areas. Here's a named Which Burger Chains Dominate the U.S. Landscape? Here's another map, linking the affordability of housing and transportation in the U.S.

Read more of this story at Slashgeo.

SlashgeoOpticks 4.3.3 Released

kstreith writes "Opticks 4.3.3 is now released along with a new Spectral processing capability and Python scripting capability. Also includes updates to the existing IDL scripting. The release highlights include better support for scripting and support for loading FITS data. The new Spectral Processing extension provides algorithms to work with hyper-spectral and multi-spectral data and visualize and perform signature matching. The new Python scripting extension allows a user to combine the power of Python with the visualization power of Opticks. The IDL scripting extension now supports IDL 7.0 and IDL 7.1." We mentioned the open source project Opticks before, see previous stories below.

Read more of this story at Slashgeo.

Clever ElephantSend us Jeremy and Keyur!

ESRI (pretty new web page, by the way) has put their open source position on-line and also produced a short podcast with Victoria Kouyoumjian on the same topic.

http://www.esri.com/news/podcasts/audio/speaker/staff_kouyoumjian.mp3

One thing that struck me in the podcast was when Victoria noted that ESRI has sponsored open source events in the past (most notably FOSS4G 2007 directly, but also 2008 and 2009 to a lesser extent through 50°North). She says,
These events allow us the opportunity to engage in conversations and dialogs with various technologists because we want to gain feedback about the needs of open source developers and users. The objective of course is to channel this information back to development so we can reflect this in future products and business decisions in order to best support our customers.
So far ESRI attendance has been at the managerial level, and while I love those guys (hugs to Satish and Victoria!) some real sparks could fly and serious interoperability improvements be made if we started seeing the developers, the project leads and software designers, at the events. We can do better than "channeling" information back to development, let's immerse development in it!

Update: We promise to send them back. Really.
 

Dylan's BlogAccessing Climate Change Data and a Custom Panel Function for Filled Polygons

GCS Model Grids

Recently finished some collaborative work with Vishal, related to visualizing climate change data for the SEI. This project was funded in part by the California Energy Commission, with additional technical support from the Google Earth Team. One of the final products was an interactive, multi-scale Google Earth application, based on PostGIS, PHP, and R. Interaction with the KMZ application results in several presentations of climate projections, fire risk projections, urban population growth projections, and other related information. Charts are dynamically generated from the PostGIS database, and returned to the web browser. In addition, an HTTP-based interface makes it simple to download CSV-formatted data directly from the CEC server. Some of our R code seemed like a good candidate for sharing, so I have posted a complete example below-- illustrating how to access climate projection data from the CEC server, a couple custom functions for fancy lattice graphics, and more.

read more

March 04, 2010

Dylan's BlogYet Another plyr Example

another plyr exampleanother plyr example quantiles (0.05, 0.25, 0.5, 0.75, 0.95) of DSC by temperature bin

There are plenty of good examples on how to use functions from the plyr package. Here is one more, demonstrating how to use ddply with a custom function. Note that there are two places where the example function may blow up if you pass in poorly formatted or strange data: calls to 1) t.test() and 2) quantile(). Also note the use of the transpose function, t(), for converting column-wise data into row-wise data-- suitable for inclusion into a dataframe containing a single row.

read more

Slashgeo3D Graphics For Firefox and Webkit (Safari and Chrome)

Slashdot discusses a story named 3D Graphics For Firefox, Webkit. Webkit is the open source engine behind Apple's Safari and Google's Chrome browsers. Their summary: ""A group of researchers plans to release a version of the Firefox browser that includes the built-in ability to view 3D graphics. They've integrated real-time ray tracing technology, called RT Fact, into Firefox and Webkit. Images are described using XML3D, and the browser can natively render the 3D scene." The browser will be released within a few weeks, the researchers say, and they are checking with the Mozilla Foundation about whether they can call it Firefox."

Read more of this story at Slashgeo.

Mateusz LoskotAX_LIB_LIBKML macro

Recently, I was playing for a while with Brian’s new OGR LIBKML driver and I integrated it with GDAL/OGR build system, so it’s more convenient to build, test and use it. The complete tree is available in GDAL sandbox in mloskot/winkey-libkml. (It is just a give it a try-like prototype and I don’t actively maintain this branch myself. Hopefully, Brian will take it over.)

By the way, I crafted AX_LIB_LIBKML macro for Autoconf. This macros checks for headers and libraries of specified version (or newer) of Google libkml library and defines compilation and linking flags.

I submitted the macro to GNU Autoconf Archive. It is the new incarnation of well-known autoconf-archive.cryp.to. Peter Simons announced not long time ago that

The archive has moved to Savannah: http://www.nongnu.org/autoconf-archive/. Version 2009-04-26 was the last to be released at autoconf-archive.cryp.to.

Happy detecting libkml!

March 03, 2010

Mateusz LoskotConst-correctness schizophrenia in GDAL

Const-correctness rants are quite common topic of chats on #gdal IRC channel. Some of the pearls I’ve got printed in to my mind:

A: The lesson is I ought to get things right the first time.
B: The issue with const method is that if you want to add lazy loading later, it can cause problems
C: GDAL is rather painful to use with const correct code, unfortunately :(
B: The solution is obvious: don’t write const correct code

Who’s right then, A or B?

I recall another motto from #gdal channel that sounds like “when unsure, do nothing” which has the following rationale:

especially when I realize afterwards that I’ve f**cked things because I neglected to follow the motto

Remembering these recommendations, it’s pretty clear why the const-mess in GDAL has happened. I’d conclude paraphrasing the motto this way:

I’ve f**cked things because I neglected to make a decision.

Now, poor GDAL beginner deadpickle, trying to find out (it’s me the evil) why compiler complains about his not-that-bad-written code, wandered to find and ask C gurus @ comp.lang.c and got the problem explained by Malcolm who wrote:

The problem is that, when C was first developed, there was no const keyword. So strings literal, which are constant, had to be non-const for backwards compatibility. This means that lots of programmers get lazy and omit the const, even from functions which don’t modify their string arguments. (There are also some subtle problems with const which means that this isn’t always a case of pure laziness). So a sort of solution is to discard the const qualifiers. However this is perpetuating the problem in your own code.

The motto stays in contradiction to a well-known best practice of const correct sooner than later. It’s way easier and cheaper to remove const-correctness once it turns out it does not express properly the actual design and contract than to apply it to existing codebase. Sometimes, the latter is even not possible making things f**cked up twice, in existing code base and in client’s code.

Mateusz LoskotCMake interview for FLOSS Weekly at 4:30 EST

Bill Hoffman just notified on the CMake mailing list:

At 4:30, I am going to be interviewed for FLOSS Weekly.
The chat is here:
http://irc.twit.tv/
The video is here:
http://live.twit.tv/
Should be going on some time around 4:30 EST.

It’s on now.

UPDATE: FLOSS Weekly 111: CMake archived audio podcast

SlashgeoGeoMOOSE 2.2 Released

The open source project GeoMOOSE 2.2 has been released two weeks ago. Since it's been a while we mentioned the GeoMOOSE project, here's a reminder of what it is: "GeoMOOSE is a Web Client Javascript Framework for displaying distributed cartographic data. GeoMOOSE has a number of strengths including modularity, configurability, and delivers a number of core functionalities in its packages. GeoMOOSE is also very light weight for servers making it easy to handle a large number of users, with a large number of layers, and a large number of services without stressing a server. The GeoMOOSE core is written using JavaScript and HTML. It is entirely possible to run GeoMOOSE with nothing more than a basic webserver (Nginx, Apache, IIS). But besides the basic client core, GeoMOOSE also comes prepackaged with a number of built in services written in PHP. These services add the ability to perform drill-down identify operations, selection operations, and search datasets. If you have existing scripts that perform similar functions, GeoMOOSE can be tuned to work with those services, no matter which language they were written." See also related stories below.

Read more of this story at Slashgeo.

March 02, 2010

SlashgeoIBM: Make Your Own Map-Based Mashup

A friend sent me a link to an IBM article named "Make your own map-based mashup, create a KML service from ESRI shapefile data", using open source geospatial software. The summary: "Map-based mashups abound these days. Mashups require services that can be mashed up. Location-based mashups need services that provide boundary information. With Web-based mapping providers, you can easily create a map-based mashup with little or no capital investment. In this article, learn how to create a KML boundary service from an ESRI shapefile to be used in mashups."

Read more of this story at Slashgeo.

SlashgeoSaTScan - Spatial, Temporal and Space-Time Scan Statistics

Via O'Reilly, I learned about the free (but not open source?) software named SaTScan. What it is? "SaTScan is a free software that analyzes spatial, temporal and space-time data using the spatial, temporal, or space-time scan statistics. It is designed for any of the following interrelated purposes: * Perform geographical surveillance of disease, to detect spatial or space-time disease clusters, and to see if they are statistically significant. * Test whether a disease is randomly distributed over space, over time or over space and time. * Evaluate the statistical significance of disease cluster alarms. * Perform repeated time-periodic disease surveillance for early detection of disease outbreaks. The software may also be used for similar problems in other fields such as archaeology, astronomy, botany, criminology, ecology, economics, engineering, forestry, genetics, geography, geology, history, neurology or zoology. "

Read more of this story at Slashgeo.

SlashgeoJava Topology Suite (JTS) 1.11 Released

Version 1.11 of the open source Java Topology Suite (JTS) has been released. From the announcement: "The version contains numerous enhancements, including: * Delaunay triangulation and Voronoi diagrams * AWT Shape reading and writing * Geometry similarity metrics * support for Geometry densification * Numerous improvements to the JTS TestBuilder" See also related stories below. The JTS is the source of GEOS. See also related stories below.

Read more of this story at Slashgeo.

SlashgeoGoogle Awarded Broad Patent For Location-Based Advertising

Slashdot runs yet another geo-related story, this one named Google Awarded Broad Patent For Location-Based Advertising. Their summary: "Mashable has a report of a patent that just issued (6-1/2 years after filing) — apparently Google now has a lock on location-based advertising. It's not clear that the search company intends to assert the patent against any other companies (such as emerging rival Apple), but it's useful as leverage. Here is the patent."

Read more of this story at Slashgeo.

SlashgeoRadarVirtuel.com - Real-Time Aircraft Traffic Project

Bertrand writes "Hi people at slashgeo, I am a long time reader of slashgeo, big fan of your work as a geospatial professional, and this is the first time I am submitting a link. I am currently working with a partner on a project called RadarVirtuel.com, that we started last summer and that we are currently developping on our free time, besides our day jobs. Our goal is to display real-time aircraft traffic on the web, using all latest geospatial technology. In order to do so, our system is based on a network of contributers (private persons, companies) owning some ADS-B receiver and willing to share their data with us. In exchange, we make their data available online for anyone, and we will develop advanced services for them to analyze airplane traffic. We believe that this information can be useful for various needs (locating an airplane for personal or business purposes, computing statistics), and notably it can lead to a better public understanding of what happens above our heads. Our coverage area is mostly over Europe, thanks to the many aviation enthusiasts we have here. But we would love to have the same coverage over USA, Canada (all over the world, actually), and we hope people will want to contribute to our project everywhere. We hope you will be interested by our project, and that you will want to share this story with your readers. Since my English is not perfect, do not hesitate to write me if you have any question. Bertrand." See also related stories below, including the OpenFlights database.

Read more of this story at Slashgeo.

Clever ElephantNYC Sprint: Day 3

Third day, best day. There are four MapServer developers now working hard on implementing the rendering plugin changes. Thomas Bonfort is doing the core work, Steve Lime is re-working the old GD renderer, Dan Morissette is creating support for hatched styles, and Assefa is doing KML output.

In Geoserver land, Andrea Aime added support for variable substitution in SLD, which means that URL parameters can now be passed into SLD styling rules, to create dynamic styling effects. Tim Schaub and Justin Deoliveira also demonstrated an application that warms the cockles of my heart: using their new GeoScript extension they made a web-based application that takes in SQL and spits out maps. So now I can type PostGIS queries into a web page and see the results overlaid on a map. Crunchy!

Geoserver / OpenLayers Crew  Steve Lime Contemplates


Howard Butler has contributed some work on the auto-projection support in MapServer and is now working on LibLAS Oracle support. He also tracked down an excellent pastrami sandwich. So I am told.

In PostGIS world, Jeff Adams finished his lat/lon formatter and logged his first commit: an impressive complete collection of unit tests, documentation and a working function (ST_AsLatLonText) that can turn POINT(-120.5 12.25) into 12°15'0"N 120°30'0"W. Oliver continues to fix up the text output functions. And I completed my first cut of the WKT output. Curve support really adds a lot of overhead to these things! There are lots of variants and curves have more and sillier formatting rules than linear features. David Zwarg has continued beavering through tickets in the WKTRaster subsystem.

Thanks again to our sponsors, tonight we are heading out to dinner at a Malaysian restaurant in Chinatown.

Azavea LizardTech Coordinate Solutions
OpenGeo qPublic.net Farallon

March 01, 2010

Clever ElephantNothing, Nada, Zip, Bupkus

There is nothing new under the sun, and I have been wrestling this week with writing out ISO-standard well-known binary from PostGIS.

The most obvious difference is that the type numbers for encoding the presence of Z- and M-dimensions are not the ones described in the old OGC extension document [OGC members only, cited by Martin Daly in 2004, and extended further for PostGIS by Sandro Santilli that year] for WKB. Instead of setting high-bits to indicate the presence of Z and M, as OGC did, the ISO spec simply adds 1000.

So, the ISO geometry number for a PolygonZ is 3 (Polygon) + 1000 = 1003.

The, old OGC geometry number for a PolygonZ is 3 (Polygon) | 0x80000000 = 2147483651.

OGC seems more complex until you note that the function WKB_HASZ(num) can be written (num & 0x80000000). While the ISO test is (num >= 1000 && num < 2000). Setting flags for binary values (has-z, has-m, has-a-piece-of-pie) is nice.

Anyhow, that change was well-known and expected. What I didn't expect was the amount of ambiguity surrounding the definition of an empty geometry in WKB.

To review, the spatial SQL definition includes the concept of an "empty geometry", which is an empty set of a particular geometry type. The empty geometry has more information than a simple database NULL, which is a typeless emptiness. A 'POLYGON ZM EMPTY' has an implied dimensionality. It makes some sense that ST_Intersection() of two disjoint polygons would return a 'POLYGON EMPTY'.

The ISO SQL/MM well-known text specification has clear directions for writing empty geometries of all types. In fact, I've just written two of them above: the type name plus the 'EMPTY' keyword.

For well-known binary, ISO SQL/MM includes the following useless guidance:
i) Case:
i) If <point binary representation> immediately contains a <wkbpoint binary>, then <point binary representation> is the well-known binary representation for an ST_Point value that is produced by <wkbpoint binary>.
ii) Otherwise, <point binary representation> produces an empty set of type ST_Point
Representing an empty point in WKB is hard because there's nowhere obvious to indicate the lack of ordinates. But the ISO specification makes no attempt to solve the problem, they instead provide explicit guidance that is impossible to implement. Basically, if you are reading a WKB POINT and there are doubles after the TYPE number, you have a POINT(x y). If not, you have a POINT EMPTY. All well and good, but how do you distinguish, in a collection of WKB geometries, between the presence of doubles in the byte stream and the presence of another geometry in the stream? You don't.

The ISO guidance for empty Linestrings is even worse!
q) Case:
i) If <linestring binary representation> immediately contains <num>, then <linestring binary representation> is the well-known binary representation for an ST_LineString value. Let APA be an ST_Point ARRAY value with cardinality of <num> that contains the ST_Point values specified by the immediately contained <wkbpoint binary>s. <linestring binary representation> produces an ST_LineString value as the result of the value expression: NEW ST_LineString(APA).
ii) Otherwise, <linestring binary representation> produces an empty set of type ST_LineString.
As with the POINT case, the WKB reader is supposed to magically distinguish between an element of the current geometry (the <num>) in the byte-stream and an element of the next geometry in the byte-stream. And worse, the "clarifying" comment implicitly adds a whole new kind of empty geometry! What if the <num> is present, but the value is zero!?!

This is where the snake starts eating its tail. The way that implementations of OGC WKB have been encoding EMPTY geometries has been to provide the type number and an element count of zero. Back when PostGIS was first getting WKB support, Dave Blasby wrestled with the fact that the specification did not describe how to encode EMPTY. Mateusz Loskot recently published some information showing the WKB EMPTY implementation that Microsoft used for SQLServer. Their implementation is one of the options Dave described five years ago – there's only so many ways to solve this problem.

If ISO didn't like the use of a zero-valued <num> count as a way of indicating EMPTY, they had another option available, which was to follow the original OGC WKB standard and use bitmask flags on their type numbers. There could have been a bitmask for Z, a bitmask for M, and a bitmask for EMPTY. There could even have been a bitmask for SRID, fixing up a huge drawback in WKB, namely that WKB does not include a slot for the SRID, which is an important element in the geometry model.
Sidenote: As a result of WKB not having SRID support, it's not possible to round-trip a geometry through WKB without losing the SRID value. Try this standard SQL and see what happens:
SELECT ST_SRID( ST_GeomFromWKB( ST_AsBinary( ST_GeomFromText('POINT(0 0)', 4326 ) ) ) )
Then try the bastardized PostGIS EWKB format instead:
SELECT ST_SRID( ST_GeomFromEWKB( ST_AsEWKB( ST_GeomFromText( 'POINT(0 0)', 4326 ) ) ) )
As it stands now, the specification is out of synch with the implementations on the ground, which is bad news for the relevance of the specification. I will be implementing EMPTY using the same semantics as SQLServer, which will make the kinds of EMPTY PostGIS can represent slightly richer, but remain backwards compatible to the old schemes.
 

SlashgeoChile Earthquake Mapping

There is plenty of geoblogs sharing information on Chile earthquake mapping efforts. Brady Forrest of O'Reilly offers several links in an entry named 'Lessons From Haiti Will Aid Chile'. Off the Map offers other links, including Ushahidi Chile situation room. The Map Room offers map screenshots of the tsunami wave. The GEB offers satellites images and links. Map Hawk criticizes the New York Times maps for being highly confusing. Finally, both Google and OpenStreetMap offer their whole set of resources for the Chile earthquake response.

Read more of this story at Slashgeo.

Clever ElephantNYC Sprint: Day 4

End day was, as last year, a quiet one. Everyone worked on cleaning up their last bits of work before heading home around mid-afternoon. Unfortunately, most left before I had a chance to ask what they finished up!

(For my part, I finished some minimal regression tests on the WKT emitter, changed the emitter to use a stringbuffer for output, and upgraded the stringbuffer to be smarter about performance. Jeff Adams has been working on making our unit test program a little more flexible for developers (easier to add tests, and able to optionally run one test at a time)).

One more time, thanks to the sponsors, we got a great deal done and MapServer, Geoserver, PostGIS and the rest of the tribe are going to be stronger next year thanks to this event.

Special thanks also to Temim Fruchter of OpenPlans who was invaluable in helping me make arrangements in New York for hotels and food and all the things that made the event enjoyable and comfortable. Thanks to OpenPlans for hosting us in their lovely penthouse event room!

Azavea LizardTech Coordinate Solutions
OpenGeo qPublic.net Farallon

Clever ElephantNYC Sprint: Day 1

On a bright day in NYC, we all convened in the sunny Open Plans event room for the first day. As in last years sprint, the morning was spent in planning and discussions, and the afternoon folks began digging in.

The MapServer team talked about release plans for 6.0, and came up with an ambitious release plan. They recognize that not every item on the plan will make the final cut, but hope that most will find either funded or community effort to bring about. Among the highlights (to me):

Pluggable renderer would allow a much cleaner rendering chain, and new renderers for new formats to be more easily added. filterObj to enhance the power of MapServer querying and support OGC Filter fully (and incidentally leverage the power of databases like PostGIS more fully). Named styles to allow re-use of style objects through a map file, instead of repeating the definitions over and over.

I also talked with Steve Lime and Jim Klassen about a bug in the one-pass rendering code that is making complex WFS queries fail. We think we have a solution and Assefa is doing the final tests.

The PostGIS discussions were about our 2.0 roadmap and what the implications of various changes are. Unfortunately, most of my proposed/desired changes are predicated are a large change to the underlying data serialization, so going forward requires a good deal of bravery – I have to burn down the village in order to save it. Olivier Courtin is working on more tractable new features: a polyhedral surface, suitable for storing 3D buildings and other objects that have grown increasingly common.

David Zwarg and Jeff Adams from Avencia joined the PostGIS group, and are working hard already: David on WKTRaster and Jeff on a geographic coordinates formatting routine. Don't tell Jeff, but if he gets the output formatter working, I'm just going to ask him to try and write an ingester.

Justin Deoliveira and Tim Schaub began working on improving the scripting extensions to Geoserver, Tim working on the server-side JavaScript and Justin working on the Python (and David Winslow working on Scala!). Andreas Hocevar has begun a Google Maps V3 API layer for OpenLayers, which will allow Google layers without API keys in OpenLayers (yay!).

As usual, the team had to be driven into the night bodily at the end of the day – it is hard to pry nerds from their code.

Thanks to our 2010 sprint sponsors, for keeping us well supplied with food, drinks and coffee throughout this busy week!

Azavea LizardTech Coordinate Solutions
OpenGeo qPublic.net Farallon


Postscript: At the end of the day, Olivier and I settled on an order-of-operations to move towards the new database serialization in PostGIS. Step one, remove the current places in the code where the serialization pokes up into function code and get it completely isolated underneath a serialize/deserialize layer.
 

Clever ElephantNYC Sprint: Day 2

Today the Geoserver, MapServer and OpenLayers teams got together and really showed off the "making things work together better" theme. Starting from Andrea Aime's new "WMS rotation" feature, Daniel Morissette implemented the same feature with the same semantics in MapServer, while Andreas Hocevar implemented client support for the feature into OpenLayers. During testing, a small bug showed up in the Geoserver implementation, which Andrea fixed.

The final result is shown in this screenshot: layers from Geoserver and MapServer viewed and rotated together within OpenLayers.

screenshot008tm

The MapServer team is now really digging into a couple major goals: reading projection information automatically from data sources; and, making the rendering subsystem pluggable. Here they are deep in discussion on the rendering design:

MapServer Conclave

Automatic projection reading will make it easier for new users to work with data in mixed projections, because they will no longer have to manually populate PROJECTION blocks for their layers. They will be able to just set PROJECTION to AUTO.

The pluggable rendering upgrade is mostly of interest to programmers, but because it will clean up the plumbing in drawing maps, it will allow new features like KML, PDF and SVG output to be added much more easily. In fact, Assefa is currently working on KML output, using the new rendering design.

Keeping to himself quietly, Alan Boudreault is tying the XML Mapfile more tightly into MapServer. In the last revision, XML Mapfiles could be transformed to .map format with a utility. In the next revision, it will be possible to use them directly from the MapServer CGI program.

Over on the Geoserver side, Andrea Aime arrived from Italy last night, and today is adding the WMS GetStyles operation to Geoserver. Andreas Hocevar is working on tying together printing support in Geoserver and GeoExt. The scripting engine crew continues to beaver away on Javascript/Python/Scala scripting in Geoserver.

In PostGIS land, Olivier Courtin has blasted a pile of changes into PostGIS trunk, working on moving GML/KML/SVG support down into the core geometry library, where they will be easier to reuse. On a similar tack, I've been working on writing a new WKT emitter, that is easier to maintain and supports ISO WKT for extended types and dimensions.

Thanks again to our sponsors! In an hour we will be settling in to watch the Canada/USA hockey game on the big screen in the Open Plans penthouse. Go Canada!

Azavea LizardTech Coordinate Solutions
OpenGeo qPublic.net Farallon


Update: Canada disappoints! I blame Brodeur.
 

Clever ElephantNYC Sprint: Day 0

Here we go! 23 programmers are winging their way to the Big Apple to take part in the New York code sprint, combining coding talent talent from MapServer, PostGIS, GDAL, OpenLayers, Geoserver, LibLAS, and, and, and!

I am in the air right now, and am looking forward to meeting up with the sprinters at the Broome Street Bar (363 W Broadway) this evening.

Thanks to our 2010 sprint sponsors, for keeping us well supplied with food, drinks and coffee throughout this busy week!

Azavea LizardTech Coordinate Solutions
OpenGeo qPublic.net Farallon

SlashgeoSourcemap.org - Open Supply Chains Mapping

A friend sent me a link to the open source project Sourcemap.org. From their about: "Sourcemap helps you find and share the stories behind products. Your everyday product choices have a significant impact. Some decisions have impacts that stretch across the world, whereas others are regional. [...] We want to empower organizations to connect with their consumers by sharing their product stories. Sourcemap is an open source project dedicated to tracking, documenting, and mapping where all of the components for our everyday goods come from. We believe transparency is the first step towards global supply chain improvement"

Read more of this story at Slashgeo.

SlashgeoRepossession Men Using New Technology To Track Cars

Here's the last geo-related story that Slashdot discussed over the weekend: Repossession Men Using New Technology To Track Cars. Their summary: "The NY Times has an article about how real-time license plate scanning is changing the car repo business. MVTRAC is one of several companies providing technology to track car license plates automatically, in order to populate private databases. This new tech is used by car repo companies to help banks or other lenders repossess cars; by police to find stolen cars or to locate ticket scofflaws; or really for whatever application MVTRAC and its competitors feel like pursuing, as the new-found industry lacks any kind of government oversight."

Read more of this story at Slashgeo.

SlashgeoGaming With GPS On Your Smartphone

Slashdot ran another geo-story this weekend: Gaming With GPS On Your Smartphone. Their summary: "If your handset doesn't get you out and about, tramping through mud, climbing around and hunting for hidden treasure, then something needs an upgrade. The iPhone, Blackberry's Storm and Bold lines, and many Symbian and Android handsets, now sport GPS, which makes your smartphone the ticket to join a global movement of outdoor games. These are outbound challenges that pit teams and solo players against themselves and each other in the search for hidden treasure, undiscovered landmarks, and hidden spots all over the world. This article delves into several of the best smartphone-friendly real-world games, each of which is a bridge between the online and offline worlds." We mentioned geo-games quite a few times in the past, please do a search to find them.

Read more of this story at Slashgeo.

SlashgeoGoogle Introduces Photosynth-like Support To StreetView

Found on slashdot : "Google has launched a competitor or counterpart to Microsoft's Photosynth, which employs user-contributed photos of much-photographed sites to supplement the street-level view in an immersive way. Google's offering is called simply Navigate through User Photos, and unlike Photosynth — which requires Sliverlight and therefore is not available on Linux — is implemented in Flash. This YouTube video (also embedded at the link above) offers a quick tour of the new feature, which can use photos uploaded to Panoramico, Flickr, and Picasa."

Here's the official Google Lat Long entry about the new major feature, screenshots included.

Read more of this story at Slashgeo.

February 28, 2010

SpatialguruWhat book do you need?

(ED: Enabling comments might help.. sorry about that, should work now. TM)

I talk a fair bit with various folks about book ideas they or I have. I'm curious on your thoughts for potential new books that might be popular - what's the next big "geo" book that you think you, your colleagues, the world at large needs?

Where do these books leave off? Or what new waters need to be charted?

February 26, 2010

Mateusz LoskotGIS-Lab joins Planet OSGeo

OSGeo FoundationMaxim Dubinin syndicated GIS-Lab blog with the Planet OSGeo aggregator.

A few words about GIS-Lab from their website:

GIS-Lab – informal non-commercial community of GIS/RS specialists, we grow ourselves and help grow others.

GIS-Lab exists since April 2002 as an independent online resource specializing in geographic information systems (GIS) and remote sensing (RS). At present, the site is primarily oriented towards Russian-speaking GIS community, however, we do our best to translate as many materials as possible into English.

The GIS-Lab is the very first blog in Russian language syndicated with the Planet OSGeo, what makes the planet yet more international geo-caffee.

Mateusz LoskotSqlGeometry and POINT EMPTY in WKB

Inspired by question Paul Ramsey asked today morning on IRC, I’ve inspected what kind of Well-Known-Binary output gives SqlGeometry for EMPTY geometries of all the seven geometry types as specified in OGC SFS. The SqlGeometry class is available from SQL Server System CLR Types for .NET Framework. Here we go.

I checked Well-Known-Binary output as returned by the SqlGeometry method STAsBinary(). Here is a small test program written in C#:

using System;
using System.Linq;
using Microsoft.SqlServer.Types;
namespace SqlGeometryEmpty
{
  class Test
  {
    static void Main(string[] args)
    {
      foreach (string type in
         Enum.GetNames(typeof(OpenGisGeometryType)))
      {
        string wkt = type.ToUpper() + " EMPTY";
        SqlGeometry geom = SqlGeometry.Parse(wkt);
        byte[] wkb = geom.STAsBinary().Buffer;
        string wkbhex = string.Join("",
          wkb.Select(
            b => b.ToString("X2")).ToArray());

        Console.WriteLine("{0}\n{1} ({2} bytes)\n",
          wkt, wkbhex, wkb.Length);
      }
    }
  }
}

The first observation is that WKB of EMPTY geometry for all types is returned as a a slightly different binary. All the binary forms are truncated to nine bytes. The first byte indicates endianness as expected. The second chunk of four bytes indicate geometry type. It is exactly as defined in OGC specifications. The third chunk of remaining four bytes are set to Zero and seem to play a role of size specifier: number of points in LINESTRING or number of rings in POLYGON, number of points in MULTIPOINT, and so on. This makes another observation that WKB for EMPTY is reported as a collection of primitive components.

The difference in binary of WKB of EMPTY geometry I mentioned is in that the actual type of input geometry is preserved, so there seems to be no implicit translation to geometry of some other type.

So far so good but not for too long. In fact, SqlGeometry implicitly casts POINT EMPTY to MULTIPOINT EMPTY geometry with the WKB of the following form (in hex):

010400000000000000

Here is complete output of the test program above:

POINT EMPTY
010400000000000000 (9 bytes)

LINESTRING EMPTY
010200000000000000 (9 bytes)

POLYGON EMPTY
010300000000000000 (9 bytes)

MULTIPOINT EMPTY
010400000000000000 (9 bytes)

MULTILINESTRING EMPTY
010500000000000000 (9 bytes)

MULTIPOLYGON EMPTY
010600000000000000 (9 bytes)

GEOMETRYCOLLECTION EMPTY
010700000000000000 (9 bytes)

A word about how PostGIS behaves. PostGIS reports GEOMETRYCOLLECTION EMPTY, regardless of actual type of input EMPTY geometry. It is in hex form:

010700000000000000

Generally, there is not many choices of how to report EMPTY geometry in clear and usable way and a form of collection with size equal to Zero seems to be the most appropriate choice. POINT EMPTY reported with type set to POINT (010100000000000000) would be ambiguous as feels like truncated or invalid form of POINT(0 0), especially in programming languages like C where native dynamic allocated arrays do not carry information about their size. IOW, geometry type is not enough information to process binary form of POINT EMPTY properly.

Reporting EMPTY geometries as a collection is a useful convention that seems to work well. PostGIS behaves about it in the very consistent manner reporting one type for all empties. SqlGeometry, so SQL Server, forces programmers to write a few more lines of code to handle all the possible cases. Yet another original exotic solution from Microsoft.

Consistent API is a bless!

Update: consistent specification of interface is even better.

SlashgeoEU Says Google StreetView Violates Privacy

Slashdot discusses a story named EU Says Google Street View Violates Privacy. Their summary: "upto0013 notes the latest spot of trouble for Google in Europe: the EU says that Google's Street View images violate privacy laws. The EU's privacy watchdog asked Google to notify cities and towns before photographing (Google says it does this already) and to delete original photos after 6 months (Google keeps them for a year and says it has reason to do so). "[The privacy official] said that the company should revise its 'disproportionate' policy of keeping the original unblurred images for up to a year, saying improvements in Google's blurring technology and better public awareness would lead to fewer complaints — and a shorter delay for people to react to the photos they see on the site. Complaints about the images put online would usually be checked against the original photos""

Read more of this story at Slashgeo.

SpatialguruMapServer Workshop at FOSS4G 2010

Hope to see you at the MapServer introduction workshop at FOSS4G 2010 in Barcelona this September.

As usual, it's a team teaching approach for beginners, delivered by Jeff McKenna, Perry Nacionales and myself.

This workshop always sells out and people beg to join in or stand at the back - so sign up soon or you might miss out.

See you there!

SlashgeoMap Warper - Georeference and Export a Raster Image

The FTG blog discusses the open source online Map Warper tool, in beta. The official overview: "Find maps, edit them. Upload an image or a map, and rectify it against a real map. You can then download and use the rectified map in your mapping applications. Just sign up and you can start uploading and warping!" From the FGT blog: "But Map Warper adds some useful extra features: * Your own personal account, where you can add and manage map images, including map descriptions and tags. * The option to make your map private (Map Rectifier requires all maps to be public). * You can crop the map to a user-specified polygon shape. * You can preview the rectified image as an overlay on top of the reference image. * In addition to GeoTiff and standard WMS export, you can also export it in KML format as an image overlay, or as a WMS link that can be used in the JOSM OpenStreetMap editor. You can also open a KML file directly in a Google Maps interface. * On the downside, there’s no Google Maps layers to use for calibration/rectification, only OpenMaps data and Landsat data; the author indicates that he may add Google Satellite imagery at some point in the future, depending on the licensing limitations." See also related stories below.

Read more of this story at Slashgeo.

SlashgeoFriday Geonews: OpenStreet Map News, ESRI FedUC, and more

Here's your Friday geonews in batch mode. Regarding OpenStreetMap, here's an entry named Thoughts on OpenStreetMap design, and looking forward and back. By the way, OSM Haiti made the front page of BBC News. Somewhat related, here's how you can help, with a click, the Google Data Liberation Front to unlock data for OSM. Here's an account on the difficulties of OSM mapping in Jordan.

On the ESRI front, here's an entry named ArcGIS Server Running In The Cloud and a podcast on The Use Of Open Source At ESRI. James Fee offers a long entry named Reflections on the 2010 ESRI FedUC (U.S. Federal User Conference): "ArcGIS 10 will interact with “the cloud” no matter what that term means to you. The more I see with ArcGIS 10, the more I can see why they named it 10 rather than 9.4. It really is a break from what ESRI was doing in the past on both the Desktop and the Server. ArcGIS 10 should arrive early Summer [...]" Here's Don Murray ESRI FedUC summary. Here's an update on ESRI's wiki.gis.com initiative.

On the FOSS4G front, a note to let you know GeoServer now supports continuous map wrapping, that is, data crossing the dateline change. Here's an entry on raster processing with GDAL's VRT (virtual rasters).

Here's an entry on Windows Phone and Bing Maps.

In the maps category, London now has their bus route maps in Google Maps, several people told me it's a great implementation. Here's an entry on Caspian Sea isobaths. The Map Room share tips and the tables for determining a globe's or map's age. Here's an entry named Mapping Tool Explores the Olympics as a Conduit for Disease and Infection.

Read more of this story at Slashgeo.

February 25, 2010

SlashgeoSlashgeo at O'Reilly Where 2.0 2010 Conference and 25% Discount Code

I'm happy to announce that Slashgeo will participate to the O'Reilly Where 2.0 Conference again this year. We'll have two spies at the conference that will cover it and share with you how the conference is doing. The conference will take place in San Jose, California, from March 30 to April 1. If you haven't registered yet, you can get 25% registration discount by mentioning Slashgeo's discount code "whr10sgo".

Read more of this story at Slashgeo.

SlashgeoGoogle Geonews: Maps with Google Fusion Tables, PicasaWeb to Panoramio, New Imagery and much more

Here's recent Google-related geonews. There's an update to the Google Fusion Tables tool, allowing quick and easy mapping: " Google Fusion Tables is a place in the cloud for your data tables. Today we're announcing some new features that will let you upload and map large amounts of geographic data. This used to require a developer, but now you can do it yourself. You can also now hide and show different data depending on your own criteria." Mapperz offers a discussion and more screenshots.

You can also now upload your Picasa Web Albums pictures into Panoramio. There are new Google Building Maker cities: "Seville, Berlin, Jacksonville, St Petersburg, Clearwater, Raleigh, Memphis, and Houston". There's new imagery in Google Earth, plenty of countries affected. In the trivia category, there's a kml of an Antarctic gigantic iceberg crash and smarter 3D building info (now with 'photos of nearby places' and 'nearby places').

Read more of this story at Slashgeo.

SlashgeoIllustrated Guide to Nonprofit GIS and Online Mapping

MapTogether announced the first public version of their "Illustrated Guide to Nonprofit GIS and Online Mapping". From the announcement: "The Guide includes: * a brief introduction to mapping and GIS (geographic information systems) technology and concepts. * examples of successful nonprofit projects using GIS and/or mapping technologies. * helpful strategies for planning your own mapping/GIS project. * a review of public data sources with freely available data. * a brief review of free and low-cost tools for nonprofit mapping and GIS projects." It's a 46-pages long pdf released under a Creative Commons 3.0 NC/BY/ND license.

Read more of this story at Slashgeo.

SlashgeoCell Phone Data Predicts Movement Patterns

Slashdot runs this discussion: Cell Phone Data Predicts Movement Patterns. Their summary: "In a study published in Science, researchers examined customer location data culled from cellular service providers. By looking at how customers moved around, the authors of the study found that it may be possible to predict human movement patterns and location up to 93 percent of the time." This reminded me of this previous story: Tracking Mobile Phones for Shopping Habbits .

Read more of this story at Slashgeo.

February 24, 2010

Dylan's BlogSoilWeb iPhone App: Beta-Testers?

iPhone App Screenshot rev 0.2 - iconiPhone App Screenshot rev 0.2 - icon

iphone App Screenshot rev 0.2 - in Fresnoiphone App Screenshot rev 0.2 - in Fresno

 
More Updates:
The application is now available on the Apple iTunes Store. Preliminary documentaion here.







read more

February 23, 2010

Dylan's BlogNumerical Integration/Differentiation in R: FTIR Spectra

 
Stumbled upon an excellent example of how to perform numerical integration in R. Below is an example of piece-wise linear and spline fits to FTIR data, and the resulting computed area under the curve. With a high density of points, it seems like the linear approximation is most efficient and sufficiently accurate. With very large sequences, it may be necessary to adjust the value passed to the subdivisions argument of integrate(). Strangely, larger values seem to solve problems encountered with large datasets...

FTIR Spectra IntegrationFTIR Spectra Integration

read more

Mateusz LoskotOSGeo Thai Chapter and OTB Team join the planet

OSGeo FoundationI’m pleased to announce two new blogs I have just syndicated with the Planet OSGeo aggregator.

It is:

  • Chaipat Nengcomma posts content that a part of Thai OSGeo local chapter about FOSS4G distribution in Thailand
  • OTB Team developing the Orffeo Toolbox – a library of image processing algorithms developed by CNES in the frame of the ORFEO Accompaniment Program.

Welcome to the Planet OSGeo!

SlashgeoActivist Vancouver Olympics Map Mashup

Cartophenia writes "Vancouver [de]Tour Guide 2010 is a Google map mashup that highlights a variety of alternative locations, histories, and representations of the city, which complicate the sanitized ‘best place on earth’ version the 2010 Olympics organizers are promoting worldwide. Part counter-mapping and part psychogeography, the project is a local and collective response initiated by a loose consortium of concerned residents, activists, artists, geographers, and others coming together to present more expansive and generative representations of our home city. Given controls on freedom of expression and movement, among other liberties, during this time, we feel it is necessary to record, collect, and transmit information such as Olympic impacts and other unofficial stories to visitors."

Read more of this story at Slashgeo.

SlashgeoManifold GIS Status and Software Adoption

We mentioned a few time the Manifold GIS package in the past, last week was published an entry discussing the state of Manifold GIS and software adoption. From the entry: "One very fundamental observation from this graph is that since Manifold v8 has been released, there has been a decline of activity on the forum. [...] The study of disruptive technology innovations has been formalised in a number of theories, one very prominent one being the “Crossing the Chasm” model. This model aims to explain the specifics of marketing of high-tech products, and distinguishes two crucial stages: First, the product is marketed to and adopted by “visionaries”, a small set of users which form a small base of early adopters of the product. In order to gain mass market adoption though, the company crucially needs to gain enough momentum to jump the proverbial “Chasm” towards the pragmatists (early majority). A step at which many high-tech companies ultimately fail!" See also related stories below.

Read more of this story at Slashgeo.

SlashgeoFree World Map in the EPS Vector Format

Via TMR, here's a new public domain world map with the particularity of being in the EPS format (screenshots included). The details: "Vector maps (EPS) for graphic designers. Features: * World Map(s) in EPS format (vector) * Robinson Projection * Public Domain Project * Layers ordered and labeled, editable * Based on Natural Earth and The CIA World FactBook data"

Read more of this story at Slashgeo.

February 22, 2010

SlashgeoGoogle Earth For Android

The Map Room blog points out that Google has officially launched Google Earth for Android 2.1. The key changes as pointed out on the Google blog is the new roads layer, and the ability to use speech for navigation and directions. Check out the official blog for more details.
*

Read more of this story at Slashgeo.

SlashgeoClearMaps: A Mapping Framework for Data Visualization

fotoguzzi writes "Perceiving a deficiency in current thematic mapping tools, Sunlight Labs recently announced ClearMaps, 'an ActionScript framework for interactive cartographic visualization. In addition to giving designers and developers more control over presentation the project aims to address some of the common technical challenges faced when building interactive, data driven maps for the web. ClearMaps is designed as a lightweight, flexible set of tools for building complex data visualizations. It is a framework not a plug-and-play component (though it could be a starting point for those wishing to make reusable tools).'

The license seems *BSD-like, and the original announcement gathered some comments which may help clarify what is new about this framework.

Sunlight Labs was mentioned on slashgeo.org in May 2009."

Read more of this story at Slashgeo.

February 21, 2010

Dylan's BlogVisual Interpretation of Principal Coordinates (of) Neighbor Matrices (PCNM)

Principal Coordinates (of) Neighbor Matrices (PCNM) is an interesting algorithm, developed by P. Borcard and P. Legendre at the University of Montreal, for the multi-scale analysis of spatial structure. This algorithm is typically applied to a distance matrix, computed from the coordinates where some environmental data were collected. The resulting "PCNM vectors" are commonly used to describe variable degrees of possible spatial structure and its contribution to variability in other measured parameters (soil properties, species distribution, etc.)-- essentially a spectral decomposition spatial connectivity. This algorithm has been recently updated by and released as part of the PCNM package for R. Several other implementations of the algorithm exist, however this seems to be the most up-to-date.

 
Related Presentations and Papers on PCNM

  • http://biol09.biol.umontreal.ca/ESA_SS/Borcard_&_PL_talk.pdf
  • Borcard, D. and Legendre, P. 2002. All-scale spatial analysis of ecological data by means of principal coordinates of neighbour matrices. Ecological Modelling 153: 51-68.
  • Borcard, D., P. Legendre, Avois-Jacquet, C. & Tuomisto, H. 2004. Dissecting the spatial structures of ecologial data at all scales. Ecology 85(7): 1826-1832.

read more