Antoine Béland
12 octobre 2018
type
Feature
ou un
FeatureCollection
Feature
est composé des attributs geometry
et
properties
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [ 102.0, 0.5 ]
},
"properties": {
"name": "île quelque part"
}
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [ [ 102.0, 0.0 ], [ 104.0, 0.0 ], [ 105.0, 1.0 ] ]
},
"properties": {
"name": "Frontière quelque part"
}
}
]
}
Exemple tiré de GeoJSON Wikipedia, 2018
Type | Exemples |
---|---|
Point |
|
Segments |
|
Polygones |
|
Tableau tiré de GeoJSON Wikipedia, 2018
Type | Exemples |
---|---|
Ensemble de points |
|
Lignes brisées |
|
Ensemble de polygones |
|
Tableau tiré de GeoJSON Wikipedia, 2018
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[ [35, 10], [45, 45], [15, 40], [10, 20], [35, 10] ],
[ [20, 30], [35, 35], [30, 20], [20, 30] ]
]
},
"properties": {
"name": "Un polygone quelque part"
}
}
]
}
Démo
Liste tirée de Geographic — Projections D3 in Depth, 2016
Images tirées de Geographic — Projections D3 in Depth, 2016
Outil Projection explorer D3 in Depth, 2017
d3.geoPath
permet
de réaliser cette tâche assez facilement
const svg = d3.select('svg');
d3.json('canada.geojson').then(data => {
const projection = d3.geoMercator() // Création de la projection
.rotate([100, -45])
.center([5, 20])
.scale(900)
.translate([450, 400]);
const path = d3.geoPath(projection); // Initialisation de "geoPath"
svg.selectAll('path')
.data(data.features)
.enter()
.append('path')
.attr('d', path)
.style('fill', 'white')
.style('stroke-width', 1)
.style('stroke', 'black')
});
Démo
[
{
id: 12345,
name: "Nom de la circonscription",
winnerParty: "Le parti gagnant",
candidates: [
{
name: "Le nom du candidat",
votes: 12345,
party: "Le parti du candidat"
},
// Suite du tableau listant les candidats...
]
},
// Suite du tableau listant les circonscriptions...
]
* Google Chrome bloque les requêtes asynchrones réalisées dans un fichier local si celui-ci n'est pas hébergé sur un serveur local