Присоединение непространственного файла CSV к пространственным данным (шейп-файлу) с использованием QGIS?

40

У меня есть файл CSV, в котором есть данные почтового индекса в поле, но он не является пространственным, например, нет восточного и северного направлений.

У меня есть шейп-файл с почтовым индексом в поле и некоторые дополнительные данные.

Я хочу присоединиться к CSV с шейп-файлом, основанным на атрибутах (поля почтового индекса). Я знаю, что могу сделать это в ArcMap, но как мне добиться того же в QGIS?

gisuser
источник
Как вы делаете это в версии 2.3.0-Master?
В версии 2.8 (а также с некоторыми более ранними версиями ранее) я не могу заставить эту работу. Попытка присоединиться совпадает на данных почтового индекса Великобритании. Используя mmqgis, я получаю ошибку «нет геометрии в слое Postcode» или что-то очень похожее. Используя функцию соединения QGIS, я получаю соединение данных, но в CSV не добавляется геометрия. Очень очень расстроен этой проблемой.
Ространимин
1
Привет @Rostranimin. Правильно ли вы делаете это, то есть присоединяете данные CSV к данным шейп-файла из диалога «Свойства» шейп-файла?
Страгу

Ответы:

28

Быстрый способ - использовать плагин mmqgis, который присоединит ваш CSV-файл к шейп-файлу с помощью полей почтового индекса.

введите описание изображения здесь

Mapperz
источник
4
Эй смотри! Вот мой плагин для Обозревателя Файлов: D
Nathan W
1
Хорошая работа, Натан, много пользуюсь, хорошо работает.
Mapperz
1
Это работает хорошо, как раз то, что нам было нужно. Большое спасибо!
Gisuser
Привет, я пытаюсь это сделать, но я получаю следующую ошибку Traceback (последний вызов был последним): Файл "C: /Users/Juan/.qgis/python/plugins \ mmqgis \ mmqgis_dialogs.py", строка 65, в диалекте browse_infiles = csv.Sniffer (). sniff (infile.read (1024)) Файл "C: \ PROGRA ~ 1 \ QUANTU ~ 1 \ apps \ Python25 \ lib \ csv.py", строка 160, в текстовом коде Ошибка, "Could не определить разделитель "Ошибка: не удалось определить разделитель
@Carlos: Какой разделитель вы используете в файле CSV?
Подземье
39

В следующем выпуске QGIS версии 1.7 в свойствах слоя будет встроена функция объединения. Скорость объединения также весьма впечатляет.

Шаги, чтобы присоединиться:

  1. Откройте CSV через значок открытого вектора.
  2. Откройте вкладку свойств на слое, к которому вы хотите присоединиться (ваша карта)
  3. Откройте вкладку «Присоединиться» и нажмите кнопку «+».
  4. Выберите слой CSV и два столбца, к которым вы хотите присоединиться.
  5. Нажмите ОК в диалоге свойств.

Присоединяйтесь в QGIS

Натан У
источник
Ницца. Добавление файлов CSV с использованием слоя «Добавить вектор» не является интуитивно понятным. Хотел бы я знать это раньше.
РК
1
Четыре года спустя, и это все еще не работает так надежно, как плагин MMQGIS IME.
Камденл
1
Это было намного быстрее, чем плагин MM. Чтобы добавить слой данных, используйте layer -> add delimited text-> csv
Learning stats на примере
0

Если вы загрузите свои данные в MS Access, ftools позволит вам присоединиться к таблице MS Access.

Вы запускаете установщик плагина qgis, включаете сторонние репозитории, и ftools станет доступным.

затем используйте плагин, перейдя в fTools> Инструменты управления данными> Атрибуты соединения

relima
источник
Спасибо, я не особенно хочу использовать другую программу, чтобы добраться туда, но я попробую это, если все остальное терпит неудачу.
Gisuser
0

Плагин fTools для работы с векторными данными также предоставит вам такую ​​же возможность «объединять данные по атрибуту», даже если он не пространственный.

Archaeogeek
источник
Кажется, только использование пространственных данных в качестве целевого слоя, в этом случае я хотел бы добавить поля из пространственного слоя в CSV. Спасибо за предложение.
Gisuser