Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@john-guerra
Last active October 18, 2023 22:51
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save john-guerra/727e8992e9599b9d9f1dbfdc4c8e479e to your computer and use it in GitHub Desktop.
Save john-guerra/727e8992e9599b9d9f1dbfdc4c8e479e to your computer and use it in GitHub Desktop.
GeoJson map of Colombia Municipios
license: mit
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.tract {
fill: #eee;
}
.tract:hover {
fill: orange;
}
.tract-border {
fill: none;
stroke: #777;
pointer-events: none;
}
.tract-border-state {
fill: none;
stroke: #333;
stroke-width: 1.5px;
pointer-events: none;
}
</style>
<svg width="960" height="550"></svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://d3js.org/topojson.v1.min.js"></script>
<script>
var svg = d3.select("svg"),
width = +svg.attr("width"),
height = +svg.attr("height"),
margin = { top: 20, bottom:20, right: 20, left: 20};
d3.json("colombia-municipios.json", function(error, data) {
if (error) throw error;
var land = topojson.feature(data, {
type: "GeometryCollection",
geometries: data.objects.mpios.geometries.filter(function(d) {
return (d.id / 10000 | 0) % 100 !== 99;
})
});
var landState = topojson.feature(data, {
type: "GeometryCollection",
geometries: data.objects.depts.geometries.filter(function(d) {
return (d.id / 10000 | 0) % 100 !== 99;
})
});
// EPSG:32111
var path = d3.geoPath()
.projection(d3.geoTransverseMercator()
.rotate([74 + 30 / 60, -38 - 50 / 60])
.fitExtent([[margin.left, margin.top], [width-margin.right, height-margin.bottom]], land));
var pathState = d3.geoPath()
.projection(d3.geoTransverseMercator()
.rotate([74 + 30 / 60, -38 - 50 / 60])
.fitExtent([[margin.left, margin.top], [width-margin.right, height-margin.bottom]], landState));
svg.selectAll("path")
.data(land.features)
.enter().append("path")
.attr("class", "tract")
.attr("d", path)
.append("title")
.text(function(d) { return d.properties.name; });
svg.append("path")
.datum(topojson.mesh(data, data.objects.mpios, function(a, b) { return a !== b; }))
.attr("class", "tract-border")
.attr("d", path);
svg.append("path")
.datum(topojson.mesh(data, data.objects.depts, function(a, b) { return a !== b; }))
.attr("class", "tract-border-state")
.attr("d", pathState);
});
</script>
@Yamidb18
Copy link

Yamidb18 commented Dec 2, 2021

Hola, al seleccionar algunos municipios aparecen varios. Por ejemplo San Miguel Putumayo, aparece también otro municipio en el mapa y no desaparece con el codigo DANE.

@loorlab
Copy link

loorlab commented Apr 6, 2022

Acá hay un observable notebook de donde pueden bajar los TopoJSON y GeoJSON de Colombia con algunas variables poblacionales

https://observablehq.com/@john-guerra/topojson-colombia

Muchas gracias, con este .geojson y la integración de Google Mutant https://gitlab.com/IvanSanchez/Leaflet.GridLayer.GoogleMutant funciona mejor el sombreado de las regiones. 💥

@john-guerra
Copy link
Author

Actualicé el topoJSON por si les interesa https://observablehq.com/@john-guerra/topojson-colombia

@datorresc
Copy link

Estoy necesitando el mapa de Envigado - Antioquia con sus Barrios y Veredas, logré descargar los manera independiente, pero no me los deja unir para pasarlos a PowerBI ¿alguien sabría decirme como hacerlo?
La información la descargué de la aplicación de datos.gov.co
Barrios
Veredas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment