How CARTO works
What is CARTO?
CARTO is the platform for building powerful Location Intelligence applications using the best data streams available. What does that mean? It means CARTO is here to help you to build an app that allows users to visualize, analyze and gain insights using your own data as well as to enrich your understanding with our available data streams.
Why do you need this?
This article is for you if:
✅ You’re a new user of CARTO
✅ You’re an experienced user but you want to have a better overview of CARTO’s offering
✅ You’re not sure if CARTO is the right option for you
How Data works with CARTO
The way in which CARTO stores your data is with a dataset, which is a PostgreSQL database table. CARTO datasets occupy space of the storage of your account, meaning that the number of datasets that you can have in your account depends on the amount of data occupied by the different datasets.
A dataset is created when you import a file into your CARTO account using Builder UI or the CARTO Import API or when you create a table using a SQL query. Datasets are also created when you import a database table into CARTO using the CARTO database connectors
The CARTO datasets have 3 main fields that are added automatically when a file is uploaded into CARTO:
cartodb_id: primary key of the dataset, it has unique values and it can’t be null
the_geom: field where the geometries (points, lines or polygons) are stored in the CARTO dataset. The geometries must be in the projection EPSG:4326.
the_geom_webmercator: this field is hidden in the dataset, and it stores the geometries in the projection EPSG:3857, this field is used to render the geometries on the map.
If you’re curious about the projection used in CARTO, take a look at this guide! :)
The CARTO datasets can be used to:
- Explore or modify the data using SQL queries.
- Build maps in Builder.
- Build apps using CARTO.js or CARTO VL.
- Further analyze your data using the CARTOframes library.
Maps in CARTO can be built with a varied look and feel, using different libraries (CARTO.js, CARTO VL) or tools (Builder) or with different audiences in mind. However, there are two main elements that are needed to build a map in CARTO:
style properties and
When a CARTO map is opened, CARTO accesses the data from the dataset or datasets that you select behind the scenes and then style is defined to visualize the data on the map. This mixture of data and styling creates the layer of the map that’s rendered when the map is loaded.
For example, in Builder you can create a map from one or more datasets, where the map will have one or more layers (where each layer will share the name of the corresponding dataset), and using CARTO.js or CARTO VL, the layers (data and styling) are defined programmatically. In all cases the
map needs one
layer at minimum to render the data and each layer needs the
data and the
style properties to work correctly.
Dataset and maps are different but related elements. If you remove a map, the layers of the map will be removed, but the dataset will be kept in your account. However, if you delete a dataset, the map that was created from that dataset will be removed as well.
Using your Data
You can explore or modify the data in your datasets using SQL queries.
Besides the data that you’ve uploaded into your CARTO account, you can also enrich your datasets with data that comes from our Data Observatory, Data Library or using our data services (geocoding, isolines or routing).
In order to geocode or create isolines, you can use both Builder or the CARTO Data Services API. In order to use the routing offering in CARTO, you would need to use the CARTO Data Services API.
You can find further information about how to geocode or create isolines in Builder in the tutorials section of the Help Center.
Besides the Data Observatory and Data Library, we offer Premium data with third-party data streams in order to further enrich your applications. Theses data offerings are detailedhere.
CARTO provides different tools and libraries to help you build your own Location Intelligence applications. At this moment the different options to develop apps are:
- Airship: a set of tools designed to facilitate the development of Location Intelligence apps by offering layouts, basic patterns, templates, CSS classes, components, widgets and much more.
- CARTOFrames: a Python package for integrating CARTO maps, analysis, and data services into data science workflows.
- Python SDK: a wrappet of the CARTO API’s designed to prepare, upload, analyze and enrich your data.
- Mobile SDK: to build mobile apps.
- CARTO APIs: the gateway to all the services CARTO provides.
- Data Observatory: provides access to a catalogue of curated datasets, and enables you to apply that data to your own datasets.
If you want to learn more about the options that CARTO offers to develop your application, we would recommend exploring our Developer Center, where you can find detailed information about the different tools and libraries that CARTO offers.
That’s all for this little overview around what CARTO can offer. In order to keep learning about CARTO, we recommend reading through additional sections of the Help Center.