Some recent ESRI-related geonews of interest for the past two weeks.
The open source web mapping framework MapFish 2.0 has been released. From the announcement: "The highlights of the release are:
* MapFish 2 comes with GeoAlchemy, and uses GeoAlchemy internally. Among other things, this brings MapFish support for PostGIS as well as Spatialite, MySQL, and Oracle Spatial.
* MapFish 2 is based on Pylons 1.0, the first stable version of Pylons.
* the API of MapFish 2 is incompatible with that of MapFish 1.2, see to know how to migrate your applications.
* the client plugin installs OpenLayers 2.9.1, and GeoExt 0.7 in the application, and does not longer install MapFish Client."
I quick note to apologize to our users who, in some cases, have not been able to access the site this week. We just found a DNS record conflict and fixed it. Now it's true, the new site will be available to everyone soon. Sorry for the inconvenience.
If it's your first time on the new site, please see below the stories that were published this week. You may also want to register to our new daily newsletter to get the geonews in your mailbox.
I will attend FOSS4G 2010 next week. Other Slashgeo editors will take care of the site and publish your submissions. Thank you for your comprehension.
You are not watching this post, click to start watchingThis comes from a submission on the old site, which shouldn't be available any moment now.
Cameron Shorter writes "Version 4.0 of the OSGeo Live GIS software collection has been released, along with a 25 minute video describing the 42 contributing GeoSpatial Open Source applications.
OSGeo-Live is a self-contained bootable DVD, USB flash drive and Virtual Machine based upon Ubuntu Linux that is pre-configured with a wide variety of robust open source geospatial software. The applications can be trialed without installing anything on your computer, simply by booting the computer from the DVD or USB drive. ... more"
You are not watching this post, click to start watchingSome Google-related geonews for the last two days:
Here's the recent Microsoft-related geonews.
Still catching up recent geonews, last week the FGT blog mentioned the open source imagery analysis project named OpenDragon. While the project has been around for over 5 years, we never mentioned it in the past.
From the official website: "OpenDragon provides a robust suite of image processing operations, via an intuitive, responsive, multi-window graphical user interface. Software functionality includes full-color display, annotation, enhancement, measurement, supervised and unsupervised classification, georeferencing, on-screen vector capture, and a broad range of other capabilities to support image processing education and research. OpenDragon can access image and data files created by earlier releases of commercial Dragon, can run scripts created for other versions, and is backward compatible in its organization and navigation. OpenDragon uses an innovative client-server architecture and is based on platform-independent industry standards including Java, XML and HTML. The OpenDragon architecture supports new levels of user extensibility and will eventually allow the software to execute on Windows, Linux, Mac OS/X, and Solaris and other Unix variants. "
We previously mentioned a few other similar software, Opticks is one example.
You are not watching this post, click to start watchingikiMap (www.ikimap.com) is a free web service which allows its users to create and share their maps.
The objective is to combine the concept of a social network together with the use of cartography and maps.
Users can create their own maps (by uploading files in KML, GPX…formats or directly by drawing on the map), vote for other users maps, add comments, create groups of friends, theme channels and more! Users can actually label the map as private and grant access to it only to certain people.
ikiMap is a free service, and it's based on freeware:
* OpenLayers (http://openlayers.com/)
* MapServer (http://mapserver.org/
* PostGIS (http://postgis.refractions.net/)
There are more info about ikiMap on:
• Blog: http://ikimap.blogspot.com/
• Twitter: http://twitter.com/ikimap
• Facebook: http://www.facebook.com/pages/ikiMap/200361580929
• Youtube: http://www.youtube.com/user/ikimap
Those guys at Urban Mapping, famous in our industry for some of the best neighborhood boundary data, are doing more than just polygons these days. They’ve created Geo Fact Finder which had the original intention of illustrating the capabilities of their platform Mapfluence. Mapfluence is a web-based geoservices engine designed to push geo-intelligence to the browser. Mapfluence also maintains a data catalog, providing immediate and query-able access to geographic data. The Geo Fact Finder application is intended to visualize and explore geographic data; they’ve selected a subset of our 10,000+ variables and included them in different topic areas. You can select up to three topics at any one time. Built on the Bing Maps Platform, Urban Mapping created an application to visually explore a boatload of geographic data. Behind it, Mapfluence allows developers to make queries to support visualization (thematic mapping, heat mapping, etc.) and data queries (spatial joins, sorts and other number-crunching activities). What's great is that it also comes pre-configured with data on-demand: the application includes over fifteen distinct data themes that includes several dozen specific variables. Here, I’ve mixed Presidential Election Returns, Religious Affiliation and Average Monthly Snowfall to see if there’s a connection that I can pull from them. Can you find the connection?
Themes include air quality, tornadoes, hurricanes, precipitation, temperature, transportation infrastructure, educational performance, cost of living, unemployment rates, residential and business vacancy rate, voter turnout, demographics, sales and income tax rates, and consumer expenditures. This represents a massive amount of data that Urban Mapping sources and maintains, making it easy for developers to use their Javascript API. Geo Fact Finder is designed to show off some cool visualizations of data, and they tell me there are more applications coming soon. Keep an eye on these guys.
Follow Bing Maps @BingMaps, ^CP
Geocoding and reverse geocoding are services that Bing Maps provides in the AJAX Control as well as in the SOAP and REST web services but what if you are about to start a project and you have to geocode thousands of addresses or what if you have a requirement to batch-process data updates as a recurring task? Of course you could just call the geocoder again and again but that doesn’t seem to be a very efficient approach. With our June release we also launched a new batch-geocoder and batch reverse-geocoder as part of the Bing Spatial Data API in order to address just these scenarios. Chris Pendleton briefly touched on it in his blog post here.
Today I would like to go in a bit more detail and build a little application that leverages the Bing Spatial Data Services. During this walkthrough we will follow the process as pictured below.
As a prerequisite you will need a Bing Maps Key which you can create yourself at the Bing Maps Portal.
Format DataYour data can be either in XML- or text-files. In text files you can separate values with comma, tab or pipe (|). The data can be
You will find a full description of the data schema here and some sample data here. An interesting aspect of the service is that we can mix different types of information. In the sample data set below you see for example formatted addresses, well known places, UK postcodes, latitudes and longitudes for reverse geocoding as well as an empty entry which I intentionally put in there to demonstrate what happens if a record cannot be resolved.
<GeocodeFeed> <GeocodeEntity Id="1" xmlns="http://schemas.microsoft.com/search/local/2010/5/geocode"> <GeocodeRequest Culture="de-DE"> <Address AddressLine="Konrad-Zuse-Str. 1"There is a size-limitation to consider though. The file to upload must not exceed 100 MB. You can have up to 10 jobs at a time but if you really need to go to the limits you should consider using a more efficient file format such as a pipe(|)-delimited text file. The sample data above would look in this format as shown below and would only be a quarter of the size of the XML-file
1|de-DE||Konrad-Zuse-Str. 1|||||Unterschleißheim|85716||||||||||||||||||||||
4|en-GB|Tower of London||||||||||||||||||||||||||||
5|en-GB|Angel of the North||||||||||||||||||||||||||||
6|en-GB|RG6 1WG||||||||||||||||||||||||||||
7|fr-FR||||||||||||||||||||||||||||48.83431718199653|2.265087118043766
8|en-US|||||||||||||||||||||||||||||
In the SDK you will find sample code for a console application in C#. In this walk-through we will build a WinForm-application in VB.NET. The final application will look like shown below and you can download the source code here.
Once we have selected our source-data-file we first set the content-type .
' The 'Content-Type' header must be "text/plain" or "application/xml" ' depending on the input data format. Dim contentType As String = "text/plain" If Microsoft.VisualBasic.Right(txtSelectedFile.Text, 3).ToLower = "xml" Then contentType = "application/xml" End IfNext we build our HTTP-POST-request adding parameters for the source-data-format and the Bing Maps key. We also add our source-data-file as bytes from a file-stream. If the job was successfully submitted, we receive a job-ID as part of the response-header. Together with a desired output-format (JSON or XML) and the Bing Maps key we can use this job-ID to monitor the job status. We will start a timer to do just that every 30 seconds (or whatever you think is appropriate).
Dim queryStringBuilder As New StringBuilder() ' The 'input' and 'key' parameters are required. queryStringBuilder.Append("input=").Append(Uri.EscapeUriString(cbInputFormat.Text)) queryStringBuilder.Append("&") queryStringBuilder.Append("key=").Append(Uri.EscapeUriString(txtBMKey.Text)) ' The 'description' parameter is optional. If Not String.IsNullOrEmpty(txtDescription.Text) Then queryStringBuilder.Append("&") queryStringBuilder.Append("description=").Append(Uri.EscapeUriString(txtDescription.Text)) End If Dim uriBuilder As New UriBuilder("http://spatial.virtualearth.net") uriBuilder.Path = "/REST/v1/dataflows/geocode" uriBuilder.Query = queryStringBuilder.ToString() Using dataStream As FileStream = File.OpenRead(txtSelectedFile.Text) Dim request As HttpWebRequest = DirectCast(WebRequest.Create(uriBuilder.Uri), HttpWebRequest) ' The method must be 'POST'. request.Method = "POST" request.ContentType = contentType Using requestStream As Stream = request.GetRequestStream() Dim buffer As Byte() = New Byte(16383) {} Dim bytesRead As Integer = dataStream.Read(buffer, 0, buffer.Length) While bytesRead > 0 requestStream.Write(buffer, 0, bytesRead) bytesRead = dataStream.Read(buffer, 0, buffer.Length) End While End Using Try Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse) ' If the job was created successfully, the status code should be ' 201 (Created) and the 'Location' header should contain the ' location of the new dataflow job. If response.StatusCode <> HttpStatusCode.Created Then lblStatus.Text = "Unexpected status code." End If Dim dataflowJobLocation As String = response.GetResponseHeader("Location") If String.IsNullOrEmpty(dataflowJobLocation) Then lblStatus.Text = "Expected the 'Location' header." End If myStatusUrl = dataflowJobLocation & "?output=" + cbOutputFormat.Text + "&key=" + txtBMKey.Text lblStatusUrl.Visible = True ' Start a timer to monitor the status. ' in this sample the timer ticks every 30 seconds myTimer.Start() End Using Catch ex As Exception lblStatus.Text = ex.Message End Try End Using Monitor StatusIn the previous section we have created our batch-job, retrieved the job-ID and started a timer which checks the job-status periodically. The job status can be returned either in XML or JSON format and would look like shown below. As you can see we can retrieve the status of the job as well as URLs from where we can download our geocoded data as well as those that failed to geocode.
<?xml version="1.0" encoding="utf-8"?> <Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"In the procedure that is being executed when the timer ticks we evaluate the job status. If the job has been completed we update our user interface with statistical information and download links.
Dim myXmlDocument As New XmlDocument Dim numTotal As Integer = 0 Dim numProcessed As Integer = 0 Dim numFailed As Integer = 0 myXmlDocument.Load(myStatusUrl) Dim myJobStatus As String = myXmlDocument.Item("Response").Item("ResourceSets")._Results will remain available for download for up to 14 days. Again, a detailed description of the data schema is available here in the SDK but let’s have a quick look at our sample data in XML-format:
<?xml version="1.0"?> <GeocodeFeed > <GeocodeEntity Id="1" xmlns="http://schemas.microsoft.com/search/local/2010/5/geocode"> <GeocodeRequest Culture="de-DE"> <Address AddressLine="Konrad-Zuse-Str. 1"That’s it for today. Happy coding
Technorati Tags: Bing Maps,Batch Geocoding,Batch Reverse Geocoding,Bing Spatial Data Service,Virtual Earth,Batch Processing
Here's a first round up of Google-related geonews for the last week.
This morning, Slashdot discusses a story named Building Prisons Without Walls Using GPS Devices.
Their summary: "Graeme Wood writes in the Atlantic that increasingly GPS devices are looking like an appealing alternative to conventional incarceration, as it becomes ever clearer that traditional prison has become more or less synonymous with failed prison. 'By almost any metric, our practice of locking large numbers of people behind bars has proved at best ineffective and at worst a national disgrace,' writes Wood. But new devices such as ExacuTrack suggest a revolutionary possibility: that we might do away with the current, expensive array of guards and cells and fences, in favor of a regimen of close, constant surveillance on the outside and swift, certain punishment for any deviations from an established, legally unobjectionable routine. 'The potential upside is enormous. Not only might such a system save billions of dollars annually, it could theoretically produce far better outcomes, training convicts to become law-abiders rather than more-ruthless lawbreakers,' adds Wood. 'The ultimate result could be lower crime rates, at a reduced cost, and with considerably less inhumanity in the bargain.'"
You are not watching this post, click to start watchingAmazon Watch and International Rivers, two non-profit environmental groups, have been advocating against the construction of the Belo Monte hydro-electric dam in the Brazilian Amazon, what would be the third-largest in the world. To make its threats palpable, the two organizations used Google Earth to map how the dam would flood cities and make stagnant pools out of the Xingu River, a vital tributary of the Amazon and the lifeblood of the riverine and indigenous peoples who live there.
To view the animation, go to http://amazonwatch.org/tour-belo-monte.php.
You are not watching this post, click to start watchingBing Maps was previously available as a mobile device application for multiple platforms:
Windows Phone Blackberry iPhoneToday Bing Maps as part of the Bing Mobile Platform was also launched on the Verizon Android.
Read here to find out more.
Technorati Tags: Bing Maps,Android,iPhone,Blackberry,Windows Phone,Virtual Earth
Still having quite a lot of geonews catching up to do, here's the geospatial-related stories discussed over Slashdot during the past week.
Here's last week's announcement regarding the availability of the final FOSS4G 2010 conference program.
From the announcement: "More than 700 people have already subscribed and the number is growing every day. If you have not subscribed yet, do it now. Some workshops are already sold out so don't loose the chance to choose your favourite workshop."
As announced earlier this summer, Slashgeo will have a representative attending the conference.
You are not watching this post, click to start watchingIn our last poll on the old Slashgeo website (results inaccessible at the moment), we asked you how ArcGIS Online will fare. Out of 212 answers, 13% thought it will be a success and chimes a new era in GIS. 35% stated that it might work if they do it right. 23% anticipate it will never become main stream or is doomed to failure. 7% are simply not interested anyway and 20% admit they don't know what ArcGIS Online is.
On the new Slashgeo, the poll section is still on the right-hand side column. This time, we ask you what are your initial feelings on Slashgeo's new website.
You are not watching this post, click to start watchingDo statistics matter? Yes and no. Yes because it confirms we have users who seem to appreciate the geonews aggregation service we provide, thus justifying all the volunteering work we do for a community we love. No because it's only statistics.
While our fifth year anniversary will actually occur later this month, let's use the recent website migration as an excuse to look at the stats today. After 5 years online we:
Have I forgot anything?
So, if you're a company and want to benefit from the traffic we get, you can contribute to the site to get visibility in several ways, including getting into our top donors list (right-hand side column).
With the new Slashgeo, we should have access to much more precise statistics for the future, not that they matter that much. Don't hesitate to contact us to improve the site and contribute to it.
You are not watching this post, click to start watchingWhile the DNS propagation is in progress since last Thursday, it may still require a few days for everybody worldwide to have access the new Slashgeo.org website. Thank you for your patience. Geonews aggregation will soon resume.
You are not watching this post, click to start watchingYou may have noticed we’ve added a couple new bloggers to the Bing Maps Blog. Well, I say that loosely because Johannes Kebeck has been a blogger extraordinaire on his Windows Live Spaces blog which has done quite well, but has decided to start posting his blog material here instead of on Live Spaces. Brian Hendricks is relatively new to the Bing Maps and Microsoft world, but has a lot of promise and insight into the direction of the product group. Here’s a little something about each of them:
Johannes Kebeck is a Bing Maps Technology Specialist, supporting customers and partners in Europe, the Middle East and Africa. He is currently based in Reading, UK. In October 2004 Johannes joined Microsoft in Germany working within the Enterprise & Partner Group and in 2005 he joined the Bing Maps team. Some of you may know Johannes from various postings on his private blog.
Brian Hendricks is a product manager for Bing Maps team and is responsible for launching new Bing Maps features and growing the map app platform. He recently joined Microsoft after graduating from the University of Michigan. While in school, he spent two and a half years as Microsoft's on-campus Student Partner. In this role, he generated awareness for Windows 7, Office Live, and Zune and planned events for students to experience and enjoy Microsoft products. Besides being a newly passionate bungee-jumper, he is an avid historical fiction reader and an unrepentant classic board game lover. Brian will be writing about new consumer maps features, map apps, and how end-users can make decisions, gain new information, and have fun through Bing Maps.
Ideally, we’ll have many people coming out of the woodworks to post interesting posts with varying voices and points of view, so expect some dynamic arrangements coming over the Bing Maps Blog. Super excited about what this brings to you Bing Maps bloggers out there. You should be excited too! Johannes is an absolutely stud and goes deep on everything he does and finds ways to tie location into other Microsoft products. He has many posts on SQL Azure Spatial, Pivot, SQL Spatial, SharePoint, etc. The list goes on and on. Brian is just AMPED to have the opportunity to tell you everything we’re doing especially around Bing Map Apps, so expect some passionate posts from him.
Which leads you to the obvious question…yes, this is the end of an era. In two weeks, I’ll be stepping down as the Bing Maps Technical Evangelist. For over 3 years of my life I poured my heart and soul into this position to ensure Bing Maps was your mapping platform of choice (not to mention my 8 years at Microsoft in maps and over 10 years helping build some of the coolest enterprise mapping applications!). I traveled around the world and made friends everywhere. I can’t express how much gratitude I have for each of you whether we’ve met in person, communicated on the blog, chatted over email, be-friended on Facebook, stalk each other on foursquare or tweeted at each other on Twitter, all I can say is thank you. Effective September 13, 2010 I’m moving to a Sr. Program Manager position on the Bing Mobile team where I will oversee the development of some as-of-yet unannounced features (that will blow your mind!). I have a few more posts to get out; however, after that I won’t be blogging for a while, so you’ll have to follow my stream of tweets @ChrisPendleton if you miss me.
It’s been real people.
CP