I have some computed data about US Census blocks. I'd like to make a web map to display that data. I've searched around and found various tools, but I can't tell what is the simplest "lazy man's way" to just take a bunch of data and make a map, while letting the tool (whatever it is) make whatever decisions need to be made about performance. The map would be a choropleth map, and I'd like the ability to have some simple interactions (e.g., clicking or hovering over a region to display a popup with info).

Right now I'm working with California census blocks, of which there are over 700,000. I gather from what I've read online that simply loading the raw shape data (in GeoJSON or the like) with Leaflet or the like is going to perform very poorly. I've also seen various discussions about alternatives, but I haven't found a clear description that says something like "put your data in this tool and use this code to get your map".

I have shape data, and numerical data associated with each shape. What is the simplest way to create a web map with that data, such that as much detail as possible is displayed at as large a scale as possible? By "simplest" I mean "the one that requires me to do the least work myself, apart from providing the shapes and the data". By "as much data as possible at as large a scale as possible" I mean that if some detail has to be lost when zoomed out, that's okay, but I'd prefer not to have to do the work of deciding exactly how that's done, because I'll probably do it wrong. I just want a tool that will lose as much detail it needs to lose, but no more, at each zoom level.

Is there a "fire and forget" solution that would allow me to just dump my data into some tool, and have the tool automatically create/generate/serve whatever is needed to make the map work? I'm fine with creating the actual web page and so forth to display the map, I'm just looking for a way to get the data into a form that will "just work" with something like Leaflet.

  • 1
    This is the current 'Holy grail' of web mapping. How to show thousands of vectors in a web map? Lots of people are working on it, and one of the most promising option is UTFGrids (mapbox.com/blog/see-how-utfgrid-works-visible-map) But AFAIK there isn't a software that does this out of the box. Mar 7, 2013 at 8:45
  • I just came across an online map that presented exactly the type of data you're talking about; US census blocks, and some data related to those blocks. It's presented using Google Fusion tables. You can see it here: richblockspoorblocks.com and decide if that kind of solution meets your needs. Mar 8, 2013 at 18:40
  • Did you get your map published? We're working on a service to publish interactive and dynamic block-level maps and are looking for beta testers. See geoscore.com for examples, ability to identify individual blocks (with click or mouseover) will be in the next release (we are working on porting out codebase to javascript)
    – Charles
    Jan 30, 2014 at 15:43

2 Answers 2


Using GeoServer with PostGreSQL and PostGIS, I display Census Tracts initially which when clicked, zooms to that feature extent and then displays BlockGroups, etc. The request to GeoServer returns geojson files. I try to limit the number of features rendered to about 100.


your best bets are probably mapbox or topoJSON, I'd suggest fusion tables but MA tracts is way above the point limit for fusion tables so I'd imagine the same for CA block tracks. Any tool that you can just dump stuff in and it gives you a rendered map is going to be a tool that gives you an ugly map. MapBox has a full stack solution that you can use as much of or as little of as you want, TopoJSON on the other hand is just a tool that turns GeoJSON into a much more compact form which you can render in leaflet the population density layer in this demo is TopoJSON.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.