Posts Tagged ‘google’

One Planet Many People: Atlas of Our Changing Environment (UNEP)

Friday, July 31st, 2009

unatlas

[Editor's note: Fun site from the United Nations Environment Programme highlighting changes in the natural environment with side-by-side remotely sensed imagery and full write up of each place. Done both in Google Maps and available as a Google Earth feed. Map is fairly decent.]

Republished from United Nations Environment Programme.

Increasing concern as to how human activities impact the Earth has led to documentation and quantification of environmental changes taking place on land, in the water, and in the air. Through a combination of ground photographs, current and historical satellite images, and narrative based on extensive scientific evidence, this publication illustrates how humans have altered their surroundings and continue to make observable and measurable changes to the global environment.

Continue to Interactive Atlas: Google Maps | Google Earth

Travellr: Behind the Scenes of our Region-Based Clusters (Google GeoDev)

Monday, July 6th, 2009

[Editor’s note: The age-old rule for cloropleth mapping that suggests aggregation by multi-scale areal units based on the map’s zoom level is slowly seeping into “clustering” for the point-based mashup geo community. This overview from Travellr published on the Google GeoDevelopers blog includes two illustrations that show the power of this technique. I used such a technique (different implementation) on The Washington Post’s recent swine flu mapping.]

Republished from Google GeoDevelopers Blog.
Monday, June 22, 2009

Recently, there has been a lot of interest in clustering algorithms. The client-side grid-based MarkerClusterer was released in the open source library this year, and various server-side algorithms were discussed in the Performance Tips I/O talk. We’ve invited the Travellr development team to give us insight on their unique regional clustering technique.

Travellr is a location aware answers service where people can ask travel-related questions about anywhere in the world. One of its features is a map-based interface to questions on the site using Google Maps.

dxjmnbf_4t5qkqpfw_b1
Figure 1. An example of the Travellr Map, showing question markers for Australia.

Clustering for usability
We learned that the best way to display markers without cluttering our map was to cluster our questions depending on how far you zoom in. If the user was looking at a map of the continents, we would cluster our questions into a marker for each continent. If the user zoomed-in to France we would then cluster our questions into a marker for each region or city that had questions. By clustering our data into cities, regions/states, countries, and continents, we could display relevant markers on the map depending on what zoom level the user was looking at.

Optimizing for Clustering
Our next challenge was how to extract clustered data from our database without causing excessive server load. Every time the user pans and zooms on the map, we need to query and fetch new clustered data in order to display the markers on the map. We also might have to limit the data if the user has selected a tag, as we’re only interested in a questions related to a topic (ie: “surfing”). To execute this in real-time would be painstakingly slow, as you would need to to cluster thousands of questions in thousands of locations with hundreds of tags on the fly. The answer? Pre-cluster your data of course!

Step 1. Structure your location data
When a question is asked about a city on Travellr, we also know its region/state, country and continent. We store more than 55,000 location points as a hierarchy, with each location “owning” its descendent nodes (and all of their data). Our locations are stored in a Modified Preorder Tree (also called Nested Sets). Modified Preorder Trees are a popular method of storing hierarchical data in a flat database table, having a focus on efficient data retrieval, and easy handling of sub trees. For each location we also keep a record of its depth within the tree, its location type (continent, country, region/state, or city), and its co-ordinates (retrieved using the Google Maps geocoder).

Step 2. Aggregate your data
We calculate aggregate data for every branch of our locations tree ahead of time. By storing aggregate data for cities, regions/states, countries, and continents, we provide an extremely fast and inexpensive method to query our locations database for any information regarding questions asked about a particular location. This data is updated every few minutes by a server-side task.

Our aggregations include:

  • Total question count for a location
  • Most popular tags for that location
  • Number of questions associated with each of those tags.

How we query our structured, aggregate data on the map
Whenever the user zooms or pans the map we fire off a query to our (unpublished ;) API with the tags they are searching for, the current zoom level, and the edge co-ordinates of the map’s bounding box. Based on the zoom level (Figure 2) we work out whether we want to display markers for continents, countries, states, or cities. We then send back the data for these markers and display them on the map.

dc287ncr_29cb84v7ct_b
Figure 2. Clustering at different zoom levels (blue = continents, countries, pink = states, cities)

Everyone Wins
So what is the result of structuring and aggregating our data in such a way? It means that we have nicely organized, pre-clustered data that can be read from cheaply and easily. This allows us to provide a super-fast map interface for Travellr that puts minimal load on our infrastructure. Everyone is happy!

Comments or Questions?
We’d love to hear from you if you have any questions on how we did things, or suggestions or comments about Travellr’s map. This article was written by Travellr’s performance and scalability expert Michael Shaw (from Insight4) and our client-side scripting aficionado Jaidev Soin.

You can visit Travellr at www.travellr.com, or follow us on Twitter at twitter.com/travellr.

Visualization: Geomap (Google)

Friday, June 19th, 2009

geomapgooglevisualization

[Editor's note: Google has made freely available the curious choropleth (colors by country) and graduated symbol (bubble) maps found in their Google Analytics tools as part of their charting - visualization kit. You set-up a HTML JavaScript object with the map parameters (country-value pairs or city-value pairs) and the colors and Google will make you an interactive Flash map (data brushing reveals country value on mouseOver) color coded via uninformative class breaks and terrible cartography linework (look at the US, Canada border) and a terrible world map projection (cylindrical with gross distortions in the higher latitudes). But it is free and fast and several regional base map are also available. There is certainly an oportunity for someone else to come up with a better API that uses the same function calls but draws better maps with meaningful data classes. Screenshot above is static, click on it to go to interactive version.]

Republished from Google Visualization.

Overview: A geomap is a map of a country, continent, or region map, with colors and values assigned to specific regions. Values are displayed as a color scale, and you can specify optional hovertext for regions. The map is rendered in the browser using an embedded Flash player. Note that the map is not scrollable or draggable, but can be configured to allow zooming.

We have two examples here: one that uses the regions display style, and another that uses the markers display style.

Regions Example

The regions style fills entire regions (typically countries) with colors corresponding to the values that you assign. Specify the regions style by assigning options['dataMode'] = ‘regions’ in your code.

Markers Example

The “markers” style displays a circle, sized and colored to indicate a value, over the regions that you specify. To use markers, you must include the following Google Maps API script with a key, unless you specify locations using latitude and longitude values.

Continue reading at Google . . .

Don’t make me search! (Cartogrammar)

Wednesday, June 10th, 2009

[Editor’s note: Allowing multiple access points to browse into a dataset using spatial ideas from cartography (see also GeoName’s post on the relational ontology / the semantic web).]

Republished from Cartogrammar. June 1, 2009.

Searching Google Maps for

There’s a lot of information on the internet, if you haven’t noticed. Far too much for any mere human to wade through. And that’s why we find simple beauty in Google. Instead of overwhelming us with links and content, its home page provides a single search field. “Remain calm,” it says in a soothing but vaguely sinister voice, “just tell us what you’re looking for and we’ll bring it to you.” But God help you if you don’t know what you’re looking for.

Okay, it’s not that bad. Research and debate about searching versus browsing behaviors have played out over centuries (assuming that measurement of time in this information age is something akin to dog years), and it seems safe to say that most of the time information can be accessed by either means. Back in the wild days of the 1990s, web usability guru Jakob Nielsen found that “half of all users are search-dominant, about a fifth of the users are link-dominant [browsing], and the rest exhibit mixed behavior” and argued that “[d]espite the primacy of search, webdesign still needs to grounded in a strong sense of structure and navigation support” for the sake of not only those link-dominant users but everyone else too (link). Most of the web seems to adhere to that principle, but it’s a search-based world out there.

And I kind of hate it.

Sure, it’s obviously crucial to be able to search for what I’m looking for, but I’m not always looking for anything in particular. I want to explore or, to frame it (perhaps more accurately) in terms of mental lethargy, to avoid having to think of something to look for. It’s like Christmas shopping for all my relatives: as torturous as it already is, if I weren’t able to browse store shelves and instead had to think of specific gifts to ask the shopkeeper for, I’d probably collapse and bust into tears. (I titled this post after Steve Krug’s wonderful “common sense” book on web usability Don’t Make Me Think, not that I’m quite what he was talking about.) It bugs the hell out of me whenever I go to check out the newest Coolest Web Tool or Visualization Ever, only to find that I must think of something to search for in order to see it in action.

Continue reading at Cartogrammar . . .

How Google Earth Explains the Financial Crisis (Foreign Policy)

Monday, May 18th, 2009

090507_singapore

[Editor's note: Fascinating image / KML visually demonstrating how global shipping has dropped off, matching the economic doldrums.]

Republished from Foreign Policy.

Want to get a sense of just how bad things are? Take a spin on Google Earth.

The latest issue of International Economy, edited by FP contributor David Smick, has a clever graphic showing the depth of the economic crisis, so I thought I’d share.

The above image, pulled today from Vesseltracker.com’s Google Earth file, shows container ships languishing off the Singapore coast. Welcome to the  largest parking lot on Earth. International Economy explains:

The world’s busiest port for container traffic, Singapore saw its year-over-year volume drop by 19.6 percent in January 2009, followed by a 19.8 percent drop in February. As of mid-March 2009, 11.3 percent of the world’s shipping capacity, sat idle, a record.

It’s a rough time to be an Asian tiger, or to be in the shipping business. The IMF projects that Singapore’s economy will shrink significantly in 2009. Globally, bulk shipping rates have dropped more than 80 percent in the past year on weak demand, and orders for new shipping vessels are cratering. In Busan, South Korea, the fifth-largest port in the world, empty shipping containers are piling up faster than officials can manage.

“Things have really started to get bad — laborers spend their entire day waiting for a call from the docks that they have a job,” Kim Sang Cheul, a dockworker at Busan, told Bloomberg. “People spend all day staring at their phone as if staring at it can make it ring. You’re lucky if you get a call.”

Green shoots? Not so much.

(For another view of Singapore’s port, you can check out Vesseltracker’s Microsoft Virtual Earth mashup map.)

Adding Ads to Kelso’s Corner

Friday, May 15th, 2009

Today, I introduce an image ad at the top of my blog. Am I going to make millions from this ad? Probably not. Will I find it annoying, yes. Will the new ad drive you away? Hopefully not. I’ve had text ads in my sidebar for 2 months now and I’ve made a whopping $10.91. At that rate I’ll get my first Google AdWords check in 2010 as they don’t even pay till you reach a minimum amount. Like the existing text ad, I’m curious to explore the intersection of journalism, niche publishing (blogging), and advertising. This blog consistently gets 1,000 page views a day. My goal with the ads remains to simply break even on hosting and promotion costs. As it stands, $10.91 doesn’t even buy a movie ticket in Washington, DC.

Newsmap 2.0: Google News Treemap Visualization

Monday, May 11th, 2009

[Editor's note: A new version of the venerable NewsMap app, the Google News treemap visualization. Refreshed for it's 5 year birthday.]

Republished from Newsmap.jp.

Background: Newsmap is an application that visually reflects the constantly changing landscape of the Google News news aggregator. A treemap visualization algorithm helps display the enormous amount of information gathered by the aggregator. Treemaps are traditionally space-constrained visualizations of information. Newsmap’s objective takes that goal a step further and provides a tool to divide information into quickly recognizable bands which, when presented together, reveal underlying patterns in news reporting across cultures and within news segments in constant change around the globe.

Long time overdue, here comes newsmap 2.0

The new url is at http://newsmap.jp
Still working on a couple of bugs and really trying to push some features I still think as essential.

Before:

After:

New in 2.0 is:

  • rectangularized treemap layout: To accommodate text properly, cells are as rectangular as possible, this there’s more room for headlines without chopping them off in several lines.
  • search as you type: try the new search on the top right, see how newsmap updates.
  • deep linking: you can now deep link to any state of the app. just try updating your view, and notice how the url changes. You can grab and share that url with anyone.

More to come:

  • custom tabs: save your search query as a new tab
  • custom feeds: add your own RSS feeds to the map
  • stats: learn more about your news and how you consume them!

And much, much more!

iPhone SDK 3.0 – Playing with Map Kit (ObjectGraph)

Friday, May 8th, 2009

mapkit3_logo

[Editor's note: Three part series on the new iPhone 3.0 map APIs for aspiring map application developers from the ObjectGraph.blog.]

Republished from the ObjectGraph.blog.

I started looking at the Map Kit API for developing a quick and dirty – Find where you parked your car – application.

There is no programming guide for Map Kit yet on the developer pages for Apple, So I decided to share some some of it here.

UPDATE: Follow the second part here
http://blog.objectgraph.com/index.php/2009/04/03/iphone-sdk-30-playing-with-map-kit-part-2/

I started looking at the Map Kit API for developing a quick and dirty – Find where you parked your car – application.

There is no programming guide for Map Kit yet on the developer pages for Apple, So I decided to share some some of it here.

The main class that supports a Map is called

MKMapView

You need to include the header

MapKit/MapKit.h

Also dont forget to add a reference to the Framework MapKit.Framework

The code is relatively simple. Here are the steps

  • Create a simple project – I chose utility application – Name it whatever you want
  • Go to MainViewController.h
  • Include the header MapKit/MapKit.h

Continue reading at ObjectGraph.blog . . .

Transit on Google Maps comes to a Town Near You (Kelso)

Friday, April 3rd, 2009

[Editor's note: When I've traveled to Paris or Beijing I like to take public transit both below and above ground. It gives me a good sense of the people and the place. And it reduces my carbon footprint. But sometimes figuring out transit systems can be irksome. I've got a great pocket atlas of Beijing that shows major bus lines and their stops which is helpful. And Paris offers some good printed material. But figuring out which station or stop is closest to the start and end of the trip is just the beginning. Which route is best? And when will I get there are two important questions. If you've missed it, Google Transit solves many of these challenges. New transit systems are being added monthly, check to see if your city participates.]

I live in metro Washington DC and our transit agency finally released their network topology, routing, scheduling in Google Transit format after a long petition drive. Now 3rd party developers, including Google, can use this to build out web apps or even mobile phone apps like iBART. DCist has coverage of both the recalcitrance of this public agency in giving out data we’ve already paid for as tax payers (sound familiar). Cartographers should use the station and bus stop locations included in these transit feeds to locate these features on their city maps.

Cartographers need to get on the mobile app development bandwagon and provide customers with tools that leverage these types of datasets. Imagine an app that has a proximity sensor / alert for nearby bus or transit stops or tells you the bus you want is coming in 5 minutes, time to pack up. And can do all the routing for you. And can be leveraged to provide the customer with, say, trail routing in the backcountry, too.

Why is transit on Google Maps a big deal? From WorldChanging:

[Including transit on maps and routing] make public transit more accessible and easier for everyone to understand; and in doing so, it will certainly increase transit ridership and reduce driving.

One of the big barriers to public transit use is the knowledge required to use the system: where to wait, when to wait, where to transfer, how much to pay, etc. Some readers may remember that two years ago we helped cause Google Transit to happen, but it’s taken off far beyond what we had suggested, and they keep getting better. What’s more, they’re doing it at no charge to the transit agencies (a perpetually under-funded sector of local governments). More cities are coming on board, as well; if you live in one of the eleven cities now participating, enjoy! If you live elsewhere, consider writing to your local transit agency and telling them to join the 21st century. (ahem… San Francisco, right in Google’s back yard, no excuse… ahem.)

What are these tools? In addition to being able to type in your route and get comprehensive directions (including walking to stations, showing the bus or train route, walking directions between stations, how much it costs, etc.), you can plan trips by departure or arrival time and see when the next couple buses come if you miss the one you’re aiming for. Now, if you zoom in enough on any Google map in the right city, all the transit stops appear, with different icons for bus, light rail, etc.; click on a bus stop and up pops a list of the buses or trains that stop there; click on the bus number, and up pops the timetable for the next several buses stopping there.

Want to get your transit data on the map? Aaron Antrim, who heads Trillium Transit Internet Solutions helps smaller agencies get online with Google Transit, in particular, those small-to-midsized transit agencies that don’t have dedicated IT staffs (ref). Aaron went to the same university as me and is quite active in transit circles.

There’s a petition to add “By bike” like there is “Walking” and “Transit” to Google Maps (ref). See this in action at byCycle.org as seen at Treehugger.

Microsoft GeoSynth to compete with Google Street View (MacNN)

Thursday, April 2nd, 2009

Republished from Mac News Network.

Microsoft has announced plans to launch a mapping service, GeoSynth, that will take on Google’s Street View mapping feature, according to Pocket-lint. The new service will use Photosynth technology to merge high-definition photos taken and submitted by the general public, and then relate the content according to geographic data. The program could also be connected to Virtual Earth, potentially enabling users to browse street-level views of almost any location worldwide. According to Virtual Earth technology specialist Johannes Kebeck, the system will take the best images from a location to create a single image of a specific landmark. All geo-tagged images submitted by users will be uploaded into a central database that combines them into a larger detailed picture of the area.

Microsoft also made an announcement that Virtual Earth will support Silverlight in a beta to be released this summer. The company claims users will be able to access map tiles roughly nine times faster in its Internet Explorer 8 browser, or five times faster in Google’s Chrome browser.

Geosynth is expected to launch sometime later this year.