1 votos

El shapefile ploteado no se encuentra en el mapa base

Estoy trabajando en un mapa coropleto que muestra las partículas por algún distrito de una zona. La tabla de atributos es como se muestra a continuación (con la geometría):-

enter image description here

El código que he utilizado es:-

library(mapview)
library(dplyr)
library(sf)
setwd("C:/Users/lenovo/Desktop/IEM")
BagmatiPM<-st_read("DistrictsPM.shp")
View(BagmatiPM)
summary(BagmatiPM)
mapview(BagmatiPM,zcol="TSPM.May", 
col.region=colorRampPalette(c("blue","green")))

Y el mapa que se ha representado es:- enter image description here

Parece que el CRS del mapa no es el mismo que el mapa base. Esto se debe a que, aunque el mapa base está renderizado, el mapa trazado (es decir, el mapa de arriba) no se encuentra en la extensión del mapa base, como se muestra a continuación.

enter image description here

La información espacial del shapefile se indica a continuación. enter image description here Por lo tanto, ¿cómo se puede resolver esto? Si hay que cambiar el sistema de referencia, ¿cómo se puede hacer?

2voto

gabor Puntos 612

Basado en la edición anterior (donde compartió un archivo reproducible y por eso las preguntas reproducibles son fáciles de responder ):

Chitwan
# Simple feature collection with 1 feature and 16 fields
# Geometry type: POLYGON
# Dimension:     XY
# Bounding box:  xmin: 83.91772 ymin: 27.35449 xmax: 84.79493 ymax: 27.87813
# Projected CRS: WGS 84 / UTM zone 44N
#   dist_name shape_area shape_len created_at TSPM.Jan TSPM.Feb TSPM.Mar TSPM.Apr
# 1   Chitwan   0.206977  2.982311 2015-02-21       NA       NA   108.85   201.15
#   TSPM.May TSPM.Jun TSPM.Jul TSPM.Aug TSPM.Sep TSPM.Oct TSPM.Nov TSPM.Dec
# 1    74.35    40.77     20.3    17.13       NA       NA       NA       NA
#                      geometry
# 1 POLYGON ((84.67154 27.81635...

Bien, un polígono que representa un distrito. ¿No es así? Mira el CRS: es UTM, así que la unidad de coordenadas es el metro.

A continuación, mira el cuadro delimitador: 83,92 a 84,79 y 27,34 a 27,88. Dado que es UTM CRS, el tamaño de su distrito es alrededor de medio m^2.

Eso no puede representar un distrito, es más pequeño que una cama. Así que probablemente el CRS está equivocado.

Suponiendo que el CRS original sea WGS 84 geográfico (es una suposición, no puedo saberlo sin obtener más detalles del origen del shapefile):

Chitwan <- st_set_crs(Chitwan, 'epsg:4326')

mapview(Chitwan,zcol="TSPM.May", 
        col.region=colorRampPalette(c("blue","green")))

enter image description here

Así que probablemente shape_area y shape_len están en grados, no en metros. Calcula de nuevo esa propiedad.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X