CartoDB is a joy to work with
May 31, 2016

CartoDB is a joy to work with

Brandon Christensen | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with CartoDB

I integrated CartoDB into a Java Spring MVC web application to support complex visualizations of geographic networking data. CartoDB allowed me to create maps of network nodes colored by various state information to help identify and diagnose trouble areas. Once I got it set up it was very simple to add visualizations of additional metrics so we ended up building out map styles for all sorts of information and finding interesting and unexpected patterns.
  • It is amazing at allowing control of the visualizations. It takes a little bit to get used to but the combination of full SQL queries and CSS-like styling is very powerful.
  • The services are built on a robust stack of open source software. I was able to build a standalone instance of CartoDB relatively easily (after some research and trial and error).
  • Server side map rendering is key for handling large data sets. The way the images are returned makes them very easy to catch in an HTTP cache to minimize the hits to the server. The interactivity that CartoDB has built in makes this completely transparent to the end user, they can click on parts of the static images and be presented with popups or change map styles. It's a very clever implementation.
  • I adopted CartoDB just before a major API change. We chose to make a standalone instance and unfortunately this API change meant we would have to do a lot of work to move to a newer version. Perhaps just a hazard of being an early adopter.
  • It would be extremely helpful if CartoDB provided a Java library for interacting with the service. The visualization definition (setting up the map, styles, etc) is all handled by sending a JSON structure to the service. In my application I had to manually create a large number of Java classes mapping the expected JSON format so that we could construct the visualization from our code. This was a fair amount of work and was invalidated when CartoDB later changed their visualization structure. This could be mitigated by providing client libraries for common languages.
  • There's an immediate "wow" factor to using CartoDB. It's what you want a map to look like and provides very intuitive user functionality out of the box. I demoed our mapping capabilities to a set of network operators and by the end of the call they were begging for an upgrade to their deployed systems.
  • The hosted service is reasonably priced but with some work you can build your own standalone instance. At that point you have a "free" (not counting development time) mapping solution that can be installed in private networks, something not possible with Google Maps.
  • I had a hard requirement that we not send actual data to Google. We were allowed to request the base map tiles from Google but the customer did not want their position data sent outside of the network. CartoDB made this possible since the overlay tile renderer was installed internally. This was a crucial selling point that helped us win the business.
Google Maps API was what we started with. It provides a lot of nice tools, but they are all browser-side. This means that when you want to display points on a map you send data to the users browser and the software runs on the users's machine to render that data into points. This allows flexibility and more dynamic behavior but does not scale to large numbers of data points - more than ~1000 points brings the browser to its knees. CartoDB takes a fundamentally different approach, rendering position data on the server side into static image tiles that are overlaid on top of a standard Google Map. This means scaling is dependent on backend equipment not on the user's browser/machine.

If you're doing something small Google Maps API is great and it doesn't require any extra setup or dependencies. If you need to scale CartoDB is the best solution available.
I have not seen a better mapping tool than CartoDB. You get the familiarity of Google Maps with arbitrarily complex geographic data visualization on top. CartoDB excels at large data sets where Google Maps API completely chokes when attempting to handle more than ~1000 data points. I was able to plot 500,000 points on a map with reasonable speed and able to perform complex aggregations to display boundaries of areas containing certain types of data, intersections of those sections, and more.