Learn everything you need to know to get started with the CARTO platform.

Getting started with the CARTO platform

CARTO is a location intelligence platform to help you build applications for spatial analysis using location data. CARTO connects to your database or data sources and exposes them as a set of APIs and libraries. On top of that we provide a catalog of common spatial datasets that can be used within your maps, spatial analysis or applications.

What are the main components of the CARTO platform?

Depending on your usage of CARTO platform, whether it’s for visualization, analysis or application development, you will be using different components of the platform.

  • Dashboard

    A centralized place to see your connected data sources, maps, and to configure different aspects of the platform.

    Go to Dashboard (login required)
  • Builder

    A visualization tool to create maps and dashboards and to easily share or prototype your spatial applications.

    Learn more
  • Engine APIs and libraries

    If you are developing applications, we expose a set of APIs for maps creation and to perform spatial queries. These APIs are wrapped in convenient libraries and tools to accelerate development.

    View all
  • Data Observatory

    We catalog and distribute more than 5,000 vetted public and premium spatial datasets, covering most global markets. These datasets are available on the different components of CARTO, so you can use them for data enrichments or as additional data layers for your spatial apps.

    Explore Data Observatory
  • CARTOframes

    A Python library for Data Scientists to maximize productivity and expose Data Observatory layers, carry out Spatial Analysis and much more.

    View Library

In this developer center you will find references to all of the available libraries.

What should I use if I am developing a web application?

If you are looking at developing your first spatial application using CARTO, you will need to decide which mapping library you want to use. CARTO supports several different libraries such as deck.gl, Google Maps API or Mapbox GL. But of course, if you are and advanced user, you can always go low level through our APIs.

Our recommendation is that you use deck.gl as it provides the most flexible visualization and is the preferred library for CARTO. It also supports many basemaps that can be easily modified. We are also deck.gl contributors. If you want further information on the difference between the available libraries, check out this document.

Check out the following Javascript code from the Hello World example to see how easy it is to visualize a CARTO dataset.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
deck.carto.setDefaultCredentials({
  username: "public",
  apiKey: "default_public",
});

const deckgl = new deck.DeckGL({
  container: "map",
  mapStyle: "https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",

  initialViewState: {
    latitude: 0,
    longitude: 0,
    zoom: 1,
  },
  controller: true,

  layers: [
    new deck.carto.CartoSQLLayer({
      data: `SELECT the_geom_webmercator, name FROM populated_places`,
      getFillColor: [238, 77, 90],
      pointRadiusMinPixels: 2.5
    }),
  ]
});

Continue by reading the CARTO for deck.gl getting started guide or take a look at the examples.

And If I am a data scientist looking to do spatial analysis?

If you are working with notebooks, you should use CARTOframes which can be integrated with standard notebook environments such as Jupyter, Google Colab or Databricks notebooks.

Check out the following example to see how easy it is to enrich a dataset using the Data Observatory.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from cartoframes.auth import set_default_credentials
from geopandas import read_file
from cartoframes.data.observatory import Dataset, Enrichment, Variable
from cartoframes.viz import Layer, size_continuous_style

set_default_credentials('creds.json')
bikeshare_gdf = read_file('http://libs.cartocdn.com/cartoframes/files/bikes.geojson')
dataset = Dataset.get('carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20132017')
variable = Variable.get('no_cars_ded903e2')
enrichment = Enrichment()
enriched_dataset_gdf = enrichment.enrich_points(
    bikeshare_gdf,
    variables=[variable]
)
Layer(enriched_dataset_gdf, size_continuous_style('no_cars'))

Continue by reading the CARTOframes quickstart guide or take a look at the examples.