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

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 13 фев 2019, 07:45

Здравствуйте,

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

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

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir » 13 фев 2019, 08:24

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

Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 13 фев 2019, 09:40

и что должно поменяться?

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

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir » 13 фев 2019, 09:50

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

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

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

Сообщение freeExec » 13 фев 2019, 10:14

Но ведь можно синтезировать фейковое поле вида

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

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

Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 13 фев 2019, 10:17

Ну да, SQL конечно пробовал использовать предварительно и в dbf помещал

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir » 13 фев 2019, 10:18

и в dbf помещал
чего :?:

Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 13 фев 2019, 10:21

freeExec, можно поподробнее пожалуйста.
по шагам

Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 13 фев 2019, 10:26

в смысле, была ошибка 000383 "cannot find the workspace", поэтому поместил оба файла в ArcGIS\Default.dbf

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir » 13 фев 2019, 10:31

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

Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 13 фев 2019, 12:09

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

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir » 13 фев 2019, 12:20

теперь либо всё зависает, либо делает QueryTable, но таблица пустая. Т.е. названия полей есть, но строк нет.
а что ты сделал?

Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 13 фев 2019, 12:47

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)
ОК

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

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

Сообщение trir » 13 фев 2019, 13:01

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

Аватара пользователя
vabisan
Участник
Сообщения: 75
Зарегистрирован: 24 фев 2011, 13:25
Репутация: 1
Откуда: Россия, Алтайский край, г. Барнаул

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

Сообщение vabisan » 16 фев 2019, 07:47

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

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя