MLS Map Searching: Point in Polygon

Jun 8, 2007 Michael Wurzer

There’s a bit of buzz in the blogosphere over Real Tech LLC adding polygon searching to John L Scott’s web site. Joel Burslem over at FoREM says, “It’s a neat gimmick, designed by real estate technology provider Real Tech LLC. But it’s just that, a gimmick. I gave it a shot on their web site and while fun, it doesn’t really add much to making the search experience any more intuitive.” In tune with questions I’ve posed previously, Joel goes on to say:

Unfortunately, the more time you spend searching on these sites (and I’ve spent a lot lately) – the more you realize that map based searches are still quirky, buggy and sometimes downright annoying. Scroll wheels that jump around, or having to click all over the place to zoom in and out; some sites that allow you drag the maps around, others make it down right impossible to zoom in to where you want to be.

And then Joel concludes: “I suspect that there are going to take several more generations before searching for property on a map become a truly usable way to find a home.”

Robbie, posting over at Rain City Guide, is more upbeat, “hats off to RealTech on John L Scott for raising the bar for everybody!” Robbie did note that the mapping seemed a bit sluggish from his work computer but snappy at the rocket ship he has at home. (Robbie, you should bug your bosses to get a rocket ship at work, too. ? ). Some of the sluggishness may well be coming from the drawing as opposed to the actual searching.

Interestingly enough, this type of searching has been in most MLS systems for years. In the original incarnations, the Walter Zorn vector libraries were used most commonly for the drawing. These are great because they are cross-browser, but they do not scale very well and require a lot of local processing power once you have large or more than one shape and have to move them around the screen.

More recently, the adoption of canvas by most browsers (and Google’s extension of canvas into Internet Explorer) has provided significant improvements in both the scalability and visual appeal of drawing shapes in browsers. Here’s an example from our first implementation of MapServer:

map_search

The beauty of using MapServer is that it’s open source and DM Solutions Group, a leader in open source mapping, has helped us by implementing canvas support and many other tools we needed into their ka-map libraries.

The searching of the map using the shapes is actually easier than it at first appears. Thanks to some brilliant mathematicians, there are some cool point-in-polygon algorithms that make this type of query almost trivial using stored procedures in your favorite database. As long as your database is fast, the searching should be fast, too. As I’m hoping you’ll be able to see in the above screen shot, you can even do useful things like intersecting sets so you can make sure you are in the neighborhood you want and within a certain distance from work.

As Joel pointed out in his quotes above, though, the real challenge in implementing map searching is in the user interface and figuring out how to minimize the zooming often required to see the properties because of the scalability limitations of using Javascript to plot the listings on the map. We’re working now on a version that will plot in real time very large numbers of matches on the map so that users can truly use the map to explore the listings in full context from all zoom levels.

Ironically, when we first started using MapQuest Enterprise for mapping many years ago, plotting large numbers of listings wasn’t a problem. When we replaced MapQuest earlier this spring with MapServer, our clients have really missed seeing all those dots. They can see their result set still, but seeing the full context while searching is really useful. In the fall, we’ll be restoring balance to the Force by adding this capability into our MapServer implementation.

We’d love to hear from others working with mapping, particularly on the issue of the best interfaces for searching. If you want, check out and vote at this poll we ran a few months ago. In the meantime, happy map searching!