Ejemplos de consultas comunes
Copie y pegue ejemplos de consultas para casos de uso comunes de CalHeatScore: búsquedas para un único código postal, filtrado por nivel de riesgo, visualización en formato GeoJSON, entre otras.
Ejemplos en esta página
- Pronóstico a 7 días: obtenga el pronóstico completo para un solo código postal.
- Múltiples códigos postales: consulte varios códigos postales en una sola solicitud.
- Riesgo alto/extremo: filtre los códigos postales con puntaje 3 o 4 para hoy.
- Límites en GeoJSON: obtenga polígonos de códigos postales para usar con bibliotecas de creación de mapas.
- Respuesta mínima: solicite la respuesta más pequeña posible para una búsqueda individual.
- Conteo por puntaje: obtenga el número de códigos postales en cada nivel de puntaje.
Obtenga el pronóstico a 7 días para un código postal
Obtenga el pronóstico completo de puntajes de calor a 7 días para un solo código postal.
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=ZIP_CODE='94612'&outFields=ZIP_CODE,DATE,CHS_Day_0,CHS_Day_1,CHS_Day_2,CHS_Day_3,CHS_Day_4,CHS_Day_5,CHS_Day_6&returnGeometry=false&f=json"
import requests
BASE_URL = (
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/"
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query"
)
params = {
"where": "ZIP_CODE='94612'",
"outFields": "ZIP_CODE,DATE,CHS_Day_0,CHS_Day_1,CHS_Day_2,CHS_Day_3,CHS_Day_4,CHS_Day_5,CHS_Day_6",
"returnGeometry": "false",
"f": "json",
}
response = requests.get(BASE_URL, params=params)
data = response.json()
if "error" in data:
print(f"Error: {data['error']['message']}")
else:
for feature in data["features"]:
attrs = feature["attributes"]
print(f"ZIP {attrs['ZIP_CODE']} ({attrs['DATE']})")
for day in range(7):
score = attrs[f"CHS_Day_{day}"]
print(f" Day {day}: {score}")
const baseUrl =
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/" +
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query";
const params = new URLSearchParams({
where: "ZIP_CODE='94612'",
outFields: "ZIP_CODE,DATE,CHS_Day_0,CHS_Day_1,CHS_Day_2,CHS_Day_3,CHS_Day_4,CHS_Day_5,CHS_Day_6",
returnGeometry: "false",
f: "json",
});
fetch(`${baseUrl}?${params}`)
.then((res) => res.json())
.then((data) => {
if (data.error) {
console.error(`Error: ${data.error.message}`);
return;
}
data.features.forEach((feature) => {
const attrs = feature.attributes;
console.log(`ZIP ${attrs.ZIP_CODE} (${attrs.DATE})`);
for (let day = 0; day <= 6; day++) {
console.log(` Day ${day}: ${attrs[`CHS_Day_${day}`]}`);
}
});
})
.catch((err) => console.error("Request failed:", err));
{
"features": [
{
"attributes": {
"ZIP_CODE": "94612",
"DATE": "2026-02-21",
"CHS_Day_0": "0",
"CHS_Day_1": "0",
"CHS_Day_2": "1",
"CHS_Day_3": "2",
"CHS_Day_4": "1",
"CHS_Day_5": "0",
"CHS_Day_6": "0"
}
}
]
}
Obtenga pronósticos para múltiples códigos postales
Use el operador de SQL IN para consultar varios códigos postales en una sola solicitud.
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=ZIP_CODE+IN+('90210','90001','94102','92101')&outFields=ZIP_CODE,DATE,CHS_Day_0,CHS_Day_1,CHS_Day_2&returnGeometry=false&f=json"
import requests
BASE_URL = (
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/"
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query"
)
zip_codes = ["90210", "90001", "94102", "92101"]
where_clause = "ZIP_CODE IN (" + ",".join(f"'{z}'" for z in zip_codes) + ")"
params = {
"where": where_clause,
"outFields": "ZIP_CODE,DATE,CHS_Day_0,CHS_Day_1,CHS_Day_2",
"returnGeometry": "false",
"f": "json",
}
response = requests.get(BASE_URL, params=params)
data = response.json()
if "error" in data:
print(f"Error: {data['error']['message']}")
else:
for feature in data["features"]:
attrs = feature["attributes"]
print(f"ZIP {attrs['ZIP_CODE']}: Day 0={attrs['CHS_Day_0']}, Day 1={attrs['CHS_Day_1']}, Day 2={attrs['CHS_Day_2']}")
const baseUrl =
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/" +
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query";
const zipCodes = ["90210", "90001", "94102", "92101"];
const whereClause = `ZIP_CODE IN (${zipCodes.map((z) => `'${z}'`).join(",")})`;
const params = new URLSearchParams({
where: whereClause,
outFields: "ZIP_CODE,DATE,CHS_Day_0,CHS_Day_1,CHS_Day_2",
returnGeometry: "false",
f: "json",
});
fetch(`${baseUrl}?${params}`)
.then((res) => res.json())
.then((data) => {
if (data.error) {
console.error(`Error: ${data.error.message}`);
return;
}
data.features.forEach((feature) => {
const a = feature.attributes;
console.log(`ZIP ${a.ZIP_CODE}: Day 0=${a.CHS_Day_0}, Day 1=${a.CHS_Day_1}, Day 2=${a.CHS_Day_2}`);
});
})
.catch((err) => console.error("Request failed:", err));
{
"features": [
{
"attributes": {
"ZIP_CODE": "90001",
"DATE": "2026-02-21",
"CHS_Day_0": "0",
"CHS_Day_1": "1",
"CHS_Day_2": "2"
}
},
{
"attributes": {
"ZIP_CODE": "90210",
"DATE": "2026-02-21",
"CHS_Day_0": "0",
"CHS_Day_1": "0",
"CHS_Day_2": "1"
}
},
{
"attributes": {
"ZIP_CODE": "92101",
"DATE": "2026-02-21",
"CHS_Day_0": "0",
"CHS_Day_1": "0",
"CHS_Day_2": "0"
}
},
{
"attributes": {
"ZIP_CODE": "94102",
"DATE": "2026-02-21",
"CHS_Day_0": "0",
"CHS_Day_1": "0",
"CHS_Day_2": "0"
}
}
]
}
Encuentre códigos postales con riesgo alto o extremo de calor hoy
Filtre los códigos postales donde el puntaje de hoy (CHS_Day_0) sea 3 (alto) o 4 (extremo).
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=CHS_Day_0%20%3D%20'3'%20OR%20CHS_Day_0%20%3D%20'4'&outFields=ZIP_CODE,DATE,CHS_Day_0&returnGeometry=false&f=json&orderByFields=CHS_Day_0%20DESC"
import requests
BASE_URL = (
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/"
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query"
)
params = {
"where": "CHS_Day_0='3' OR CHS_Day_0='4'",
"outFields": "ZIP_CODE,DATE,CHS_Day_0",
"returnGeometry": "false",
"f": "json",
"orderByFields": "CHS_Day_0 DESC",
}
response = requests.get(BASE_URL, params=params)
data = response.json()
if "error" in data:
print(f"Error: {data['error']['message']}")
else:
print(f"Found {len(data['features'])} ZIP codes with high/extreme risk")
for feature in data["features"]:
attrs = feature["attributes"]
score = int(attrs["CHS_Day_0"])
label = "EXTREME" if score == 4 else "HIGH"
print(f" ZIP {attrs['ZIP_CODE']}: {label} (score {score})")
const baseUrl =
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/" +
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query";
const params = new URLSearchParams({
where: "CHS_Day_0>='3'",
outFields: "ZIP_CODE,DATE,CHS_Day_0",
returnGeometry: "false",
f: "json",
orderByFields: "CHS_Day_0 DESC",
});
fetch(`${baseUrl}?${params}`)
.then((res) => res.json())
.then((data) => {
if (data.error) {
console.error(`Error: ${data.error.message}`);
return;
}
console.log(`Found ${data.features.length} ZIP codes with high/extreme risk`);
data.features.forEach((feature) => {
const attrs = feature.attributes;
const score = Number(attrs.CHS_Day_0);
const label = score === 4 ? "EXTREME" : "HIGH";
console.log(` ZIP ${attrs.ZIP_CODE}: ${label} (score ${score})`);
});
})
.catch((err) => console.error("Request failed:", err));
{
"features": [
{
"attributes": {
"ZIP_CODE": "92274",
"DATE": "2026-07-15",
"CHS_Day_0": "4"
}
},
{
"attributes": {
"ZIP_CODE": "92233",
"DATE": "2026-07-15",
"CHS_Day_0": "4"
}
},
{
"attributes": {
"ZIP_CODE": "93501",
"DATE": "2026-07-15",
"CHS_Day_0": "3"
}
}
]
}
Obtenga límites de códigos postales en formato GeoJSON
Solicitef=geojson para obtener resultados en formato GeoJSON, que funciona directamente con bibliotecas de creación de mapas como Leaflet, Mapbox GL JS y D3. Utilice el ajuste outSR=4326 para obtener coordinadas en latitud/longitud.
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=ZIP_CODE='90210'&outFields=ZIP_CODE,CHS_Day_0&outSR=4326&f=geojson"
import requests
BASE_URL = (
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/"
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query"
)
params = {
"where": "ZIP_CODE='90210'",
"outFields": "ZIP_CODE,CHS_Day_0",
"outSR": "4326",
"f": "geojson",
}
response = requests.get(BASE_URL, params=params)
geojson = response.json()
if "error" in geojson:
print(f"Error: {geojson['error']['message']}")
else:
for feature in geojson["features"]:
props = feature["properties"]
num_coords = len(feature["geometry"]["coordinates"][0])
print(f"ZIP {props['ZIP_CODE']}: score={props['CHS_Day_0']}, polygon has {num_coords} points")
const baseUrl =
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/" +
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query";
const params = new URLSearchParams({
where: "ZIP_CODE='90210'",
outFields: "ZIP_CODE,CHS_Day_0",
outSR: "4326",
f: "geojson",
});
fetch(`${baseUrl}?${params}`)
.then((res) => res.json())
.then((geojson) => {
if (geojson.error) {
console.error(`Error: ${geojson.error.message}`);
return;
}
geojson.features.forEach((feature) => {
const props = feature.properties;
const numCoords = feature.geometry.coordinates[0].length;
console.log(`ZIP ${props.ZIP_CODE}: score=${props.CHS_Day_0}, polygon has ${numCoords} points`);
});
})
.catch((err) => console.error("Request failed:", err));
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-118.432, 34.092],
[-118.441, 34.081],
[-118.438, 34.069],
[-118.413, 34.071],
[-118.401, 34.084],
[-118.432, 34.092]
]
]
},
"properties": {
"ZIP_CODE": "90210",
"CHS_Day_0": "0"
}
}
]
}
Obtenga solo el puntaje de hoy (respuesta mínima)
Si necesita la respuesta más pequeña posible (por ejemplo, mostrar un único puntaje en una aplicación móvil), solicite únicamente CHS_Day_0 para un código postal sin geometría.
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=ZIP_CODE='96001'&outFields=ZIP_CODE,CHS_Day_0&returnGeometry=false&f=json"
import requests
BASE_URL = (
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/"
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query"
)
params = {
"where": "ZIP_CODE='96001'",
"outFields": "ZIP_CODE,CHS_Day_0",
"returnGeometry": "false",
"f": "json",
}
response = requests.get(BASE_URL, params=params)
data = response.json()
if "error" in data:
print(f"Error: {data['error']['message']}")
else:
score = int(data["features"][0]["attributes"]["CHS_Day_0"])
print(f"Today's score for 96001: {score}")
const baseUrl =
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/" +
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query";
const params = new URLSearchParams({
where: "ZIP_CODE='96001'",
outFields: "ZIP_CODE,CHS_Day_0",
returnGeometry: "false",
f: "json",
});
fetch(`${baseUrl}?${params}`)
.then((res) => res.json())
.then((data) => {
if (data.error) {
console.error(`Error: ${data.error.message}`);
return;
}
const score = Number(data.features[0].attributes.CHS_Day_0);
console.log(`Today's score for 96001: ${score}`);
})
.catch((err) => console.error("Request failed:", err));
{
"features": [
{
"attributes": {
"ZIP_CODE": "96001",
"CHS_Day_0": "0"
}
}
]
}
Obtenga un conteo de códigos postales por puntaje
Utilice returnCountOnly=true para obtener un conteo de códigos postales que coincidan con su filtro, sin devolver datos de entidades. Esto puede ser útil para paneles de control o estadísticas resumidas.
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=CHS_Day_0%20%3D%20'0'&outFields=ZIP_CODE,CHS_Day_0&returnGeometry=false&returnCountOnly=true&outSR=&f=json"
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=CHS_Day_0%20%3D%20'1'&outFields=ZIP_CODE,CHS_Day_0&returnGeometry=false&returnCountOnly=true&outSR=&f=json"
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=CHS_Day_0%20%3D%20'2'&outFields=ZIP_CODE,CHS_Day_0&returnGeometry=false&returnCountOnly=true&outSR=&f=json"
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=CHS_Day_0%20%3D%20'3'&outFields=ZIP_CODE,CHS_Day_0&returnGeometry=false&returnCountOnly=true&outSR=&f=json"
curl "https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query?where=CHS_Day_0%20%3D%20'4'&outFields=ZIP_CODE,CHS_Day_0&returnGeometry=false&returnCountOnly=true&outSR=&f=json"
import requests
BASE_URL = (
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/"
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query"
)
# Count ZIP codes at each score level
for score in range(5):
params = {
"where": f"CHS_Day_0='{score}'",
"returnCountOnly": "true",
"f": "json",
}
response = requests.get(BASE_URL, params=params)
data = response.json()
if "error" in data:
print(f"Error: {data['error']['message']}")
break
print(f"Score {score}: {data['count']} ZIP codes")
const baseUrl =
"https://services1.arcgis.com/PCHfdHz4GlDNAhBb/arcgis/rest/services/" +
"CalHeatScore_Live_Data_for_API_Use/FeatureServer/0/query";
// Count ZIP codes at each score level
async function countByScore() {
for (let score = 0; score <= 4; score++) {
const params = new URLSearchParams({
where: `CHS_Day_0='${score}'`,
returnCountOnly: "true",
f: "json",
});
const res = await fetch(`${baseUrl}?${params}`);
const data = await res.json();
if (data.error) {
console.error(`Error: ${data.error.message}`);
break;
}
console.log(`Score ${score}: ${data.count} ZIP codes`);
}
}
countByScore();
{
"count": 47
}