2016-07-07 3 views
1

Я хочу прочитать DXF в R, используя пакет RGDAL. DXF поддерживается RGDAL, но я не могу прочитать файл, и я не нахожу информацию об этой теме. С шейп-файлами у меня нет никаких проблем.Чтение файла DXF в R с помощью readOGR

Вот мой исходный код:

library(rgdal) 
library("rgeos") 
library(RPostgreSQL) 
my.layer <- readOGR(dsn = "./IN/Gear Sample-iss4.DXF", layer = "0") 

Выход:

Ошибка в ogrInfo (DSN = $ DSn, слой = слой, кодирование = кодирование, use_iconv = use_iconv,: не удается открыть слой

+0

Попробуйте настроить путь к каталогу с помощью «DSN =» и ваше имя слоя отдельно через «слой =». Это поведение по умолчанию для шейп-файлов. В вашем примере у вас есть пробел в пути к каталогу в сочетании с именем файла, что вызовет проблемы. Также обратите внимание, что в документации 'readOGR' говорится:« для разных драйверов интерпретация зависит от драйвера », dsn - это имя файла, но также может быть папкой». Это означает, что процедура для шейп-файлов НЕ МОЖЕТ работать для файлов .dxf. –

+0

Пространство в названии не является проблемой. Я обнаружил, что все содержимое файла .dwg представлено как один слой с именем «entity». 'my.layer <- readOGR (dsn =" ./ IN/GearSampleiss4.DXF ", layer =" entities ")' –

+0

Дополнительная информация: http://www.gdal.org/drv_dxf.html –

ответ

0

Ошибка довольно проста: в файле нет слоя с именем «0». Для DXF имя слоя задано в файле ... Казалось бы, как и у вас, используется другое имя, чем значение по умолчанию «0».

Try список слоев, чтобы подтвердить имя:

ogrListLayers("./IN/Gear Sample-iss4.DXF") 

 Смежные вопросы

  • Нет связанных вопросов^_^