[R-br] Problema na conversão de datum: SIRGAS2000 para WGS84

Bia Rebelatto biafr8 em gmail.com
Qui Dez 3 15:19:46 -02 2020


Olá pessoal!

Após a produção de shapefiles no R, eles apresentaram o seguinte datum:

Geographic Coordinate System:
GCS_WGS_84_with_axis_order_normalized_for_visualization
Datum: D_WGS_1984

Sendo que o que preciso seria:

Geographic Coordinate System: GCS_WGS_1984
Datum: D_WGS_1984

Ou seja, preciso fazer a transformação sem gerar essa extensão de
"with_axis_order_normalized_for_visualization", mas não consigo encontrar
uma solução.

Resumindo o que fiz:
1. Download de dados municipais do IBGE (o datum deles é o SIRGAS2000)

2. Transformação dos dados do IBGE para o datum que preciso (WGS84) com a
função 'st_transform':

dadosibge <- st_transform(dadosibge, 4326)

3. União destes dados do IBGE com minha planilha de dados, mais a
transformação de objeto st em sf:

df <- inner_join(dadosibge, df, by="id") %>%
    st_as_sf(coords=c("lon","lat"), crs=4326)

4. Transformação do data frame em objeto espacial:

df <- as(df, "Spatial")

5. Exportação do shapefile:

writeOGR(df, dsn = "diretorio", layer = i, driver = 'ESRI Shapefile')

Obs.: fiz com múltiplas planilhas, então o código está em um loop.

Segue o meu código:

###Pacotes
x<-c("geobr","ggplot2","dplyr","RColorBrewer","ggspatial","maps","mapdata","rworldmap","maptools","mapproj","ggmap","sf","raster","spData","spDataLarge",
"rgdal")
lapply(x, require, character.only=T)

###Carregar dados IBGE
##All municipalities limits of all states
spatial <- read_municipality(code_muni = 'all', year = 2019)

##Check CRS - If this fuction return "NA", the CRS is unknown
st_is_longlat(spatial)

##Verify the DATUM. In this case, shows SIRGAS 2000
st_crs(spatial)

##Transform SGC SIRGAS 2000 to WGS84
###WGS84 EPSG code: 4326
spatial <- st_transform(spatial, 4326)
st_crs(spatial)
class(spatial)

###Carregar diretorio dos meus dados
setwd('diretorio')
list.files()
alldata = list.files()

###Loop para exportar varios shapefiles
for (i in alldata) {
  df = read.csv(i, sep = ";", stringsAsFactors = FALSE) %>%

#Unindo meus dados com o df do IBGE
  df <- inner_join(spatial_f, df, by="id") %>%
    st_as_sf(coords=c("lon","lat"), crs=4326)

#Transformando df em dados espaciais
  df <- as(df, "Spatial")

  #Exportando shapefile
  writeOGR(df, dsn = "C:/Users/Bianca/Desktop/ipam_consult/shapes_test",
layer = i, driver = 'ESRI Shapefile')

}

Agradeço desde já!
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20201203/b2734d16/attachment.html>


Mais detalhes sobre a lista de discussão R-br