SlideShare a Scribd company logo
1 of 47
Download to read offline
CARTO ENGINE
JORGE SANZ
SOLUTIONS ENGINEER & SUPPORT MANAGER
GEODEVELOPERS // FEBRUARY 2017
http://bit.ly/170214-carto-api-sdk
WHAT DOES
CARTO DO?
CARTO’s location intelligence
platform helps organizations use
and understand the impact and
value of place on operational
performance, strategic investments,
and everyday decisions.
STORE LOCATION ANALYSIS
WORLDWIDE ACCESS
1,200+ CUSTOMERS, 200,000 END-USERS | $30M FUNDING TO DATE | 100+ TEAM MEMBERS
PIONEERS IN LOCATION INTELLIGENCE
https://carto.com/jobs
PRODUCT
OFFERING
https://github.com/CartoDB
BUILDER
A web-based drag and drop analysis tool
for business users and analysts to
discover and predict key insights from
location data.
CARTO Builder unleashes the power of
location intelligence with self-service,
actionable dashboards you can share
across your whole organization.
LOCATION INTELLIGENCE
FINALLY INTUITIVE
ENGINE
A one-stop shop of geospatial tools, services, and
APIs for the rapid development of easy-to-use
location applications, CARTO Engine empowers
your organization with scalable analysis and
enrichment solutions you can fully embed in your
web & mobile apps.
● APIs
● SDKs
● Location Data Services
THE MASSIVE POWER BEHIND
LOCATION INTELLIGENCE
LOCATION
DATA
SERVICES
EXCEPTIONAL DATA,
TECH & CARTOGRAPHY TO
POWER YOUR APPS
A set of Location Data Services including
vector basemaps, geocoding, routing, and
demographic data augmentation services
to help extract the full potential of location
intelligence.
DATA
OBSERVATORY
Data augmentation services and seamless
access to borders, demographics,
segmentation and high value location data
layers.
The world's most trusted sources of
information to pair with your private
location data or incorporate into your
analysis workflows.
TECHNICAL
ARCHITECTURE
CARTO STACK
MOBILE SDK CARTO BUILDER HTML5 USER APP
CARTO.js
Leaflet / Google Maps
Fastly CDN (cloud only)
Varnish caching / nginx web server
Maps API / SQL API / Import API
PostGIS + CARTO-specific functions
PostgreSQL
Data observatory
Location Data Services
CARTO ON AWS /
GOOGLE CLOUD /
ON-PREMISES
3rd PARTY SERVICES
HOW CARTO WORKS
POSTGIS / DATA
SELECT * FROM mytable
CARTOCSS / STYLING
#mytable {
marker-type: ellipse;
marker-width: 10;
marker-fill: #5CA2D1;
}
+
MAP TILES
BASEMAP
+
BEAUTIFUL APPS
CARTO.js + LEAFLET
GEOSPATIAL
DATABASE
● PostgreSQL (relational database)
● PostGIS (storage + query of spatial
objects for PostgreSQL)
● CARTO extensions
● Exposed through Engine APIs
ETHNIC DIVERSITY OF THE US SHOWING ONE POINT FOR
EVERY 100 PEOPLE OF A GIVEN ETHNICITY
API ‘DEEP DIVE’
& EXAMPLES
MAPS API
Retrieve rendered map tiles from data+styling
Create and manage named maps and templates
SQL API
Run read/write queries against PostgreSQL
Use included functions to access Location Data
Services and Data Observatory
IMPORT API
Import shp, geojson, csv, kml, gpx…
ENGINE APIs
MANY DIFFERENT FILE
FORMATS SUPPORTED
DATA PREPARATION
Type guessing
Automatic indexing
Overviews generation for large datasets
CSV, SHP, KML, XLS, etc.
SYNC TABLES
Refresh remote datasets periodically
ASYNCHRONOUS
Large file support
Upload local or remote files to CARTO
Documentation
IMPORT API:
DETAILS
{ "item_queue_id": "efa9925c-31dd-11e4-a95e-0edbca4b5057", "success": true }
curl -v -H "Content-Type: application/json" -d
'{"url":"https://examplehost.com/sample.csv"}'
"https://{account}.cartodb.com/api/v1/imports/?api_key={api_key}"
curl -F file=@/home/documentation/Documents/prism_tour.csv
"https://documentation.cartodb.com/api/v1/imports/?api_key={api_key}"
Create table from a local file
Create table from a remote URL
Response
API DEEP DIVE
IMPORT API: EXAMPLES
THIN WRAPPER AROUND SQL
SYNCHRONOUS/ ASYNCHRONOUS
Support for time consuming “batch” queries
Security constraints
Read/Write
Work like you have your own database
CONNECTORS TO EXTERNAL DATA
SOURCES
Ogr2ogr, FME
Custom
ENRICHED SQL
PostGIS
CARTO’s own functions
Manage and query data
Documentation
SQL API:
DETAILS
API DEEP DIVE
SQL API:
WORKFLOWS
1. MANAGE YOUR DATA USING SQL
• Example: Create a database table.
• Example: Alter table’s column names or data types.
API DEEP DIVE
SQL API:
WORKFLOWS
1. MANAGE YOUR DATA USING SQL
2. DYNAMICALLY RUN GEO-PROCESSING
QUERIES, INCLUDING LENGTHY ONES THOUGH
BATCH JOBS
• Example: Give me 10 closest coffeeshops to this location.
API DEEP DIVE
SQL API:
WORKFLOWS
1. MANAGE YOUR DATA USING SQL
2. DYNAMICALLY RUN GEO-PROCESSING
QUERIES, INCLUDING LENGTHY ONES THOUGH
BATCH JOBS
3. ACCESS CARTO LOCATION DATA SERVICES
(EXAMPLES IN THE NEXT SECTION)
• Example: Give me a walking route from my location to the
nearest coffee shop
API DEEP DIVE
SQL API:
WORKFLOWS
1. MANAGE YOUR DATA USING SQL
2. DYNAMICALLY RUN GEO-PROCESSING
QUERIES, INCLUDING LENGTHY ONES THOUGH
BATCH JOBS
3. ACCESS CARTO LOCATION DATA SERVICES
(EXAMPLES IN THE NEXT SECTION)
4. EXPORT DATA
• Example: Export this SQL query as GeoJSON.
{ type: "FeatureCollection", features: [ { type: "Feature", properties: { year: "
2011", month: 10, day: "11", cartodb_id: 1, created_at:
"2012-02-06T22:50:35.778Z", updated_at: "2012-02-12T21:34:08.193Z" }, geometry: {
type: "Point", coordinates: [ -97.335, 35.498 ] } } ] }
http://{account}.cartodb.com/api/v2/sql?format=GeoJSON&q=SELECT * FROM {table}
LIMIT 1&api_key={Your API key}
{ time: 0.006, total_rows: 1, rows: [ { year: " 2011", month: 10, day: "11",
the_geom: "0101000020E610...", cartodb_id: 1, created_at:
"2012-02-06T22:50:35.778Z", updated_at: "2012-02-12T21:34:08.193Z",
the_geom_webmercator: "0101000020110F000..." } ] }
http://{account}.cartodb.com/api/v2/sql?q=SELECT * FROM {table} LIMIT
1&api_key={Your API key}
GET (POST w/payload) request
GET (POST w/payload) request
w/ format (e.g., CSV, SHP, SVG,
KML, or GeoJSON)
Response
API DEEP DIVE
SQL API: EXAMPLES
Response
HEADERS: 200 OK; application/json
BODY: [{
"job_id": "de305d54-75b4-431b-adb2-eb6b9e546014",
"user": "cartofante"
"query": "UPDATE airports SET type = 'international'",
"status": "pending",
"created_at": "2015-12-15T07:36:25Z",
"updated_at": "2015-12-15T07:36:25Z"
}]
curl -X GET "http://{username}.cartodb.com/api/v2/sql/job/{job_id}"
curl -X POST -H "Content-Type: application/json" -d '{
"query": "CREATE TABLE world_airports AS SELECT a.cartodb_id, a.the_geom,
a.the_geom_webmercator, a.name airport, b.name country FROM world_borders b JOIN
airports a ON ST_Contains(b.the_geom, a.the_geom)"
}' "http://{username}.cartodb.com/api/v2/sql/job"
Create a Batch SQL API job
Get status of a Batch API Job
Response
API DEEP DIVE
SQL API: BATCH EXAMPLES
SELECT * FROM {table} ORDER BY the_geom <-> CDB_LatLng(42.672291,-71.226982)
LIMIT 65
SELECT *, ST_Distance(the_geom, CDB_LatLng(42.672291,-71.226982)) d FROM {table}
SELECT cartodb_id, the_geom, the_geom_webmercator FROM {table}Select CARTO’s specific fields
SELECT ST_MakeLine(the_geom_webmercator) as the_geom_webmercator FROM {table}Join all points in table to make a
line
API DEEP DIVE
SQL API: ANALYSIS (1)
Create a virtual column with the
distance to a given point
Order by distance to a given
point and limit the number of
results
SELECT ST_Area(the_geom::geography) as area FROM {table}
UPDATE {table_1} SET points_in = (SELECT count(*) FROM {table_2} WHERE
ST_Intersects(the_geom, {table_1}.the_geom))
Create a new column in table 1
with the number of points from
table 2 that fall inside each of
table 1’s polygons
SELECT count(*), {table_1}.the_geom_webmercator FROM {table_1}, {table_2} WHERE
ST_Intersects({table_1}.the_geom, {table_2}.the_geom)
Now add the same column
dynamically, with
the_geom_webmercator
API DEEP DIVE
SQL API: ANALYSIS (2)
Create a virtual column with the
area of each polygon in a table
Learn more at http://postgis.net/docs/reference.html.
API DEEP DIVE
DATA
SERVICES
API:
WORKFLOWS
Documentation
1. GEOCODE POINTS BY STREET ADDRESS OR
LOCATION NAMES USING SQL API
API DEEP DIVE
DATA
SERVICES
API:
WORKFLOWS
1. GEOCODE POINTS BY STREET ADDRESS OR
LOCATION NAMES USING SQL API
2. OBTAIN ISOLINES FOR A POINT USING SQL API
API DEEP DIVE
DATA
SERVICES
API:
WORKFLOWS
1. GEOCODE POINTS BY STREET ADDRESS OR
LOCATION NAMES USING SQL API
2. OBTAIN ISOLINES FOR A POINT USING SQL API
3. OBTAIN POINT-TO-POINT ROUTING USING
SQL API
API DEEP DIVE
DATA
SERVICES
API:
WORKFLOWS
1. GEOCODE POINTS BY STREET ADDRESS OR
LOCATION NAMES USING SQL API
2. OBTAIN ISOLINES FOR A POINT USING SQL API
3. OBTAIN POINT-TO-POINT ROUTING USING
SQL API
4. OBTAIN DEMOGRAPHICS AND OTHER DATA
OBSERVATORY MEASURES AND BOUNDARIES
USING SQL API
• Example: Give me the duration, distance, and geometry of a
route between these two points.
• Example: Give me a demographic snapshot of this location.
UPDATE {tablename}
SET local_male_population = OBS_GetUSCensusMeasure(the_geom, 'Male Population')
INSERT INTO {table} (the_geom) SELECT the_geom FROM cdb_isochrone('POINT(-3.70568
40.42028)'::geometry, 'car', ARRAY[300, 900, 12000]::integer[],
ARRAY['mode_traffic=enabled','quality=3']::text[])
UPDATE {tablename} SET the_geom = cdb_geocode_admin0_polygon({country_column})
Geocode a table with country
names
Insert an Isochrone geometry
into a table
API DEEP DIVE
DATA SERVICES API: EXAMPLES
INSERT INTO <TABLE> (duration, length, the_geom) SELECT duration, length, shape
FROM cdb_route_point_to_point(
'POINT(-3.70237112 40.41706163)'::geometry,
'POINT(-3.69909883 40.41236875)'::geometry, 'car')
Insert an Route details into a
table
Update a table with a Data
Observatory Measure
MAPS API:
DETAILS
● Map tile rendering from SQL + CartoCSS
● Layer blending - layer and sublayer
support
● Server side: support large amounts of
features
● Client side: animated + aggregated
Torque maps
● Named maps - maps out of private
datasets
Documentation
API DEEP DIVE
MAPS API:
WORKFLOWS
1. CREATE MAPS BASED ON YOUR DATA AND
DISPLAY THEM ON LEAFLET/GOOGLE MAPS
OR ANY OTHER CLIENT
• Anonymous maps:
• Access public data with read-only SQL and CartoCSS.
• Create maps from Javascript apps (no authentication).
• Named maps:
• Access private data by setting and using server-side SQL
and CartoCSS templates.
• Requires authentication
API DEEP DIVE
MAPS API:
WORKFLOWS
1. CREATE MAPS BASED ON YOUR DATA AND
DISPLAY THEM ON LEAFLET/GOOGLE MAPS
OR ANY OTHER CLIENT
2. USE THE STATIC MAPS TO GENERATE IMAGES
• Example: Give me a map with this data from this style.
var mapConfig = { "version": "1.0.1", "layers": [{ "type": "cartodb",
"options": { "cartocss_version": "2.1.1", "cartocss": "#layer {
polygon-fill: #FFF; }", "sql": "select * from table_name" } }] };
$.ajax({ crossOrigin: true,
type: 'POST',
dataType: 'json',
contentType: 'application/json',
url: 'http://{account}.cartodb.com/api/v1/map',
data: JSON.stringify(mapConfig),
success: function(data) {
var templateUrl = 'http://{account}.cartodb.com/api/v1/map/' +
data.layergroupid + ‘/{z}/{x}/{y}.png';
console.log(templateUrl);
}
});
http://{account}.cartodb.com/api/v1/map/293ebfc4a757de0277336a6e2ab4bb15:0/{
z}/{x}/{y}.png
Get template URL for an
Anonymous Map (public)
API DEEP DIVE
MAPS API: EXAMPLES
mapconfig.json: { "version": "0.0.1", "name": "test", "auth": { "method": "open" },
"layergroup": { "layers": [{ "type": "cartodb", "options": { "cartocss_version": "2.1.1",
"cartocss": "#layer { polygon-fill: #FFF; }", "sql": "select * table_name" } }] } }
curl 'https://{account}.cartodb.com/api/v1/map/?api_key=APIKEY' 
-H 'Content-Type: application/json' -d @mapconfig.json
curl -X POST 'http://{account}.cartodb.com/api/v1/map/named/:template_id' 
-H 'Content-Type: application/json'
{ "cdn_url": { "http": "ashbu.cartocdn.com", "https": "cartocdn-ashbu.global.ssl.fastly.net"
}, "layergroupid": "c01a54877c62831bb51720263f91fb33:0", "last_updated":
"1970-01-01T00:00:00.000Z" }
http://{account}.cartodb.com/api/v1/map/c01a54877c62831bb51720263f91fb33:0/{z}/{x}/{y}.png
Get template URL for a Named
Map (auth required)
API DEEP DIVE
MAPS API: EXAMPLES
https://{username}.cartodb.com/api/v1/map/named/{named_map_name}/{layer}/{z}/{x}/{y}.png
https://example.cartodb.com/api/v1/map/named/my_map/all/0/0/0.png
Get X/Y/Z direct tiles URL for
a Named Map
API DEEP DIVE
MAPS API: EXAMPLES
BACKEND SDKs
Import API / SQL API wrappers for
Python, node.js and others
At this moment only Python SDK is
actively maintained
Javascript SDK for HTML5 app development.
CARTO.js:
DETAILS
● Based on jQuery + Backbone + Underscore
● Interfaces with SQL + Maps APIs to make
client-side development easy
● Built on Leaflet - leverage existing knowledge
and an open source community
● Integrates into Google Maps natively, can be
used from OpenLayers, and others
Documentación
MOBILE SDK
Custom mobile maps SDK for Android, iOS, WP10
and Xamarin supporting online and offline
solutions.
Benefit from the performance and scalability of
the CARTO SDK and enable online & offline base
maps, online & offline routing, GIS editing, 3D
features and indoor mapping for your apps.
https://github.com/CartoDB/mobile-sdk
https://github.com/CartoDB/mobile-android-samples
….
● APIKeyAuthClient
● FileImportJob
● SQLClient
● DatasetManager
● VisualizationManager
Python SDK
https://github.com/CartoDB/carto-python/tree/1.0.0
Ejemplos
OTHER RESOURCES
● Main documentation site
● CARTO Workshop
● CARTO guides
● CARTO team map
● Antipodes Map (OpenLayers + CARTO) · repo
● Cesium examples · repo
GET IN TOUCH
JORGE SANZ · jorge@carto.com · @xurxosanz
http://bit.ly/170214-carto-api-sdk
CARTO ENGINE

More Related Content

What's hot

Think Spatial: Don't Ignore Location in your Models! [CARTOframes]
Think Spatial: Don't Ignore Location in your Models! [CARTOframes]Think Spatial: Don't Ignore Location in your Models! [CARTOframes]
Think Spatial: Don't Ignore Location in your Models! [CARTOframes]CARTO
 
Unlock the power of spatial analysis using CARTO and python [CARTOframes]
Unlock the power of spatial analysis using CARTO and python [CARTOframes]Unlock the power of spatial analysis using CARTO and python [CARTOframes]
Unlock the power of spatial analysis using CARTO and python [CARTOframes]CARTO
 
Developing Spatial Applications with Google Maps and CARTO
Developing Spatial Applications with Google Maps and CARTODeveloping Spatial Applications with Google Maps and CARTO
Developing Spatial Applications with Google Maps and CARTOCARTO
 
Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1CARTO
 
Using Geospatial to Innovate in Last-Mile Logistics
Using Geospatial to Innovate in Last-Mile LogisticsUsing Geospatial to Innovate in Last-Mile Logistics
Using Geospatial to Innovate in Last-Mile LogisticsCARTO
 
Tips and tricks for Working with Demographic Data [CARTOframes & Python]
Tips and tricks for Working with Demographic Data [CARTOframes & Python]Tips and tricks for Working with Demographic Data [CARTOframes & Python]
Tips and tricks for Working with Demographic Data [CARTOframes & Python]CARTO
 
Scaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTOScaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTOCARTO
 
The Role of Data Science in Real Estate
The Role of Data Science in Real EstateThe Role of Data Science in Real Estate
The Role of Data Science in Real EstateCARTO
 
Geo Earth Mapping presentation
Geo Earth Mapping presentationGeo Earth Mapping presentation
Geo Earth Mapping presentationGeo Earth Mapping
 
Le rôle de l’intelligence géospatiale dans la reprise économique
Le rôle de l’intelligence géospatiale dans la reprise économiqueLe rôle de l’intelligence géospatiale dans la reprise économique
Le rôle de l’intelligence géospatiale dans la reprise économiqueCARTO
 
The geography of geospatial
The geography of  geospatialThe geography of  geospatial
The geography of geospatialTodd Barr
 
Civil Maps TechLab Demo Day 2017
Civil Maps TechLab Demo Day 2017Civil Maps TechLab Demo Day 2017
Civil Maps TechLab Demo Day 2017Civil Maps
 
CARTO Cloud Native – An Introduction to the Spatial Extension for BigQuery
CARTO Cloud Native – An Introduction to the Spatial Extension for BigQueryCARTO Cloud Native – An Introduction to the Spatial Extension for BigQuery
CARTO Cloud Native – An Introduction to the Spatial Extension for BigQueryCARTO
 
Tb geo dev_presentation_nov_5
Tb geo dev_presentation_nov_5Tb geo dev_presentation_nov_5
Tb geo dev_presentation_nov_5Todd Barr
 
CLOBS ERP - The Complete ERP from Cloud System W.L.L
CLOBS ERP - The Complete ERP from Cloud System W.L.LCLOBS ERP - The Complete ERP from Cloud System W.L.L
CLOBS ERP - The Complete ERP from Cloud System W.L.Lcloudsystemwll
 
The Role of Indoor Mapping in the “New Normal”
The Role of Indoor Mapping in the “New Normal”The Role of Indoor Mapping in the “New Normal”
The Role of Indoor Mapping in the “New Normal”CARTO
 
The NATO Core Geographic Services System
The NATO Core Geographic Services SystemThe NATO Core Geographic Services System
The NATO Core Geographic Services SystemEsri
 
Spatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GISSpatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GISGeorge Percivall
 

What's hot (20)

Think Spatial: Don't Ignore Location in your Models! [CARTOframes]
Think Spatial: Don't Ignore Location in your Models! [CARTOframes]Think Spatial: Don't Ignore Location in your Models! [CARTOframes]
Think Spatial: Don't Ignore Location in your Models! [CARTOframes]
 
Unlock the power of spatial analysis using CARTO and python [CARTOframes]
Unlock the power of spatial analysis using CARTO and python [CARTOframes]Unlock the power of spatial analysis using CARTO and python [CARTOframes]
Unlock the power of spatial analysis using CARTO and python [CARTOframes]
 
Developing Spatial Applications with Google Maps and CARTO
Developing Spatial Applications with Google Maps and CARTODeveloping Spatial Applications with Google Maps and CARTO
Developing Spatial Applications with Google Maps and CARTO
 
Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1Developing Spatial Applications with CARTO for React v1.1
Developing Spatial Applications with CARTO for React v1.1
 
Using Geospatial to Innovate in Last-Mile Logistics
Using Geospatial to Innovate in Last-Mile LogisticsUsing Geospatial to Innovate in Last-Mile Logistics
Using Geospatial to Innovate in Last-Mile Logistics
 
Tips and tricks for Working with Demographic Data [CARTOframes & Python]
Tips and tricks for Working with Demographic Data [CARTOframes & Python]Tips and tricks for Working with Demographic Data [CARTOframes & Python]
Tips and tricks for Working with Demographic Data [CARTOframes & Python]
 
Scaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTOScaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTO
 
The Role of Data Science in Real Estate
The Role of Data Science in Real EstateThe Role of Data Science in Real Estate
The Role of Data Science in Real Estate
 
Asset management with gis
Asset management with gisAsset management with gis
Asset management with gis
 
Geo Earth Mapping presentation
Geo Earth Mapping presentationGeo Earth Mapping presentation
Geo Earth Mapping presentation
 
Le rôle de l’intelligence géospatiale dans la reprise économique
Le rôle de l’intelligence géospatiale dans la reprise économiqueLe rôle de l’intelligence géospatiale dans la reprise économique
Le rôle de l’intelligence géospatiale dans la reprise économique
 
Introduction to GIS
Introduction to GISIntroduction to GIS
Introduction to GIS
 
The geography of geospatial
The geography of  geospatialThe geography of  geospatial
The geography of geospatial
 
Civil Maps TechLab Demo Day 2017
Civil Maps TechLab Demo Day 2017Civil Maps TechLab Demo Day 2017
Civil Maps TechLab Demo Day 2017
 
CARTO Cloud Native – An Introduction to the Spatial Extension for BigQuery
CARTO Cloud Native – An Introduction to the Spatial Extension for BigQueryCARTO Cloud Native – An Introduction to the Spatial Extension for BigQuery
CARTO Cloud Native – An Introduction to the Spatial Extension for BigQuery
 
Tb geo dev_presentation_nov_5
Tb geo dev_presentation_nov_5Tb geo dev_presentation_nov_5
Tb geo dev_presentation_nov_5
 
CLOBS ERP - The Complete ERP from Cloud System W.L.L
CLOBS ERP - The Complete ERP from Cloud System W.L.LCLOBS ERP - The Complete ERP from Cloud System W.L.L
CLOBS ERP - The Complete ERP from Cloud System W.L.L
 
The Role of Indoor Mapping in the “New Normal”
The Role of Indoor Mapping in the “New Normal”The Role of Indoor Mapping in the “New Normal”
The Role of Indoor Mapping in the “New Normal”
 
The NATO Core Geographic Services System
The NATO Core Geographic Services SystemThe NATO Core Geographic Services System
The NATO Core Geographic Services System
 
Spatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GISSpatial Computing and the Future of Utility GIS
Spatial Computing and the Future of Utility GIS
 

Viewers also liked

Borealis Salon Ad
Borealis Salon AdBorealis Salon Ad
Borealis Salon AdCarrieM13
 
From producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataFrom producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataJorge Sanz
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for EveryoneJorge Sanz
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverMaps
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturasSamis Ambrocio
 
Tecnologías de información maestría
Tecnologías de información maestríaTecnologías de información maestría
Tecnologías de información maestríaMaestros Online
 
ACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras OnlineACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras OnlineAndaluciaCD
 
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with MicroservicesThe 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with MicroservicesLightbend
 
Ejemplo de un Proyecto CRM
Ejemplo de un Proyecto CRMEjemplo de un Proyecto CRM
Ejemplo de un Proyecto CRMJose Martinez
 
Introduccion a un curso de Programación Segura
Introduccion a un curso de Programación SeguraIntroduccion a un curso de Programación Segura
Introduccion a un curso de Programación SeguraFernando Tricas García
 
Búsqueda de empleo 2.0
Búsqueda de empleo 2.0Búsqueda de empleo 2.0
Búsqueda de empleo 2.0Software Guru
 

Viewers also liked (14)

Borealis Salon Ad
Borealis Salon AdBorealis Salon Ad
Borealis Salon Ad
 
Mapablogs
MapablogsMapablogs
Mapablogs
 
From producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataFrom producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference data
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for Everyone
 
La ComunicacióN
La ComunicacióNLa ComunicacióN
La ComunicacióN
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities
 
Samm owasp
Samm owaspSamm owasp
Samm owasp
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturas
 
Tecnologías de información maestría
Tecnologías de información maestríaTecnologías de información maestría
Tecnologías de información maestría
 
ACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras OnlineACD Riesgos TIC: Sistemas Seguros para Compras Online
ACD Riesgos TIC: Sistemas Seguros para Compras Online
 
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with MicroservicesThe 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
 
Ejemplo de un Proyecto CRM
Ejemplo de un Proyecto CRMEjemplo de un Proyecto CRM
Ejemplo de un Proyecto CRM
 
Introduccion a un curso de Programación Segura
Introduccion a un curso de Programación SeguraIntroduccion a un curso de Programación Segura
Introduccion a un curso de Programación Segura
 
Búsqueda de empleo 2.0
Búsqueda de empleo 2.0Búsqueda de empleo 2.0
Búsqueda de empleo 2.0
 

Similar to CARTO ENGINE

Simple APIs for Spatial Data (OGC API - Features)
Simple APIs for Spatial Data (OGC API - Features)Simple APIs for Spatial Data (OGC API - Features)
Simple APIs for Spatial Data (OGC API - Features)Sampo Savolainen
 
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013Kiril Iliev
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Tech Community
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Tech Community
 
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
 Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data... Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...Big Data Spain
 
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece CoLab Athens
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsSPC Adriatics
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EngineDataWorks Summit
 
Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...
Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...
Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...Jim Czuprynski
 
Quick and Easy Development with Node.js and Couchbase Server
Quick and Easy Development with Node.js and Couchbase ServerQuick and Easy Development with Node.js and Couchbase Server
Quick and Easy Development with Node.js and Couchbase ServerNic Raboy
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt versionrudy_stricklan
 
Intro to Big Data - Orlando Code Camp 2014
Intro to Big Data - Orlando Code Camp 2014Intro to Big Data - Orlando Code Camp 2014
Intro to Big Data - Orlando Code Camp 2014John Ternent
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
Monitoring Spark Applications
Monitoring Spark ApplicationsMonitoring Spark Applications
Monitoring Spark ApplicationsTzach Zohar
 
What are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilitiesWhat are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilitiesMicrosoft Tech Community
 
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Codemotion
 
FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)Fermin Galan
 
API Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015
API  Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015 API  Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015
API Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015 Hamdi Hmidi
 

Similar to CARTO ENGINE (20)

Simple APIs for Spatial Data (OGC API - Features)
Simple APIs for Spatial Data (OGC API - Features)Simple APIs for Spatial Data (OGC API - Features)
Simple APIs for Spatial Data (OGC API - Features)
 
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
 Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data... Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...
 
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
Ioannis Doxaras on GIS and Gmaps at 1st GTUG meetup Greece
 
Made for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile AppsMade for Mobile - Let Office 365 Power Your Mobile Apps
Made for Mobile - Let Office 365 Power Your Mobile Apps
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...
Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...
Politics Ain’t Beanbag: Using APEX, ML, and GeoCoding In a Modern Election Ca...
 
Quick and Easy Development with Node.js and Couchbase Server
Quick and Easy Development with Node.js and Couchbase ServerQuick and Easy Development with Node.js and Couchbase Server
Quick and Easy Development with Node.js and Couchbase Server
 
Web enabling your survey business ppt version
Web enabling your survey business ppt versionWeb enabling your survey business ppt version
Web enabling your survey business ppt version
 
Intro to Big Data - Orlando Code Camp 2014
Intro to Big Data - Orlando Code Camp 2014Intro to Big Data - Orlando Code Camp 2014
Intro to Big Data - Orlando Code Camp 2014
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
Monitoring Spark Applications
Monitoring Spark ApplicationsMonitoring Spark Applications
Monitoring Spark Applications
 
API gateway setup
API gateway setupAPI gateway setup
API gateway setup
 
What are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilitiesWhat are customers building with new Bing Maps capabilities
What are customers building with new Bing Maps capabilities
 
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
 
FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)FIWARE: Managing Context Information at Large Scale (NGSIv1)
FIWARE: Managing Context Information at Large Scale (NGSIv1)
 
API Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015
API  Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015 API  Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015
API Driven Application - AngulatJS, NodeJS and MongoDB | JCertif Tunisia 2015
 

More from Jorge Sanz

Trabajo en remoto, o cómo pasar el día entero en pijama
Trabajo en remoto, o cómo pasar el día entero en pijamaTrabajo en remoto, o cómo pasar el día entero en pijama
Trabajo en remoto, o cómo pasar el día entero en pijamaJorge Sanz
 
Location Intellligence para administraciones públicas
Location Intellligence para administraciones públicasLocation Intellligence para administraciones públicas
Location Intellligence para administraciones públicasJorge Sanz
 
Más aplicaciones y menos geoportales
Más aplicaciones y menos geoportalesMás aplicaciones y menos geoportales
Más aplicaciones y menos geoportalesJorge Sanz
 
A series of unfortunate maps, and how to fix them
A series of unfortunate maps, and how to fix themA series of unfortunate maps, and how to fix them
A series of unfortunate maps, and how to fix themJorge Sanz
 
Democratizando la publicación de datos geográficos
Democratizando la publicación de datos geográficosDemocratizando la publicación de datos geográficos
Democratizando la publicación de datos geográficosJorge Sanz
 
De Casa al Cole
De Casa al ColeDe Casa al Cole
De Casa al ColeJorge Sanz
 
Perspectivas profesionales en geomática 2014
Perspectivas profesionales en geomática 2014Perspectivas profesionales en geomática 2014
Perspectivas profesionales en geomática 2014Jorge Sanz
 
SeaCare Application
SeaCare ApplicationSeaCare Application
SeaCare ApplicationJorge Sanz
 
Panorama SIG Libre 2014
Panorama SIG Libre 2014Panorama SIG Libre 2014
Panorama SIG Libre 2014Jorge Sanz
 
STIMULO: sistema de transporte logístico inteligente multimodal
STIMULO:  sistema de transporte logístico inteligente multimodalSTIMULO:  sistema de transporte logístico inteligente multimodal
STIMULO: sistema de transporte logístico inteligente multimodalJorge Sanz
 
Cartografiando en filipinas para OSM
Cartografiando en filipinas para OSMCartografiando en filipinas para OSM
Cartografiando en filipinas para OSMJorge Sanz
 
From CAD to DB
From CAD to DBFrom CAD to DB
From CAD to DBJorge Sanz
 
OSGeo-es y Geoinquietos
OSGeo-es y GeoinquietosOSGeo-es y Geoinquietos
OSGeo-es y GeoinquietosJorge Sanz
 
Implantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX CImplantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX CJorge Sanz
 
How to collaborate with the gvSIG project
How to collaborate with the gvSIG projectHow to collaborate with the gvSIG project
How to collaborate with the gvSIG projectJorge Sanz
 
gvSIG Desktop raster
gvSIG Desktop rastergvSIG Desktop raster
gvSIG Desktop rasterJorge Sanz
 
Some gvSIG Desktop applications
Some gvSIG Desktop applicationsSome gvSIG Desktop applications
Some gvSIG Desktop applicationsJorge Sanz
 
gvSIG Desktop 1.10 and 1.11 new features
gvSIG Desktop 1.10 and 1.11 new featuresgvSIG Desktop 1.10 and 1.11 new features
gvSIG Desktop 1.10 and 1.11 new featuresJorge Sanz
 

More from Jorge Sanz (20)

Trabajo en remoto, o cómo pasar el día entero en pijama
Trabajo en remoto, o cómo pasar el día entero en pijamaTrabajo en remoto, o cómo pasar el día entero en pijama
Trabajo en remoto, o cómo pasar el día entero en pijama
 
Location Intellligence para administraciones públicas
Location Intellligence para administraciones públicasLocation Intellligence para administraciones públicas
Location Intellligence para administraciones públicas
 
Más aplicaciones y menos geoportales
Más aplicaciones y menos geoportalesMás aplicaciones y menos geoportales
Más aplicaciones y menos geoportales
 
A series of unfortunate maps, and how to fix them
A series of unfortunate maps, and how to fix themA series of unfortunate maps, and how to fix them
A series of unfortunate maps, and how to fix them
 
Democratizando la publicación de datos geográficos
Democratizando la publicación de datos geográficosDemocratizando la publicación de datos geográficos
Democratizando la publicación de datos geográficos
 
De Casa al Cole
De Casa al ColeDe Casa al Cole
De Casa al Cole
 
Perspectivas profesionales en geomática 2014
Perspectivas profesionales en geomática 2014Perspectivas profesionales en geomática 2014
Perspectivas profesionales en geomática 2014
 
SeaCare Application
SeaCare ApplicationSeaCare Application
SeaCare Application
 
Panorama SIG Libre 2014
Panorama SIG Libre 2014Panorama SIG Libre 2014
Panorama SIG Libre 2014
 
STIMULO: sistema de transporte logístico inteligente multimodal
STIMULO:  sistema de transporte logístico inteligente multimodalSTIMULO:  sistema de transporte logístico inteligente multimodal
STIMULO: sistema de transporte logístico inteligente multimodal
 
Cartografiando en filipinas para OSM
Cartografiando en filipinas para OSMCartografiando en filipinas para OSM
Cartografiando en filipinas para OSM
 
From CAD to DB
From CAD to DBFrom CAD to DB
From CAD to DB
 
gvSIG 2.0
gvSIG 2.0gvSIG 2.0
gvSIG 2.0
 
OSGeo-es y Geoinquietos
OSGeo-es y GeoinquietosOSGeo-es y Geoinquietos
OSGeo-es y Geoinquietos
 
Implantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX CImplantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX C
 
OSGeo Live
OSGeo LiveOSGeo Live
OSGeo Live
 
How to collaborate with the gvSIG project
How to collaborate with the gvSIG projectHow to collaborate with the gvSIG project
How to collaborate with the gvSIG project
 
gvSIG Desktop raster
gvSIG Desktop rastergvSIG Desktop raster
gvSIG Desktop raster
 
Some gvSIG Desktop applications
Some gvSIG Desktop applicationsSome gvSIG Desktop applications
Some gvSIG Desktop applications
 
gvSIG Desktop 1.10 and 1.11 new features
gvSIG Desktop 1.10 and 1.11 new featuresgvSIG Desktop 1.10 and 1.11 new features
gvSIG Desktop 1.10 and 1.11 new features
 

Recently uploaded

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Recently uploaded (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

CARTO ENGINE

  • 1. CARTO ENGINE JORGE SANZ SOLUTIONS ENGINEER & SUPPORT MANAGER GEODEVELOPERS // FEBRUARY 2017 http://bit.ly/170214-carto-api-sdk
  • 2. WHAT DOES CARTO DO? CARTO’s location intelligence platform helps organizations use and understand the impact and value of place on operational performance, strategic investments, and everyday decisions. STORE LOCATION ANALYSIS
  • 3.
  • 4. WORLDWIDE ACCESS 1,200+ CUSTOMERS, 200,000 END-USERS | $30M FUNDING TO DATE | 100+ TEAM MEMBERS PIONEERS IN LOCATION INTELLIGENCE
  • 5.
  • 9. BUILDER A web-based drag and drop analysis tool for business users and analysts to discover and predict key insights from location data. CARTO Builder unleashes the power of location intelligence with self-service, actionable dashboards you can share across your whole organization. LOCATION INTELLIGENCE FINALLY INTUITIVE
  • 10. ENGINE A one-stop shop of geospatial tools, services, and APIs for the rapid development of easy-to-use location applications, CARTO Engine empowers your organization with scalable analysis and enrichment solutions you can fully embed in your web & mobile apps. ● APIs ● SDKs ● Location Data Services THE MASSIVE POWER BEHIND LOCATION INTELLIGENCE
  • 11. LOCATION DATA SERVICES EXCEPTIONAL DATA, TECH & CARTOGRAPHY TO POWER YOUR APPS A set of Location Data Services including vector basemaps, geocoding, routing, and demographic data augmentation services to help extract the full potential of location intelligence.
  • 12. DATA OBSERVATORY Data augmentation services and seamless access to borders, demographics, segmentation and high value location data layers. The world's most trusted sources of information to pair with your private location data or incorporate into your analysis workflows.
  • 14. CARTO STACK MOBILE SDK CARTO BUILDER HTML5 USER APP CARTO.js Leaflet / Google Maps Fastly CDN (cloud only) Varnish caching / nginx web server Maps API / SQL API / Import API PostGIS + CARTO-specific functions PostgreSQL Data observatory Location Data Services CARTO ON AWS / GOOGLE CLOUD / ON-PREMISES 3rd PARTY SERVICES
  • 15. HOW CARTO WORKS POSTGIS / DATA SELECT * FROM mytable CARTOCSS / STYLING #mytable { marker-type: ellipse; marker-width: 10; marker-fill: #5CA2D1; } + MAP TILES BASEMAP + BEAUTIFUL APPS CARTO.js + LEAFLET
  • 16. GEOSPATIAL DATABASE ● PostgreSQL (relational database) ● PostGIS (storage + query of spatial objects for PostgreSQL) ● CARTO extensions ● Exposed through Engine APIs ETHNIC DIVERSITY OF THE US SHOWING ONE POINT FOR EVERY 100 PEOPLE OF A GIVEN ETHNICITY
  • 18. MAPS API Retrieve rendered map tiles from data+styling Create and manage named maps and templates SQL API Run read/write queries against PostgreSQL Use included functions to access Location Data Services and Data Observatory IMPORT API Import shp, geojson, csv, kml, gpx… ENGINE APIs
  • 19. MANY DIFFERENT FILE FORMATS SUPPORTED DATA PREPARATION Type guessing Automatic indexing Overviews generation for large datasets CSV, SHP, KML, XLS, etc. SYNC TABLES Refresh remote datasets periodically ASYNCHRONOUS Large file support Upload local or remote files to CARTO Documentation IMPORT API: DETAILS
  • 20. { "item_queue_id": "efa9925c-31dd-11e4-a95e-0edbca4b5057", "success": true } curl -v -H "Content-Type: application/json" -d '{"url":"https://examplehost.com/sample.csv"}' "https://{account}.cartodb.com/api/v1/imports/?api_key={api_key}" curl -F file=@/home/documentation/Documents/prism_tour.csv "https://documentation.cartodb.com/api/v1/imports/?api_key={api_key}" Create table from a local file Create table from a remote URL Response API DEEP DIVE IMPORT API: EXAMPLES
  • 21. THIN WRAPPER AROUND SQL SYNCHRONOUS/ ASYNCHRONOUS Support for time consuming “batch” queries Security constraints Read/Write Work like you have your own database CONNECTORS TO EXTERNAL DATA SOURCES Ogr2ogr, FME Custom ENRICHED SQL PostGIS CARTO’s own functions Manage and query data Documentation SQL API: DETAILS
  • 22. API DEEP DIVE SQL API: WORKFLOWS 1. MANAGE YOUR DATA USING SQL • Example: Create a database table. • Example: Alter table’s column names or data types.
  • 23. API DEEP DIVE SQL API: WORKFLOWS 1. MANAGE YOUR DATA USING SQL 2. DYNAMICALLY RUN GEO-PROCESSING QUERIES, INCLUDING LENGTHY ONES THOUGH BATCH JOBS • Example: Give me 10 closest coffeeshops to this location.
  • 24. API DEEP DIVE SQL API: WORKFLOWS 1. MANAGE YOUR DATA USING SQL 2. DYNAMICALLY RUN GEO-PROCESSING QUERIES, INCLUDING LENGTHY ONES THOUGH BATCH JOBS 3. ACCESS CARTO LOCATION DATA SERVICES (EXAMPLES IN THE NEXT SECTION) • Example: Give me a walking route from my location to the nearest coffee shop
  • 25. API DEEP DIVE SQL API: WORKFLOWS 1. MANAGE YOUR DATA USING SQL 2. DYNAMICALLY RUN GEO-PROCESSING QUERIES, INCLUDING LENGTHY ONES THOUGH BATCH JOBS 3. ACCESS CARTO LOCATION DATA SERVICES (EXAMPLES IN THE NEXT SECTION) 4. EXPORT DATA • Example: Export this SQL query as GeoJSON.
  • 26. { type: "FeatureCollection", features: [ { type: "Feature", properties: { year: " 2011", month: 10, day: "11", cartodb_id: 1, created_at: "2012-02-06T22:50:35.778Z", updated_at: "2012-02-12T21:34:08.193Z" }, geometry: { type: "Point", coordinates: [ -97.335, 35.498 ] } } ] } http://{account}.cartodb.com/api/v2/sql?format=GeoJSON&q=SELECT * FROM {table} LIMIT 1&api_key={Your API key} { time: 0.006, total_rows: 1, rows: [ { year: " 2011", month: 10, day: "11", the_geom: "0101000020E610...", cartodb_id: 1, created_at: "2012-02-06T22:50:35.778Z", updated_at: "2012-02-12T21:34:08.193Z", the_geom_webmercator: "0101000020110F000..." } ] } http://{account}.cartodb.com/api/v2/sql?q=SELECT * FROM {table} LIMIT 1&api_key={Your API key} GET (POST w/payload) request GET (POST w/payload) request w/ format (e.g., CSV, SHP, SVG, KML, or GeoJSON) Response API DEEP DIVE SQL API: EXAMPLES Response
  • 27. HEADERS: 200 OK; application/json BODY: [{ "job_id": "de305d54-75b4-431b-adb2-eb6b9e546014", "user": "cartofante" "query": "UPDATE airports SET type = 'international'", "status": "pending", "created_at": "2015-12-15T07:36:25Z", "updated_at": "2015-12-15T07:36:25Z" }] curl -X GET "http://{username}.cartodb.com/api/v2/sql/job/{job_id}" curl -X POST -H "Content-Type: application/json" -d '{ "query": "CREATE TABLE world_airports AS SELECT a.cartodb_id, a.the_geom, a.the_geom_webmercator, a.name airport, b.name country FROM world_borders b JOIN airports a ON ST_Contains(b.the_geom, a.the_geom)" }' "http://{username}.cartodb.com/api/v2/sql/job" Create a Batch SQL API job Get status of a Batch API Job Response API DEEP DIVE SQL API: BATCH EXAMPLES
  • 28. SELECT * FROM {table} ORDER BY the_geom <-> CDB_LatLng(42.672291,-71.226982) LIMIT 65 SELECT *, ST_Distance(the_geom, CDB_LatLng(42.672291,-71.226982)) d FROM {table} SELECT cartodb_id, the_geom, the_geom_webmercator FROM {table}Select CARTO’s specific fields SELECT ST_MakeLine(the_geom_webmercator) as the_geom_webmercator FROM {table}Join all points in table to make a line API DEEP DIVE SQL API: ANALYSIS (1) Create a virtual column with the distance to a given point Order by distance to a given point and limit the number of results
  • 29. SELECT ST_Area(the_geom::geography) as area FROM {table} UPDATE {table_1} SET points_in = (SELECT count(*) FROM {table_2} WHERE ST_Intersects(the_geom, {table_1}.the_geom)) Create a new column in table 1 with the number of points from table 2 that fall inside each of table 1’s polygons SELECT count(*), {table_1}.the_geom_webmercator FROM {table_1}, {table_2} WHERE ST_Intersects({table_1}.the_geom, {table_2}.the_geom) Now add the same column dynamically, with the_geom_webmercator API DEEP DIVE SQL API: ANALYSIS (2) Create a virtual column with the area of each polygon in a table Learn more at http://postgis.net/docs/reference.html.
  • 30. API DEEP DIVE DATA SERVICES API: WORKFLOWS Documentation 1. GEOCODE POINTS BY STREET ADDRESS OR LOCATION NAMES USING SQL API
  • 31. API DEEP DIVE DATA SERVICES API: WORKFLOWS 1. GEOCODE POINTS BY STREET ADDRESS OR LOCATION NAMES USING SQL API 2. OBTAIN ISOLINES FOR A POINT USING SQL API
  • 32. API DEEP DIVE DATA SERVICES API: WORKFLOWS 1. GEOCODE POINTS BY STREET ADDRESS OR LOCATION NAMES USING SQL API 2. OBTAIN ISOLINES FOR A POINT USING SQL API 3. OBTAIN POINT-TO-POINT ROUTING USING SQL API
  • 33. API DEEP DIVE DATA SERVICES API: WORKFLOWS 1. GEOCODE POINTS BY STREET ADDRESS OR LOCATION NAMES USING SQL API 2. OBTAIN ISOLINES FOR A POINT USING SQL API 3. OBTAIN POINT-TO-POINT ROUTING USING SQL API 4. OBTAIN DEMOGRAPHICS AND OTHER DATA OBSERVATORY MEASURES AND BOUNDARIES USING SQL API • Example: Give me the duration, distance, and geometry of a route between these two points. • Example: Give me a demographic snapshot of this location.
  • 34. UPDATE {tablename} SET local_male_population = OBS_GetUSCensusMeasure(the_geom, 'Male Population') INSERT INTO {table} (the_geom) SELECT the_geom FROM cdb_isochrone('POINT(-3.70568 40.42028)'::geometry, 'car', ARRAY[300, 900, 12000]::integer[], ARRAY['mode_traffic=enabled','quality=3']::text[]) UPDATE {tablename} SET the_geom = cdb_geocode_admin0_polygon({country_column}) Geocode a table with country names Insert an Isochrone geometry into a table API DEEP DIVE DATA SERVICES API: EXAMPLES INSERT INTO <TABLE> (duration, length, the_geom) SELECT duration, length, shape FROM cdb_route_point_to_point( 'POINT(-3.70237112 40.41706163)'::geometry, 'POINT(-3.69909883 40.41236875)'::geometry, 'car') Insert an Route details into a table Update a table with a Data Observatory Measure
  • 35. MAPS API: DETAILS ● Map tile rendering from SQL + CartoCSS ● Layer blending - layer and sublayer support ● Server side: support large amounts of features ● Client side: animated + aggregated Torque maps ● Named maps - maps out of private datasets Documentation
  • 36. API DEEP DIVE MAPS API: WORKFLOWS 1. CREATE MAPS BASED ON YOUR DATA AND DISPLAY THEM ON LEAFLET/GOOGLE MAPS OR ANY OTHER CLIENT • Anonymous maps: • Access public data with read-only SQL and CartoCSS. • Create maps from Javascript apps (no authentication). • Named maps: • Access private data by setting and using server-side SQL and CartoCSS templates. • Requires authentication
  • 37. API DEEP DIVE MAPS API: WORKFLOWS 1. CREATE MAPS BASED ON YOUR DATA AND DISPLAY THEM ON LEAFLET/GOOGLE MAPS OR ANY OTHER CLIENT 2. USE THE STATIC MAPS TO GENERATE IMAGES • Example: Give me a map with this data from this style.
  • 38. var mapConfig = { "version": "1.0.1", "layers": [{ "type": "cartodb", "options": { "cartocss_version": "2.1.1", "cartocss": "#layer { polygon-fill: #FFF; }", "sql": "select * from table_name" } }] }; $.ajax({ crossOrigin: true, type: 'POST', dataType: 'json', contentType: 'application/json', url: 'http://{account}.cartodb.com/api/v1/map', data: JSON.stringify(mapConfig), success: function(data) { var templateUrl = 'http://{account}.cartodb.com/api/v1/map/' + data.layergroupid + ‘/{z}/{x}/{y}.png'; console.log(templateUrl); } }); http://{account}.cartodb.com/api/v1/map/293ebfc4a757de0277336a6e2ab4bb15:0/{ z}/{x}/{y}.png Get template URL for an Anonymous Map (public) API DEEP DIVE MAPS API: EXAMPLES
  • 39. mapconfig.json: { "version": "0.0.1", "name": "test", "auth": { "method": "open" }, "layergroup": { "layers": [{ "type": "cartodb", "options": { "cartocss_version": "2.1.1", "cartocss": "#layer { polygon-fill: #FFF; }", "sql": "select * table_name" } }] } } curl 'https://{account}.cartodb.com/api/v1/map/?api_key=APIKEY' -H 'Content-Type: application/json' -d @mapconfig.json curl -X POST 'http://{account}.cartodb.com/api/v1/map/named/:template_id' -H 'Content-Type: application/json' { "cdn_url": { "http": "ashbu.cartocdn.com", "https": "cartocdn-ashbu.global.ssl.fastly.net" }, "layergroupid": "c01a54877c62831bb51720263f91fb33:0", "last_updated": "1970-01-01T00:00:00.000Z" } http://{account}.cartodb.com/api/v1/map/c01a54877c62831bb51720263f91fb33:0/{z}/{x}/{y}.png Get template URL for a Named Map (auth required) API DEEP DIVE MAPS API: EXAMPLES
  • 41. BACKEND SDKs Import API / SQL API wrappers for Python, node.js and others At this moment only Python SDK is actively maintained
  • 42. Javascript SDK for HTML5 app development. CARTO.js: DETAILS ● Based on jQuery + Backbone + Underscore ● Interfaces with SQL + Maps APIs to make client-side development easy ● Built on Leaflet - leverage existing knowledge and an open source community ● Integrates into Google Maps natively, can be used from OpenLayers, and others Documentación
  • 43. MOBILE SDK Custom mobile maps SDK for Android, iOS, WP10 and Xamarin supporting online and offline solutions. Benefit from the performance and scalability of the CARTO SDK and enable online & offline base maps, online & offline routing, GIS editing, 3D features and indoor mapping for your apps. https://github.com/CartoDB/mobile-sdk https://github.com/CartoDB/mobile-android-samples ….
  • 44. ● APIKeyAuthClient ● FileImportJob ● SQLClient ● DatasetManager ● VisualizationManager Python SDK https://github.com/CartoDB/carto-python/tree/1.0.0 Ejemplos
  • 45. OTHER RESOURCES ● Main documentation site ● CARTO Workshop ● CARTO guides ● CARTO team map ● Antipodes Map (OpenLayers + CARTO) · repo ● Cesium examples · repo
  • 46. GET IN TOUCH JORGE SANZ · jorge@carto.com · @xurxosanz http://bit.ly/170214-carto-api-sdk