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

Проблема с соединением таблиц при внешней идентичности полей

Добавлено: 28 май 2015, 17:50
amnesiac
Добрый день!
Может быть кто-то сталкивался с такой проблемой - экселевская таблица не хочет соединяться с классом объектов, хотя внешне значения ячеек в столбце, по которому я делаю соединение, совпадают.

Если конкретнее, то у меня слой OSM с названиями ж/д платформ, там названия, в которых прописная только первая буква, а в моем экселевском файле почти все названия написаны целиком заглавными (за исключением 6 штук).
Я сделала новое поле в слое, где калькулятором исходные названия переведены в соответствующие таблице эксель, но при соединении совпадений не находится. При этом, если я делаю соединение по исходному полю с названием, то сопоставляются как раз те 6 штук из таблицы, которые написаны так же, как в OSM.

В чем может быть причина?

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 28 май 2015, 18:23
Ariki
Возможно, в хвостовых пробелах или нечитаемых символах вроде перевода строки.
Хорошо бы увидеть пример данных.

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 28 май 2015, 18:41
Ariki
Кстати, какая версия ArcGIS? Если 10.0, попробуйте поставить Service Pack 5, там есть баги, похожие на ваш случай. Как делаете соединение: в ArcMap или через Join Field в ArcToolbox?

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 28 май 2015, 20:45
Vaska72
Можно попробовать экспортировать эксель в dbf. По-моему у меня как-то была похожая ситуация, помогло.

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 07:39
trir
Excel зло, потому что, то что видит пользователь и то что там по факту - две болшие разницы!
Лучше использовать БД, потому что там строгий контроль типа данных и больще инструментов управления данными

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 09:27
amnesiac
Ariki писал(а):Возможно, в хвостовых пробелах или нечитаемых символах вроде перевода строки.
Хорошо бы увидеть пример данных.
сейчас попробую перевести в dbf, как посоветовали выше, и если ничего не изменится - буду просить совета с примером) Версия у меня 10.2, но делала просто через меню "соединения и связи", т. к. раньше все получалось и похожей проблемы пока не возникало. Может ли дело быть в том, что я пересчитывала поле запросом на python?
Vaska72 писал(а):Можно попробовать экспортировать эксель в dbf. По-моему у меня как-то была похожая ситуация, помогло.
спасибо! посмотрим, что выйдет
trir писал(а):Excel зло, потому что, то что видит пользователь и то что там по факту - две болшие разницы!
Лучше использовать БД, потому что там строгий контроль типа данных и больще инструментов управления данными
согласна. просто исходники ко мне поступают исключительно в exel, по-видимому в дальнейшем буду переводить их в dbf

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 09:36
nadiopt
а эксель по-моему разучился в dbf переводить
я делала как посоветовал Vaska72, но только этот гадкий эксель открывала и пересохраняла Open Office'ом, там кстати и типы полей видны сразу

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 09:51
amnesiac
nadiopt писал(а):а эксель по-моему разучился в dbf переводить
я делала как посоветовал Vaska72, но только этот гадкий эксель открывала и пересохраняла Open Office'ом, там кстати и типы полей видны сразу
точно, разучился =( а open office в гос. организацию не вариант, говорит сисадмин
так что как только найду способ - попробую через dbf, может мне тоже поможет

upd
Всем спасибо, помог перевод в DBF!

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 10:18
nadiopt
на будущее - если сисадмин свиреп и зол (а ваш, по-моему, свихнулся, с каких пор в госорганизациях запрещен свободный софт?) , может помочь portable-версия, например вот такая http://portableapps.com/apps/office/openoffice_portable
кладем на флешку и вперед. Разве что еще и какие-нить запрещалки стоят
а если в госорганизации зачем-то полный офис стоит, вместе с акцессом, то можно им переводить

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 10:23
trir
offtop: USB порты закрывают, в первую очередь, даже не очень злые Админы... а некоторые отмороженные - мониторят запущеные процессы...

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 10:43
amnesiac
nadiopt писал(а):на будущее - если сисадмин свиреп и зол (а ваш, по-моему, свихнулся, с каких пор в госорганизациях запрещен свободный софт?) , может помочь portable-версия, например вот такая http://portableapps.com/apps/office/openoffice_portable
кладем на флешку и вперед. Разве что еще и какие-нить запрещалки стоят
а если в госорганизации зачем-то полный офис стоит, вместе с акцессом, то можно им переводить
спасибо! сисадмин нормальный, но очень боязливый))) боится, что засудят (говорит, вроде как юридически можно подкопаться, если не подтверждено, что сам открытый источник передал софт организации - но может он просто не шарит). А офис у нас у всех без access стоит, к сожалению, может добьюсь установки мне одной из лицензий

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 10:51
Игорь Белов
Я бы сделал "чистый" документ Excel, т.е. такой, в котором имена такие же, как в OSM.
  1. Создать копию исходного документа.
  2. В исходном документе ещё одну колонку заполнить значениями, вычисляемыми как строки из первой колонки без лидирующих/конечных пробелов в "правильном" регистре:

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

    =ПРОПНАЧ(СЖПРОБЕЛЫ(A1))
  3. Скопировать ячейки новой колонки и вставить в первую колонку нового документа не как формулы, а как значения.
Теперь мучить ArcGIS с новым документом.

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 11:48
amnesiac
ErnieBoyd писал(а):Я бы сделал "чистый" документ Excel, т.е. такой, в котором имена такие же, как в OSM.
  1. Создать копию исходного документа.
  2. В исходном документе ещё одну колонку заполнить значениями, вычисляемыми как строки из первой колонки без лидирующих/конечных пробелов в "правильном" регистре:

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

    =ПРОПНАЧ(СЖПРОБЕЛЫ(A1))
  3. Скопировать ячейки новой колонки и вставить в первую колонку нового документа не как формулы, а как значения.
Теперь мучить ArcGIS с новым документом.
Спасибо, так тоже работает. Правда совпадений выдает штук на 80 меньше, чем предыдущим способом

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 12:35
Игорь Белов
amnesiac писал(а):совпадений выдает штук на 80 меньше, чем предыдущим способом
Данных не видел, так что могу ошибаться с выбранными функциями. В приведённом варианте "БУРАННЫЙ ПОЛУСТАНОК" отобразится в "Буранный Полустанок", а должно, может быть, в "Буранный полустанок".
Кроме того, между словами могут оказаться двойные пробелы. Да много чего там может оказаться.
В общем, можно пройтись по несовпадениям и отредактировать формулы или уже готовые строки.

Re: Проблема с соединением таблиц при внешней идентичности п

Добавлено: 29 май 2015, 19:40
Vaska72
nadiopt писал(а):а эксель по-моему разучился в dbf переводить
я делала как посоветовал Vaska72, но только этот гадкий эксель открывала и пересохраняла Open Office'ом, там кстати и типы полей видны сразу
Можно самим ArcGIS'ом конвертировать. Как минимум с помощью Table To Table. И можно просто в каталоге открыть таблицу и экспортировать данные (в персональную или файловую базу точно, про dbf надо посмотреть)