Location Scores
Description
Nos scores de localisation évaluent la qualité des caractéristiques liées au transport, aux services et au caractère des lieux. Ils sont répartis en 18 scores sur une échelle de 0 à 5, qui sont doublés pour afficher des scores sur 10 dans nos produits SDK.
Il est possible d'interroger nos scores de localisation pour des lieux, des inscriptions et des adresses précises, à l'aide de la latitude et de la longitude, ou pour des
géographies Local Logic précises à l'aide de geog_ids uniques. Les scores de localisation sont disponibles pour les quartiers (niveaux 10, 20), les villes (niveau 30), les codes postaux américains (niveau 32), les subdivisions de comté américaines (niveau 35), les comtés américains et canadiens et équivalents de comté (niveau 37), les régions (niveau 38) et les régions métropolitaines de recensement (niveau 40). Les scores de localisation au niveau des géographies et des quartiers représentent les meilleures estimations de la valeur médiane des ménages pour chaque score.
Types de scores
Local Logic fournit les scores de localisation suivants, qui sont accessibles par l'entremise du point de terminaison /v3/scores
documenté ci-dessous.
Ce PDF décrit la signification des valeurs de 0 à 10 pour leurs scores respectifs.
Tous les scores de localisation ne sont pas disponibles pour tous les lieux.
Lorsque des scores sont absents de la réponse, cela signifie que Local Logic ne dispose pas de renseignements suffisants sur le lieu pour pouvoir fournir ces scores.
Transport
| Score de localisation | ScoreName | Description |
|---|---|---|
| Favorable aux piétons | pedestrian_friendly | Représente le nombre de commerces et d'institutions à proximité et le degré d'agrément à s'y rendre à pied. |
| Favorable au vélo | cycling_friendly | Représente à quel point le secteur est propice au vélo en fonction des infrastructures cyclables et des rues calmes à proximité, ainsi que du nombre de destinations accessibles à vélo. |
| Favorable au transport en commun | transit_friendly | Représente la fréquence et le niveau de service du transport en commun. |
| Favorable à l'automobile | car_friendly | Représente la fluidité de la circulation et la facilité de stationnement. |
Commodités
| Score de localisation | ScoreName | Description |
|---|---|---|
| Épiceries | groceries | Distance jusqu'à l'épicerie la plus proche et nombre d'épiceries à proximité. |
| Magasinage | shopping | Quantité et diversité des commerces à proximité. |
| Cafés | cafes | Quantité et diversité des cafés à proximité. |
| Restaurants | restaurants | Quantité et diversité des restaurants à proximité. |
| Vie nocturne | nightlife | Quantité et diversité des bars à proximité. |
Éducation
| Score de localisation | ScoreName | Description |
|---|---|---|
| Écoles secondaires | high_schools | Distance jusqu'à l'école secondaire la plus proche. |
| Écoles primaires | primary_schools | Distance jusqu'à l'école primaire la plus proche. |
| Garderies | daycares | Distance jusqu'à la garderie la plus proche. |
Caractère
| Score de localisation | ScoreName | Description |
|---|---|---|
| Tranquillité | quiet | Niveau de bruit à proximité. |
| Historique | historic | Présence de bâtiments patrimoniaux et âge des bâtiments dans le secteur. Remarque : la couverture Historique est actuellement offerte dans deux villes américaines et une ville canadienne. |
| Dynamisme | vibrant | Niveau d'activité de rue à proximité. |
Nature
| Score de localisation | ScoreName | Description |
|---|---|---|
| Parcs | parks | Quantité et superficie des parcs à proximité. |
| Verdure | greenery | Quantité d'espaces verts et couverture du couvert arboré à proximité. Remarque : la couverture Verdure est actuellement offerte dans 8 villes américaines et deux villes canadiennes. |
Bien-être
| Score de localisation | ScoreName | Description |
|---|---|---|
| Bien-être | wellness | Représente la quantité de commodités à distance de marche favorisant l'activité physique et une alimentation saine. |
GET /v3/scores
Les scores de localisation pour un point de coordonnées précis, ainsi que pour le quartier, le quartier macro et la municipalité qui le contiennent, peuvent être récupérés à l'aide d'une requête de latitude/longitude.
Les scores pour le point de coordonnées latitude/longitude sont retournés sous forme de score sur 5, avec une précision
au .5 près. Les scores de géographie pour le quartier, le quartier macro et la municipalité sont également retournés sous forme de score sur 5, mais avec une précision au .1 près.
GET /v3/scores
En-tête
Cette API utilise l'authentification par jeton JWT. Ce jeton porteur (Bearer) JWT est ce qui est utilisé pour remplir
l'en-tête Authorization ci-dessous.
Les instructions pour récupérer ce jeton se trouvent dans Premiers pas.
| En-tête | Statut | Description |
|---|---|---|
| Authorization | requis | Votre jeton porteur récupéré depuis notre API d'autorisation, ex. Bearer eyJhbGci... |
| Accept | requis | Le type de données demandé; cette API retournera application/json. |
Paramètres de requête
Le point de terminaison est interrogé en spécifiant une coordonnée lat/lng pour obtenir les scores à un endroit précis.
| Parameter | Statut | Description |
|---|---|---|
| lat | optionnel | Un nombre décimal entre -90 et 90, représentant la latitude. |
| lng | optionnel | Un nombre décimal entre -180 et 180, représentant la longitude. |
| geography_ids | optionnel* | Une liste d'identifiants de géographie séparés par des virgules, par ex. g30_dpz89rm7 ou g30_dpz89rm7,g10_dpz89rm7. Si ce paramètre est fourni, les paramètres lat et lng deviennent optionnels. Un maximum de 100 valeurs est autorisé. |
| geography_levels | optionnel | Une liste de niveaux de géographie à inclure, par ex. 10,30. Si aucun niveau de géographie n'est fourni, aucun score de géographie ne sera retourné. Disponibles : Quartier : 10Quartier macro ou arrondissement : 20Municipalité : 30Code postal : 32Subdivision de comté américaine : 35Comté américain / équivalent de comté canadien (division de recensement) : 37Région : 38Région métropolitaine américaine : 40 |
| include | optionnel | Une liste de ScoreNames à retourner, par ex. car_friendly,pedestrian_friendly. Si aucun nom n'est fourni, tous les scores inclus dans votre entente seront retournés. |
| language | optionnel | Valeur de chaîne représentant le code de langue à deux lettres ISO 361-1 dans lequel retourner les scores, par ex. fr Disponibles : en et fr |
| location_scores_rounding | optionnel | Le type d'arrondi à appliquer aux scores retournés sous data.location. Soit .5 (par défaut) pour arrondir au 0,5 près, soit none, pour désactiver l'arrondi. |
Exemples d'utilisation
- NodeJS
- Python
require('node-fetch')('https://api.locallogic.co/v3/scores?' + new URLSearchParams({
lat: 41.847206,
lng: -87.668825,
geography_ids: 'g30_f25dv0me',
geography_levels: '10,20,30',
include: 'transit_friendly,quiet',
language: 'en',
}), {
method: 'GET',
headers: {
Accept: 'application/json',
Authorization: 'Bearer eyJhbGciOiJ...'
}
})
.then(response => response.json())
.then(body => {
console.log(body)
})
.catch(error => {
console.log(error)
})
import requests
response = requests.get(
"https://api.locallogic.co/v3/scores",
headers={
"Accept": "application/json",
"Authorization": "Bearer eyJhbGciOiJ..."},
params={
"lat": 43.593611,
"lng": -79.536194,
"geography_ids": "g30_f25dv0me",
"geography_levels": "10,20,30",
"include": "transit_friendly,quiet",
"language": "en",
}
)
print(response.json())
Exemple de réponse
{
"data": {
"type": "scores",
"location": {
"transit_friendly": {
"value": "4.5",
"text": "Within walking distance of a subway and frequent bus lines"
},
"quiet": { "value": "1.0", "text": "Many sources of noise nearby" }
},
"geographies": [
{
"geog_id": "g30_f25dv0me",
"name": "Westmount",
"geog_level_type": "municipality",
"scores": {
"transit_friendly": {
"value": "4.5",
"text": "Within walking distance of a subway and frequent bus lines"
},
"quiet": {
"value": "2.7",
"text": "Multiple sources of noise nearby"
}
}
},
// Et d'autres objets de scores de géographie
]
},
"meta": {
"message": "Successfully called v3/scores API.",
"type": "LocalLogic.API.Success",
"statusCode": 200
}
}
GET /v3/scores/{geog_id}
Les scores de localisation pour une géographie précise (un quartier, un quartier macro, une municipalité, un code postal, un comté, etc.) peuvent être récupérés à l'aide de ce point de terminaison. Les scores représentent le score de localisation du ménage médian habitant le secteur : la moitié des ménages auront un score inférieur et l'autre moitié auront un score supérieur.
Les scores pour la géographie sont retournés aussi précisément que possible et ne sont pas arrondis.
GET /v3/scores/{geog_id}
En-tête
Cette API utilise l'authentification par jeton JWT. Ce jeton porteur (Bearer) JWT est ce qui est utilisé pour remplir
l'en-tête Authorization ci-dessous.
Les instructions pour récupérer ce jeton se trouvent dans Premiers pas.
| En-tête | Statut | Description |
|---|---|---|
| Authorization | requis | Votre jeton porteur récupéré depuis notre API d'autorisation, ex. Bearer eyJhbGci... |
| Accept | requis | Le type de données demandé; cette API retournera application/json. |
Paramètres de requête
| Parameter | Statut | Description |
|---|---|---|
| include | optionnel | Une liste de ScoreNames à retourner, par ex. car_friendly,pedestrian_friendly. Si aucun nom n'est fourni, tous les scores inclus dans votre entente seront retournés. |
| language | optionnel | Valeur de chaîne représentant le code de langue à deux lettres ISO 361-1 dans lequel retourner les scores, par ex. fr Disponibles : en et fr |
Exemples d'utilisation
- NodeJS
- Python
require('node-fetch')('https://api.locallogic.co/v3/scores/g37_9zh9deu6',
{
method: 'GET',
headers: {
Accept: 'application/json',
Authorization: 'Bearer eyJhbGciOiJ...'
}
})
.then(response => response.json())
.then(body => {
console.log(body)
})
.catch(error => {
console.log(error)
})
import requests
response = requests.get(
"https://api.locallogic.co/v3/scores/g37_9zh9deu6",
headers={
"Accept": "application/json",
"Authorization": "Bearer eyJhbGciOiJ..."},
params={
"categories": 'hospitals'
}
)
print(response.json())
Exemple de réponse
{
"data": {
"type": "scores",
"scores": {
"pedestrian_friendly": {
"value": "3.389361",
"text": "Most day-to-day needs are within walking distance"
},
"vibrant": {
"value": "2.271424",
"text": "Vibrant atmosphere at various times of the day"
},
"nightlife": {
"value": "2.51681",
"text": "Variety of bars within a short drive"
},
"high_schools": {
"value": "2.95529",
"text": "At least one high school within a 20-minute walk"
},
"daycares": {
"value": "2.955288",
"text": "At least one daycare within a short drive"
},
"cycling_friendly": {
"value": "2.525079",
"text": "Somewhat suitable for bicycle commuting and/or recreational cycling"
},
"transit_friendly": {
"value": "2.600652",
"text": "Transit is available for most trips"
},
"parks": {
"value": "3.613697",
"text": "Large amount of park space nearby"
},
"primary_schools": {
"value": "3.75381",
"text": "At least one elementary school within a 15-minute walk"
},
"car_friendly": {
"value": "4.144336",
"text": "Excellent access to freeways and/or major arteries, with a very low chance of parking problems"
},
"cafes": {
"value": "1.23387",
"text": "Some cafés within a short drive"
},
"wellness": {
"value": "2.769637",
"text": "Some amenities promoting health and activity within walking distance"
},
"restaurants": {
"value": "2.332912",
"text": "Variety of restaurants within a short drive"
},
"quiet": {
"value": "2.245218",
"text": "Some sources of noise nearby"
},
"groceries": {
"value": "2.226187",
"text": "Variety of groceries within a short drive"
},
"shopping": {
"value": "2.359544",
"text": "Variety of shops within a short drive"
}
}
},
"meta": {
"message": "Successfully called v3/scores/{geog_id} API.",
"type": "LocalLogic.API.Success",
"statusCode": 200
}
}
Implémentations SDK
Scores est utilisé par plusieurs SDK :
| SDK | Description |
|---|---|
| Local Content SDK | Récupère les scores pour un lieu donné, aux fins d'utilisation dans les catégories de points d'intérêt regroupées au sein du SDK. |
| NeighborhoodHighlights SDK | Récupère les scores du quartier afin de calculer les faits saillants (meilleurs scores) du quartier. |
| NeighborhoodCharacteristics SDK | Récupère tous les scores liés au transport, aux services et au caractère disponibles pour le quartier donné. |
Codes de réponse
Lorsque vous appelez l'API de Local Logic, vous pouvez recevoir un code de réponse HTTP indiquant une erreur ou une absence de données. Ces erreurs sont expliquées ci-dessous.
En général, les codes d'erreur commençant par « 4 » sont dus à un appel d'API invalide et peuvent être corrigés de votre côté, alors que les codes d'erreur commençant par « 5 » sont dus à des erreurs de serveur (c'est-à-dire des problèmes de notre côté). Si vous recevez quelque chose qui n'est pas décrit ici, veuillez communiquer avec nous à support@locallogic.co.
204 - No Content
Ce « code d'erreur » n'en est pas un et se produit lorsque nous n'avons pas les données requises pour un emplacement précis. Par exemple, si vous envoyez une paire lat/lng pour obtenir des scores dans des régions inhabitées du nord du Canada, nous pouvons retourner une réponse 204 vide, car nous reconnaissons l'emplacement, mais nous ne calculons pas de scores dans des endroits aussi éloignés, donc il n'y a rien à retourner.
400 - BadRequest
Ce code d'erreur se produit lorsque les données saisies dans la requête sont incorrectes. Utilisez le champ detail de la réponse pour obtenir des précisions. Exemple :
{
"code": "LocalLogic.API.BadRequest",
"detail": "ValidationErrors: AroundEndpoint is invalid:\n\tinclude is invalid: \"bad_input\" is not an acceptable value: \"groceries\", \"restaurants\", \"nightlife\", \"cafes\", \"shopping\", \"daycares\", \"primary_schools\", \"high_schools\""
}
401 - Unauthorized
Ce code d'erreur se produit lorsque votre clé API ne peut pas accéder à certaines ressources ou à certains emplacements. Par exemple, certaines clés API ne peuvent accéder qu'à certains pays, états ou provinces. N'hésitez pas à communiquer avec nous pour plus d'information.
{
"code": "LocalLogic.API.Unauthorized",
"detail": "Your API KEY doesn't support this region"
}
403 - Forbidden
Ce code d'erreur se produit lorsque vous avez oublié d'inclure les identifiants de sécurité dans votre requête ou lorsque vous demandez un paramètre auquel vous n'avez pas accès.
{
"message": "Forbidden"
}
404 - NotFound
Ce code d'erreur se produit lorsque nous n'avons pas de données pour l'emplacement demandé. Par exemple, si vous envoyez une paire lat/lng pour un emplacement en Antarctique, nous retournerons cette erreur, car nous n'avons pas (encore!) de données pour l'Antarctique.
{
"code": "LocalLogic.API.NotFound",
"detail": "No Location Scores found for this location."
}
422 - Unprocessable Entity
Ce code d'erreur est retourné lorsque les bons paramètres ont été envoyés, mais que les données qu'ils contiennent ne sont pas valides. Par exemple, si vous envoyez une paire lat/lng et que la latitude est invalide (c.-à-d. hors de la plage [-90, 90]) ou que la longitude est invalide (c.-à-d. hors de la plage [-180, 180]). Le message retourné expliquera le problème précis avec vos paramètres qui les rend invalides.
{
"message": "Latitude must be within [-90, 90], Longitude must be within [-180, 180], Requires at least lat/lng pair, or geography_ids. None supplied.",
"code": "LocalLogic.API.BadRequest",
"statusCode": 422
}
429 - Too Many Requests
Ce code d'erreur peut être retourné lorsque vous devez limiter le débit de vos requêtes. À l'interne, nous établissons des limites qui dépassent toutes les limites contractuelles pouvant entraîner le retour de ce code d'erreur. Si vous avez des questions ou si vous voyez cette erreur, veuillez communiquer avec nous à support@locallogic.co.
500 - ServerError
Ce code d'erreur signifie qu'une erreur s'est produite de notre côté. N'hésitez pas à réessayer la même requête pour voir si le problème persiste. Si vous recevez beaucoup de ces erreurs, veuillez communiquer avec nous à support@locallogic.co.
{
"code": "LocalLogic.API.ServerError",
"detail": "No Location Scores found for this location."
}
502 - BadGateway
Ce code d'erreur signifie qu'une erreur provient de notre fournisseur infonuagique. N'hésitez pas à réessayer la même requête pour voir si le problème persiste.
{
"message": "Internal server error"
}