Sightline
Plateforme de renseignement sur les infrastructures géospatiales pour la découverte et l'analyse d'actifs du monde réel à l'aide des données OpenStreetMap.

Aperçu
Sightline permet de rechercher, surveiller et analyser les infrastructures du monde réel, notamment :
- Tours de télécommunications et centres de données
- Centrales électriques, sous-stations et stockage d'énergie
- Aéroports, héliports et transports par câble (télécabines, funiculaires)
- Ports, havres, quais et installations maritimes
- Entrepôts et installations industrielles
- Pipelines, raffineries et infrastructures énergétiques
- Installations militaires
- Hôpitaux, prisons, ambassades et bâtiments gouvernementaux
- Caméras de surveillance et infrastructures d'urgence
- Pôles de transport (gares, gares routières, stations de taxi)
Et bien d'autres types d'actifs répartis dans plus de 30 catégories, avec plus de 200 types d'infrastructures recherchables.
Architecture
flowchart TB
classDef frontend fill:#6366f1,stroke:#4338ca,color:#fff
classDef backend fill:#0ea5e9,stroke:#0284c7,color:#fff
classDef external fill:#f59e0b,stroke:#d97706,color:#fff
subgraph FE["Frontend"]
SearchBar["SearchBar"]
Filters["Filters"]
ResultList["ResultList"]
MapView["MapView — Leaflet.js"]
end
subgraph BE["Backend"]
route["route.ts — Request Handler"]
parser["parser.ts — NLP Engine"]
geo["geo.ts — Geocoding"]
overpass["overpass.ts — OSM Query Builder"]
cache["cache.ts — Cache Layer"]
end
subgraph EX["External APIs"]
Nominatim["Nominatim — Geocoding API"]
OverpassAPI["Overpass API — OSM Data"]
end
SearchBar & Filters & ResultList & MapView -->|"POST /api/search"| route
route -->|"parse query"| parser
route -->|"resolve location"| geo
route -->|"fetch POIs"| overpass
route <-->|"read / write"| cache
geo -->|"geocode"| Nominatim
overpass -->|"QL query"| OverpassAPI
class SearchBar,Filters,ResultList,MapView frontend
class route,parser,geo,overpass,cache backend
class Nominatim,OverpassAPI external
Sources de données
OpenStreetMap
Toutes les données d'infrastructure proviennent d'OpenStreetMap, un projet de cartographie collaborative. Les données OSM sont participatives et peuvent contenir des inexactitudes ou des lacunes.
Nominatim
La résolution géographique utilise le service de géocodage Nominatim pour convertir les noms de lieux en boîtes englobantes et en coordonnées.
Overpass API
Les requêtes d'infrastructure sont exécutées via Overpass API, qui offre un accès en lecture seule aux données OSM.
Syntaxe des requêtes
Langage naturel
telecom towers in karnataka
power plants near mumbai
data centers in california
airports in germany
Requêtes structurées
type:telecom operator:airtel region:karnataka
type:data_center operator:google
type:substation region:texas
type:airport country:france
Paramètres pris en charge
Types d'actifs pris en charge
Énergie et électricité
Télécommunications
Pétrole, gaz et mines
Eau et services publics
Aviation
Maritime
Rail et transport en commun
Structures
Industriel et commercial
Militaire et défense
Gouvernement et sécurité publique
Éducation et recherche
Santé
Culture et divertissement
Tourisme et loisirs
Religieux
Historique
Agriculture
Services
Services publics
Transport par câble
Infrastructures d'urgence (supplémentaires)
Commerce et vente au détail
| Type | Alias | Description |
|---|
supermarket | - | Supermarchés |
mall |
Mobilité partagée
| Type | Alias | Description |
|---|
bicycle_rental | - | Stations de location de vélos |
car_sharing | - | Stations d'autopartage |
Science et recherche (supplémentaires)
| Type | Alias | Description |
|---|
planetarium | - | Planétariums |
laboratory | - | Laboratoires |
Construction
| Type | Alias | Description |
|---|
construction_site | - | Chantiers de construction |
Production alimentaire et boissons
| Type | Alias | Description |
|---|
winery | - | Caves viticoles |
bakery | - |
Services de restauration
| Type | Alias | Description |
|---|
restaurant | - | Restaurants |
cafe | - |
Loisirs
| Type | Alias | Description |
|---|
playground | - | Aires de jeux |
park | - |
Caractéristiques aquatiques
| Type | Alias | Description |
|---|
fountain | - | Fontaines |
waterfall |
Surveillance et météo
| Type | Alias | Description |
|---|
monitoring_station | - | Stations de surveillance environnementale |
weather_station | - | Stations météorologiques |
Équipements communautaires
| Type | Alias | Description |
|---|
community_centre | - | Centres communautaires |
|
Développement
Prérequis
Installation
Ouvrir http://localhost:3000.
Structure du projet
app/
├── page.tsx # Page principale de l'application
├── layout.tsx # Layout racine
├── globals.css # Styles globaux
└── api/
└── search/
└── route.ts # Point d'accès de l'API de recherche
components/
├── SearchBar.tsx # Saisie de requête
├── Filters.tsx # Barre latérale des filtres
├── ResultList.tsx # Affichage des résultats
├── MapView.tsx # Carte Leaflet
├── ShareButton.tsx # Fonctionnalité de partage
└── ui/
└── scroll-area.tsx # Composants d'interface
lib/
├── types.ts # Définitions de types
├── parser.ts # Analyse de requête et NLP
├── geo.ts # Intégration Nominatim
├── overpass.ts # Requêtes Overpass API
├── cache.ts # Mise en cache en mémoire
├── search-index.ts # Indexation de recherche
Déploiement
Vercel
npm install -g vercel
vercel
Variables d'environnement
Aucune variable d'environnement requise. L'application utilise les API OpenStreetMap publiques.
Limites de débit des API
- Nominatim : 1 requête/seconde (imposé par la politique d'utilisation de Nominatim)
- Overpass API : Usage raisonnable, éviter les requêtes lourdes
Utilisation responsable
Cet outil accède aux données publiquement disponibles d'OpenStreetMap. Les utilisateurs doivent :
- Respecter la politique d'utilisation des tuiles d'OpenStreetMap
- Respecter la politique d'utilisation de Nominatim
- Respecter la politique d'utilisation de l'API Overpass
- Ne pas utiliser cet outil à des fins de surveillance illégale ou nuisibles
- Reconnaître que les données OSM peuvent être incomplètes ou inexactes
- Ne pas effectuer de requêtes automatisées en masse qui surchargent les infrastructures publiques
- Pour les problèmes concernant la carte, veuillez consulter https://www.openstreetmap.org/fixthemap
La présence ou l'absence d'infrastructures dans OSM ne doit pas être considérée comme faisant autorité. Toujours vérifier les informations critiques via des sources officielles.
Licence
MIT