Tengo este mapa de México que está desglosado en todos los municipios. ¿Cómo puedo crear una variable que tenga la distancia entre cada municipio y la Ciudad de México?
Respuesta
¿Demasiados anuncios?Depende... en primer lugar de si quieres (A) la distancia entre el centroide de cada municipio y la ciudad de México, o (B) la distancia más corta entre cada municipio y la ciudad de México; y también si tu mapa es (a) datos proyectados o (b) no proyectados (latlong).
A continuación encontrará cuatro ejemplos de expresiones para la calculadora de campo. En este ejemplo tengo un Mexico_city
capa de puntos que sólo tiene un punto (es decir, la ciudad de México) por lo que es id
es cero (0). Abra la tabla de atributos de la capa de su municipio e inicie la calculadora de campos.
(A)(a) Centroide del municipio - Ciudad de México en un mapa proyectado
distance(centroid($geometry), geometry(get_feature_by_id('Mexico_city', 0)))/1000
(A)(b) Centroide del municipio - Ciudad de México en un mapa no proyectado (por ejemplo, datos GADM) México )
distance( transform(centroid($geometry),
'EPSG:4326', 'EPSG:32614'),
transform(geometry(get_feature_by_id('Mexico_city', 0)),
'EPSG:4326', 'EPSG:32614'))/1000
(B)(a) Distancia más corta, Municipio - Ciudad de México en un mapa proyectado
distance(closest_point($geometry, geometry(get_feature_by_id('Mexico_city', 0))),
geometry(get_feature_by_id('Mexico_city', 0)))/1000
(B)(b) Distancia más corta, Municipio - Ciudad de México en un mapa no proyectado (por ejemplo, datos GADM) México )
distance(transform(closest_point($geometry,
geometry(get_feature_by_id('Mexico_city', 0))),
'EPSG:4326', 'EPSG:32614'),
transform(geometry(get_feature_by_id('Mexico_city', 0)),
'EPSG:4326', 'EPSG:32614'))/1000