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

Объединение слоев

Добавлено: 13 окт 2009, 06:20
dorofeevs
Подскажите, только начинаю работать с мапинфо.... Есть карта города послойно, в ней устарела информация по расположению домов, но зато заполнены характеристики по каждому дому, сейчас есть новая карта, но информации по домам нет и даже нет некоторых полей для ввода этой информации. Как можно это объединить, чтобы характеристики остались от того слоя, а картинка от этого?

Re: Объединение слоев

Добавлено: 13 окт 2009, 10:42
reasonat
можно перенести характеристики из старой карты на новую, если объекты из старой и новой карты удастся по какому-то признаку соотнести, по графическому положению (но раз информация в старой карте о расположении домов устарела, значит они не совпадают?), или по какому-то из полей, типа адреса или идентификатора какого.
тогда есть в меню мапинфо пункт Таблица/Обновить колонку. Там указывается из какой таблицы брать значение поля или комбинацию полей, и в какую таблицу это значение записать. Там же задается условие объединения, по графике или по совпадению поля.

Re: Объединение слоев

Добавлено: 13 окт 2009, 14:03
dorofeevs
Добавил необходимые поля для переноса данных, попробовал через обновление колонок, пытаюсь связать по номерам домов, переносит что попало, может еще есть какие нибудь возможности?

Re: Объединение слоев

Добавлено: 13 окт 2009, 14:10
dorofeevs
на всякий случай вложу файлы, старая карта в папке МАР G_GOM112.TAB, а новая в папке Адр. G_GOM

Re: Объединение слоев

Добавлено: 13 окт 2009, 14:25
reasonat
подозреваю, что только по номерам домов сложно связать карты. первый дом и десятый дом повторяться будут примерно столько раз, сколько улиц на карте присутствует. связывать карты надо по какому-то уникальному полю или по набору полей

Re: Объединение слоев

Добавлено: 13 окт 2009, 14:40
dorofeevs
В этом то и есть проблема, но других полей нет, всего два поля пересекается номер дома и улица

Re: Объединение слоев

Добавлено: 13 окт 2009, 14:45
reasonat
тогда нужно третье поле, где запишется выражение <улица> + <дом>, тогда наверно получится уникальный адрес.
или еще название поселения приписать, если их больше одного. тогда можно объединять

Re: Объединение слоев

Добавлено: 13 окт 2009, 15:05
dorofeevs
Нет, это по одному городу, т.е. создать поле и суммировать значение по улице и номеру?

Re: Объединение слоев

Добавлено: 13 окт 2009, 15:25
reasonat
ну да. и хорошо бы проконтролировать уникальность такого полученного ключа.
Можно запросом, из меню Запрос/SQL-запрос, указать, из какой таблицы выбирать, указать вверху вместо звездочки это поле адреса и, через запятую, функцию для обобщения Count(*), и указать это же поле адреса как поле для группировки. В результате получится таблица, где в одном поле - все встречающиеся в вашей карте адреса, а во втором - число повторений. Эту таблицу запроса можно еще раз выбрать, упорядочив по полю Count(*).
Тогда, если все строки будут встречаться по одному разу, значит это поле можно использовать как уникальное, для объединения таблиц.

Re: Объединение слоев

Добавлено: 13 окт 2009, 15:31
Andrew
проще обновить колонку в таблице с новыми домами по вложености в них центроида старых домов.

Re: Объединение слоев

Добавлено: 13 окт 2009, 15:37
Andrew
посмотрите - это то, что Вам нужно? в таблице колонки - результат объединения двух таблиц. лишние удалите.

Re: Объединение слоев

Добавлено: 13 окт 2009, 15:53
reasonat
если центроиды все попадут. задано ведь, что положение домов изменилось.

Re: Объединение слоев

Добавлено: 13 окт 2009, 16:04
Andrew
reasonat писал(а):если центроиды все попадут. задано ведь, что положение домов изменилось.
как на карте видно, все различие - это некоторые старые дома пропали, новые появились. с этим никак. а вот с теми, которые немного не совпадают, все нормально получается.

Re: Объединение слоев

Добавлено: 13 окт 2009, 16:13
reasonat
тогда конечно да :) по графике лучше всего

Re: Объединение слоев

Добавлено: 14 окт 2009, 05:53
dorofeevs
Andrew писал(а):посмотрите - это то, что Вам нужно? в таблице колонки - результат объединения двух таблиц. лишние удалите.
Это отличный вариант, спасибо огромное! Опишите подробнее как сделали объединение на будущее и есть еще несколько вопросов, как сделать таблицу по всем домам, чтобы посмотреть где какие поля не заполнены, и есть ли возможность заполнять поля из данных, которые находятся в таблице ехель?