web-dev-qa-db-fra.com

readOGR () ne peut pas ouvrir le fichier

wmap <- readOGR(dsn="~/R/funwithR/data/ne_110m_land", layer="ne_110m_land")

Ce code ne charge pas le fichier de forme et une erreur est générée comme

Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv,  : 
Cannot open file

Je suis sûr que le répertoire est correct. À la fin/n'est pas là non plus et le nom du calque est également correct.

Dans le répertoire ne_110m_land, les fichiers que j'ai sont:

ne_110m_land.dbf
ne_110m_land.prj
ne_110m_land.shp
ne_110m_land.shx
ne_110m_land.VERSION.txt
ne_110m_land.README.html
24

Vous auriez pu montrer que vous avez le bon chemin avec:

list.files('~/R/funwithR/data/ne_110m_land', pattern='\\.shp$')
file.exists('~/R/funwithR/data/ne_110m_land/ne_110m_land.shp')

essayez peut-être:

readOGR(dsn=path.expand("~/R/funwithR/data/ne_110m_land"), layer="ne_110m_land")

ou une alternative plus simple qui s'enroule autour de cela:

library(raster)
s <- shapefile("~/R/funwithR/data/ne_110m_land/ne_110m_land.shp")
50
Robert Hijmans

Pour moi, la commande a renvoyé l'erreur Cannot open layer Lorsque j'ai inclus les balises dsn et layer.

Donc, quand je l'ai inclus tout comme readOGR('~/R/funwithR/data/ne_110m_land/ne_110m_land.shp') cela a fonctionné.

Notez que mon fichier était un gjson, donc je ne l'ai vu qu'avec readOGR('~/R/funwithR/data/ne_110m_land/ne_110m_land.gjson')

2
Tom Logan

Voici ce qui a fonctionné pour moi (avec un exemple réel)

require(rgdal)
shape <- readOGR(dsn = "1259030001_ste11aaust_shape/STE11aAust.shp", layer = "STE11aAust")

Les données exactes sont disponibles ici (téléchargez le fichier .Zip appelé 'State and Territory ASGC Ed 2011 Digital Boundaries in MapInfo Interchange Format')

0
user5783745

Comme je l'ai commenté dans un autre article ( Erreur lors de l'ouverture du fichier de formes ), l'utilisation de file.choose () et la sélection manuelle aideront dans le cas où une sélection de fichier est nécessaire. Apparemment, il est lié aux fichiers de formes NaturalEarth

0