Присоединение таблицы Excel к шейп файлу в ArcMap?

9

У меня есть шейп-файл областей сверхвысокого уровня нижнего уровня (LSOA) для Англии и Уэльса, и у меня есть таблица показателей депривации для каждого из LSOA в Англии. Я хочу объединить данные депривации с шейп-файлом, чтобы их можно было отобразить в ArcMap. Я попытался объединить таблицу с помощью параметра «Присоединиться и связать> Соединить» и вставить поля для данных LSOA для шейп-файла и электронной таблицы (данных, которые соответствуют). таблица атрибутов добавила поля данных в таблицу атрибутов из таблицы Excel, но все данные пустые !!

Я попытался посмотреть на поле «тип», как я прочитал, что это было проблемой раньше, но, кажется, все в порядке.

Кто-нибудь может что-нибудь предложить?

dpc1989
источник
См. Соответствующую ветку
whuber
1
Экспортируйте его в другой формат, такой как CSV, Access или DBF. Excel ужасен для согласованности данных, но ответ на этот связанный вопрос объясняет почему.
blah238

Ответы:

6

Вот страница справки ESRI о присоединении шейп-файла к файлу Excel: http://support.esri.com/en/knowledgebase/techarticles/detail/31793

Я следовал этим рекомендациям в прошлом, когда у меня были проблемы, и я смог объединить данные.

Для получения дополнительной информации вот технический документ ESRI по работе с Excel в ArcGIS:

http://www.esri.com/news/arcuser/0104/files/excel.pdf

Casey
источник
5

Одинаковы ли типы (т. Е. Оба целых числа / оба двойных) в Excel и ArcMap? Также вам может понадобиться превратить файл excel в базу данных или CSV, чтобы присоединиться к ним (просто используйте «сохранить как» в Excel, чтобы изменить тип файла). В прошлом у меня были проблемы с файлами Excel, иногда это также связано с тем, что это .xlsx (новый тип файла для нового MS Office), а не .xls (который должен работать с Arc).

Эмили
источник
Я пытался сохранить его в формате CSV, но он не позволил мне присоединиться к нему, я импортировал таблицу в базу данных, но она не будет отображаться в качестве одного из файлов для соединения! что-нибудь еще?
dpc1989
У вас есть база данных, открытая в другом месте, когда вы пытаетесь присоединиться к ней в Arc? Также вы можете выбрать его из своего местоположения на вашем компьютере, возможно, он просто не отображается должным образом?
Эмили
базы данных не отображаются в каталоге Arc тоже? я сделал это через Access ... это просто электронные таблицы и тому подобное
dpc1989
Также вы можете сделать соединение в ArcCatalogue, отражая точку зрения Дэйва. Вы бы использовали функцию Add Join на панели инструментов (в разделе «Управление данными»).
Эмили
удалить пробелы и специальные символы из имен полей
Брэд Несом
5

По моему опыту, вам нужно добавить objectID в вашу электронную таблицу Excel, присваивая каждому сообщению уникальный номер (целое число) перед объединением в ArcMap. Вы можете добавить дополнительное поле и затем начать вводить 1 в первом ряду, 2 в следующем, затем разметить два значения и перетащить разметку вниз - тогда Excel заполнит пробелы для вас.

Стин Кьельдсен
источник
4

Убедитесь, что в именах файлов, именах листов или имен полей нет пробелов.

djq
источник
4

Проверьте все свои числовые поля на наличие скрытых отступов. Excel может быть очень непослушным, молча ловя нули И скрывая их от вас. Я сталкивался с этим несколько раз, последний раз - в колонке кодов FIPS тракта переписи. (Кто-нибудь знает почему?)

Попасть в пустую ячейку и вытащить первую цифру из значения, которое не должно начинаться с нуля, используя LEFT ([ячейка], 1). Затем переверните его и проверьте значение, которое не должно заканчиваться нулем, используя функцию RIGHT ([ячейка], 1). Вы можете использовать функции обрезки Excel, если вы найдете места для бездействия.

rec.thegeom
источник
3

совпадают ли поля, к которым вы пытаетесь присоединиться, точно друг к другу? если строки в разных таблицах расположены не одинаково, вы всегда будете получать пробелы.

если вы делаете копию шейп-файла и открываете dbf копии в excel, вы можете вставить свои данные в копию и применить «сохранить как» и перезаписать данные в новый шейп-файл.

ghostfacemapper
источник
2
«если строки не в одинаковом порядке в обеих таблицах» - я не верю, что это правда. Положение строки не связано для присоединения; Примером этого может быть соединение «один ко многим», которое может быть выполнено с помощью шейп-файла и таблицы Excel.
DJQ
мне кажется, это происходит каждый раз, когда я пытаюсь соединить пространственные данные с непространственными данными, в результате я получаю пустые поля данных. если я сортирую строки, чтобы соответствовать, то это соединяется отлично. но я думаю, что вы правы, Селениус, не должно происходить никаких идей, почему это происходит?
ghostfacemapper
1
Вы уверены, что у вас есть соответствующие типы данных? Например, «1», хранящийся в виде строки, и «1», хранящийся в виде числа с плавающей запятой, не будут совпадать друг с другом, даже если имя поля совпадает. Я думаю, что безопасный способ объединения - экспортировать данные в формате csv, убедившись, что в именах файлов или имен полей нет пробелов, и убедиться, что ваши типы данных совпадают. Я был бы осторожен с редактированием шейп-файла напрямую - я думаю, что все может пойти не так, как надо.
DJQ
спасибо, celenius, в следующий раз, когда я попытаюсь сделать соединение, я буду использовать CSV-файл и посмотрим, что произойдет
ghostfacemapper
1

@ghostfacemapper записи не должны быть в том же порядке. Совсем не правда.

Теперь, если вы получаете сообщение об ошибке:

ОШИБКА 000339: У ввода [ИМЯ ФАЙЛА] нет идентификаторов OID, которые не удалось выполнить (поле соединения).

Вы можете решить проблему, «добавив» поле objectID, используя arcGIS, чтобы создать новую таблицу с objectID. Вы можете сделать это, экспортировав свой файл в формат таблицы dBASE. Для этого добавьте файл (таблицу) на карту, вы сможете увидеть файл в оглавлении на вкладке «Список по источнику»:

  1. щелкните правой кнопкой мыши на столе
  2. нажмите Данные
  3. нажмите Экспорт
  4. нажмите на кнопку обзора
  5. измените «Сохранить как тип» на «Таблица базы данных»
  6. дать ему новое имя и местоположение
  7. нажмите сохранить
  8. использовать новый файл, который вы только что сделали для объединения
  9. найти кого-то до пяти!

JMers
источник