Страница 1 из 1

Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 07:45
vabisan
Здравствуйте,

Есть две таблицы в shp и xls

Как можно прикрутить xls к shp по нескольким полям (столбцам) в ArcGIS\QGIS? По одному, понятно, join работает. А по двум?
ч\з Make Query Table (ArcGIS) – дошел до ошибки 999999.
Какие еще способы?

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 08:24
trir
загрузить в БД, а потом join
Есть две таблицы в shp и xls
и много боли...
порой мне кажится, что вы живёте в мире вечного Диско...

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 09:40
vabisan
и что должно поменяться?

всё то же самое

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 09:50
trir
sql join позволяет использовать сколько угодно полей
ч\з Make Query Table (ArcGIS) – дошел до ошибки 999999.
скорей всего ошибка типа данных в xls - вечная беда

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 10:14
freeExec
Но ведь можно синтезировать фейковое поле вида

Код: Выделить всё

"Поле1" + "Поле2"
и матчить по нему.

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 10:17
vabisan
Ну да, SQL конечно пробовал использовать предварительно и в dbf помещал

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 10:18
trir
и в dbf помещал
чего :?:

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 10:21
vabisan
freeExec, можно поподробнее пожалуйста.
по шагам

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 10:26
vabisan
в смысле, была ошибка 000383 "cannot find the workspace", поэтому поместил оба файла в ArcGIS\Default.dbf

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 10:31
trir
Ну да, SQL конечно пробовал использовать предварительно и в dbf помещал
сначало надо загрузить в нормальную БД и сразу отпадут все ошибки с типами данных, подключением и т. д.

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 12:09
vabisan
trir писал(а):
13 фев 2019, 10:31
сначало надо загрузить в нормальную БД и сразу отпадут все ошибки с типами данных, подключением и т. д.
теперь либо всё зависает, либо делает QueryTable, но таблица пустая. Т.е. названия полей есть, но строк нет.

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 12:20
trir
теперь либо всё зависает, либо делает QueryTable, но таблица пустая. Т.е. названия полей есть, но строк нет.
а что ты сделал?

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 12:47
vabisan
1. в ArcCatalog создал Personal Geodatabase (File Geodatabase тоже пробовал)
2. отправил shp и xls в mdb (Personal Geodatabase), ч\з export data как "file and personal geodatabase tables"
3. в Make Query Table добавил эти два файла из mdb. В expression сделал выражение типа: (file1_field1 = file2_field1) AND (file1_field2 = file2_field2)
ОК

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 13 фев 2019, 13:01
trir
сначало надо загрузить в нормальную БД
mdb (Personal Geodatabase) к ним не относится, только PostGIS, MSSQL Server, MySQL

Re: Соединение таблиц по нескольким (двум и более) полям

Добавлено: 16 фев 2019, 07:47
vabisan
В общем, проще всего оказалось сделать новый столбец, объединив данные из двух целевых полей, и соединять таблицы через него.
Как это сделать, может кому-то пригодится:
1. в shp: https://support.esri.com/en/technical-article/000005365
2. в xls: "способ 3. Объединение с помощью функции" http://lumpics.ru/how-to-combine-columns-in-excel/