es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de geojsonio::geojson_read para un archivo geojson “no se admite la conversión de tipo de característica sfc_GEOMETRY a sp”.

Descargué un archivo geojson de la red eléctrica de Iraq de EnergyData. Puedes descargar el archivo tú mismo aquí:

Y visitar la página web aquí:

Intenté usar la biblioteca geojsonio para leer el archivo en R, pero:

Cuando configuro el argumento what a what = "sp", devuelve el error:

Error in h(simpleError(msg, call)) :
error in evaluating the argument ‘x’ in selecting a method for function ‘addAttrToGeom’: conversion from feature type sfc_GEOMETRY to sp is not supported

Cuando configuro what = "list", obtengo el error:

Error in rcppsftogeojson(sf, digits, factorsas_string) :
Unknown R object type

Cuando configuro what = "json", obtengo el error:

Error in read_json(x, parse, what, stringsAsFactors, …) :
what=’json’ not supported for file and url inputs yet

Aquí está mi código:

library(geojsonio)
obj = geojson_read("RutaDelArchivo/electric-network-iraq.geojson",
             what = "sp")

Intenté otro código alternativo, que solo devolvió una cadena vacía:

library(spData)
obj = system.file("RutaDelArchivo/electric-network-iraq.geojson", package="spData")

Sé que el archivo no está vacío porque cuando lo abro en el Bloc de notas puedo ver las coordenadas de la red eléctrica.

Esta es la primera vez que lido con el paquete geojsonio, así que por favor se detallado en tu respuesta. Solo quiero leer las líneas de las líneas de energía en R como un objeto espacial de líneas, pero soy nuevo en estos formatos de datos.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay problemas de compatibilidad con la clase ‘sp’ de archivos geojson y el paquete geojsonio. En su lugar, intenta usar el paquete sf para leer el archivo como un objeto sf:

    library(sf)
    library(geojsonio)
    
    # establecer ruta de archivo
    file_path <- "RutaDelArchivo/electric-network-iraq.geojson"
    
    # leer el archivo como un objeto sf
    sf_obj <- sf::st_read(file_path)
    
    # verificar la clase del objeto sf
    class(sf_obj)
    
    # graficar el objeto sf
    plot(sf_obj)
    

    Esto debería leer el archivo geojson como un objeto sf y permitirte graficarlo usando la función plot().

Comments are closed.