I work for a non-profit health organization and I am currently testing out some GIS software to basically see what usefulness it might serve. My skill set with this software is pretty elementary, but I am starting to put it together. I created a rather simple map in ArcGIS that used different layers for each of our 10 locations showing home zip codes of patients - each used a different color and the size of the "bubbles" was based on how many visits from each zip. These layers could easily be turned on and off by anyone viewing the map. I tried recreating this in CartoDB and fell short at the layers limit. I am wondering if I am just thinking about this the wrong way. I created a visualization of visits for all sites using different colors for each location, but the size of the bubbles is uniform.

If I can't make some sort of sub-layer happen, would it be possible to perhaps create a map with 3-4 locations in a county (for example) as separate layers, so I could alter size and color of the bubbles as I see fit, but then export them as one layer, so I could make some sort of composite for all sites? I don't know much interaction is ultimately needed, but this could bridge the gap until I figure something else out, provided it could work.

  • 2
    Welcome to GIS.SE. Your question is not entirely clear. I have run into the layers limit, so I understand that, but if I get you correctly, you are saying that you should be able to have the bubbles take on different sizes based on same numerical attribute of your data -- it is good to use the square root, for what it is worth, so that the bubble's area represents whatever numerical field you are visualizing. A picture might help? Commented May 12, 2015 at 16:35
  • ah, I didn't realize this was a general GIS forum - my mistake! the numbers (for now) are not so large. I'm just dividing by 10 (600 pts = size 60) for now. but the issue I have is that I want each layer to be able to show patient geographic/volume spread for a different health center that is able to be toggled on/off for easy comparison/analysis by anyone viewing. this is pretty easy to do in ArcGIS, but I am running out of layers in CartoDB. I'm just wondering if there is a way to make sublayers or something that could give me the same result in CartoDB?
    – Steve
    Commented May 12, 2015 at 16:58
  • 1
    I don't see any reason to have a separate 'layer' for each facility. But then I'm not really clear on what data you have an how it's organized, or what the maps you've generated are really showing, or failing to show as you want. As John says, screenshots might help. Is all the data in a single table and you're just symbolizing it in ten different ways? I'm not a CartoDB user, so what layer limit are you referring to?
    – Chris W
    Commented May 13, 2015 at 6:19

1 Answer 1


Regarding CartoDB:

Those 10 layers that you mention can be moved to CartoDB in just one single layer. :-)

CartoDB allows you to edit your layers in two ways: by using SQL (to filter or alter the actual data you want to show) and/or by using CartoCSS, which will allow you to style your geometries even independently inside the same layer.

I recommend you to:

  • Create a single dataset that contains all your 10 locations (in the same table).
  • Go to the map view, and in the right toolbar select the paintbrush icon (wizarsds). Then select the "Category wizard". There the system will create some styles for you depending on your configuration. In the "column" selector, select any of your columns names that differentiate your locations. If you just have the name of the locations and the geometry, you can select the name there.

    Each of those locations will have a different name, which will create a different category per each of them.

    This category wizard creates a maximum of 9 categories and applies a color for "Others": this is the default behaviour but can be expanded by editing the CartoCSS.

    After applying this Category wizard, and selecting your column

  • Go to the CartoCSS tab (CSS icon): there you'll see a code with contains all the constraints for your locations according to their names, and sets a color for each of them. You can edit freely this code, edit the colors, the sizes, whatever you want. Of course, you can also add more constraints if you have more locations to differentiate.

    I explained the process of adding more CartoCSS constraints here.

I recommend you to take a look to these resources:

Hope it helps! :)

  • thanks. I actually have used this for mapping the visits by center. I guess my issue with that route is that most viewers cannot turn locations on/off and the number of patients will not be reflected in the size of the bubbles.
    – Steve
    Commented May 13, 2015 at 16:49
  • You can combine bubble maps + category maps by editing the CartoCSS! :) In the code, you can make the marker-width parameter like: marker-widt:[number_patients_column_name]; (the column needs to be numeric!) so that this size is shown.
    – iriberri
    Commented May 14, 2015 at 9:14
  • okay, i think i figured out how to do this. now my only issue is that while i recognize i won't be able to allow folks viewing the map to make centers visible/invisible, I am hoping to at least reflect which colors mean which location in the key. I am only getting a key that shows bubble size vs number of visits. i would gladly sacrifice this to show which centers are marked by which color.
    – Steve
    Commented May 18, 2015 at 18:37
  • Steve, inside the same constraints where you're specifying the marker-width, you can also specify marker-fill. For exmaple: marker-fill: #FF9900; Also, you can then create your own legend in the legends option in the toolbar :)
    – iriberri
    Commented May 19, 2015 at 8:09
  • ah okay. thanks. i'll give that a shot. though i am realizing that i think i can create buttons that could toggle filters for location on and off. still figuring this all out. i'm no programmer, so i apologize if you need to explain this to me like i'm 5.
    – Steve
    Commented May 19, 2015 at 17:36

Your Answer

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

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