DWR for Maps in New York

I see that the City of New York has taken up using DWR for its city map.

Click for a larger version, or head on over to the site.

The site is designed for IE6 and there are some scrolling issues with Firefox, but I'm sure they will fix those soon.

Like Google Maps, there are the usual scroll/zoom features, but the New York mapping tool adds overlays for looking up zip codes and for landmarks, and allows you to pick which are shown or hidden:

The view is very customizable, here showing a satellite view with a pop-up showing the location of a free Wi-Fi hotspot.

I asked Mario Gouvea about developing the website:

We have been developing 'traditional' web based mapping/GIS applications for about 4 years, those applications rendered the map image on the fly, retrieving all the spatial data needed from the database server and actually creating the jpg/gif images on a map server. On that model map images had to be relatively small in order for the application to scale (support hundreds of concurrent users) and to give the users a relatively good experience (they usually had to wait a couple of seconds for the map to be generated and shown on the browsers).

We decided to develop NYCityMap using Ajax, the first prototype was developed generating the maps on the fly (old model) and using XMLHttpRequest directly, it all worked fine but the code was a nightmare to maintain and the response time for generating a large map was unacceptable. I decided to look for a simpler way of using Ajax and for way to optimize our map generation, that is how I found about DWR, it made developing the application much easier.

I also asked why they'd not chosen to use Google Maps as a base:

We developed the application leveraging several spatial datasets that the City of New York has, including ortho-rectified aerial photographs. (Take a look at downtown Manhattan; you will see the top of the tall buildings. On Google maps they use satellite photographs which show the top of the building along with their side, when you look at the satellite photos from Google on midtown or downtown Manhattan you will see buildings leaning on all directions, on our photos you will see only the rooftop of the buildings which allows us to overlay other layers on top of it).

The main reason we did not use the Google maps API is that we had to leverage several of the spatial datasets we have and also a mainframe system we use for address validation and geocoding and all those datasets and mainframe system use a different coordinate system and map projection than the one used by Google, we simply did not have the time to research a way to convert the XY coordinates returned by the mainframe to the coordinate system used by Google maps, what is more we would have to find a way to re-project all the spatial datasets we have and then generate the image tiles to a format acceptable that could be used with the map API.

Mario Gouvea and his team will be looking into adding functionality using the Google Maps API in the future to get the best possible UI.


Comments have been turned off on old posts