дубляж
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: дубляж
"Если карта не соответствует местности, доверяй местности."
- Тупик
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 16 ноя 2011, 15:56
- Репутация: 0
Re: дубляж
посмотрела,нашла хорошие утилиты,только не по проблеме.
может чего проглядела(
может еще варианты есть?
может чего проглядела(
может еще варианты есть?
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: дубляж
уточните, Вам нужно избавиться от дублирования значений в строках, или же от объектов, которые строго накладываются друг на друга?
"Если карта не соответствует местности, доверяй местности."
- Institor
- Активный участник
- Сообщения: 243
- Зарегистрирован: 22 апр 2011, 08:10
- Репутация: 27
- Откуда: Хабаровск
Re: дубляж
Тоже в свое время задумывался над этим вопросом, но так как не особо было нужно, забросил.
Была мысль искать по координатам центроида.
Была мысль искать по координатам центроида.
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: дубляж
поиск тождественности гео-объектов не простое дело, т.к. является задачей квадратичной размерности. кроме того он имеет массу тонкостей, в первую очередь что именно ищете - объекты повторно введенные из одного источника или объекты повторно введенные из разных источников и разным способом нарисованные. если грубо, то поиск объектов, если это только не точки, которые имеют один и тот же порядок ввода вершин и имеют у всех вершин тождественные координаты можно реализовать в мапбайсике, если же координаты имеют некоторый лаг, хотя бы доли миллиметра, то задача становится сильно сложнее.
Но есть способ без лишних усилий с высокой долей приблизительности, хотя в реальности дает совпадающие объекты в 99.999% случаев. он заключается в следующем построении:
а) таблица должна иметь уникальный индекс
б) к таблице строиться запрос на столбец уникального индекса, центроид X, центроид Y, площадь в кв. метрах, число вершин
в) строится статистический запрос на группировку по центроид X, центроид Y, площадь в кв. метрах, число вершин, количество(уникальный индекс)>1
г) строиться запрос к исходной таблице и статистической таблице
---
если сохранить таблицу в ее копию, то можно обойтись одним запросом:
выбрать из исходной таблицы А и таблицы Б (копии) все записи, у которых равны координаты центроидов, площадь и число вершин, но не равны уникальные индексы. что бы ограничить размер таблицы можно вместо "не равны", использовать условие "уникальный индекс из таблицы А меньше уникального индекса из таблицы Б".
Но есть способ без лишних усилий с высокой долей приблизительности, хотя в реальности дает совпадающие объекты в 99.999% случаев. он заключается в следующем построении:
а) таблица должна иметь уникальный индекс
б) к таблице строиться запрос на столбец уникального индекса, центроид X, центроид Y, площадь в кв. метрах, число вершин
в) строится статистический запрос на группировку по центроид X, центроид Y, площадь в кв. метрах, число вершин, количество(уникальный индекс)>1
г) строиться запрос к исходной таблице и статистической таблице
---
если сохранить таблицу в ее копию, то можно обойтись одним запросом:
выбрать из исходной таблицы А и таблицы Б (копии) все записи, у которых равны координаты центроидов, площадь и число вершин, но не равны уникальные индексы. что бы ограничить размер таблицы можно вместо "не равны", использовать условие "уникальный индекс из таблицы А меньше уникального индекса из таблицы Б".
-
- Активный участник
- Сообщения: 120
- Зарегистрирован: 14 апр 2011, 13:24
- Репутация: 5
- Откуда: Екатеринбург
Re: дубляж
Boris,
я бы не рискнул ориентироваться на центроид объекта в mapinfo, особенно, если данные получены из разных источников и(или) различным способом изготовлены. Хотя, если организовать уникальное поле и поизвращаться над копией, разместив этот самый центроид в "стандартном" месте объекта, то да, алгоритм рабочий...
я бы не рискнул ориентироваться на центроид объекта в mapinfo, особенно, если данные получены из разных источников и(или) различным способом изготовлены. Хотя, если организовать уникальное поле и поизвращаться над копией, разместив этот самый центроид в "стандартном" месте объекта, то да, алгоритм рабочий...
- Institor
- Активный участник
- Сообщения: 243
- Зарегистрирован: 22 апр 2011, 08:10
- Репутация: 27
- Откуда: Хабаровск
Re: дубляж
В принципе можно придумать некий индекс (хэш) от центроида, площади и количества узлов, тогда вероятность ложного срабатывания будет очень маленькая, КМК
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: дубляж
Я бы то же не рискнул, но какое есть описание задачи от такого и идем...SergS писал(а): я бы не рискнул ориентироваться на центроид объекта в mapinfo, ...
О дублях гео-объектов из РАЗНЫХ источников, вообще, сказать ничего нельзя, тут можно часами строить предположения, - "а что если было сделано вот так ...?"
---
можно начать с простейшего - имеем ОДИН источник, но он путешествовал в результирующий набор через таблицы с разными границами, и ВСЕ. Объект один и тот же, а геометрия и ее производные будет разная по координатам. Даже плюс-минус миллиметра хватит, что бы не найти дублей.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя