Страница 1 из 1
дубляж
Добавлено: 24 июл 2012, 15:49
Тупик
Мэпинфошка 11
каким запросом найти дубляж объектов пределах одной таблицы?
Re: дубляж
Добавлено: 24 июл 2012, 16:00
Пётр Дубоделов
здесь смотрели?
запрос - штука непростая, тем более на себя
Re: дубляж
Добавлено: 24 июл 2012, 16:16
Тупик
посмотрела,нашла хорошие утилиты,только не по проблеме.
может чего проглядела(
может еще варианты есть?
Re: дубляж
Добавлено: 24 июл 2012, 16:20
Пётр Дубоделов
уточните, Вам нужно избавиться от дублирования значений в строках, или же от объектов, которые строго накладываются друг на друга?
Re: дубляж
Добавлено: 24 июл 2012, 16:42
Institor
Тоже в свое время задумывался над этим вопросом, но так как не особо было нужно, забросил.
Была мысль искать по координатам центроида.
Re: дубляж
Добавлено: 24 июл 2012, 17:22
Boris
поиск тождественности гео-объектов не простое дело, т.к. является задачей квадратичной размерности. кроме того он имеет массу тонкостей, в первую очередь что именно ищете - объекты повторно введенные из одного источника или объекты повторно введенные из разных источников и разным способом нарисованные. если грубо, то поиск объектов, если это только не точки, которые имеют один и тот же порядок ввода вершин и имеют у всех вершин тождественные координаты можно реализовать в мапбайсике, если же координаты имеют некоторый лаг, хотя бы доли миллиметра, то задача становится сильно сложнее.
Но есть способ без лишних усилий с высокой долей приблизительности, хотя в реальности дает совпадающие объекты в 99.999% случаев. он заключается в следующем построении:
а) таблица должна иметь уникальный индекс
б) к таблице строиться запрос на столбец уникального индекса, центроид X, центроид Y, площадь в кв. метрах, число вершин
в) строится статистический запрос на группировку по центроид X, центроид Y, площадь в кв. метрах, число вершин, количество(уникальный индекс)>1
г) строиться запрос к исходной таблице и статистической таблице
---
если сохранить таблицу в ее копию, то можно обойтись одним запросом:
выбрать из исходной таблицы А и таблицы Б (копии) все записи, у которых равны координаты центроидов, площадь и число вершин, но не равны уникальные индексы. что бы ограничить размер таблицы можно вместо "не равны", использовать условие "уникальный индекс из таблицы А меньше уникального индекса из таблицы Б".
Re: дубляж
Добавлено: 25 июл 2012, 08:41
SergS
Boris,
я бы не рискнул ориентироваться на центроид объекта в mapinfo, особенно, если данные получены из разных источников и(или) различным способом изготовлены. Хотя, если организовать уникальное поле и поизвращаться над копией, разместив этот самый центроид в "стандартном" месте объекта, то да, алгоритм рабочий...
Re: дубляж
Добавлено: 25 июл 2012, 11:48
Institor
В принципе можно придумать некий индекс (хэш) от центроида, площади и количества узлов, тогда вероятность ложного срабатывания будет очень маленькая, КМК
Re: дубляж
Добавлено: 25 июл 2012, 22:32
Boris
SergS писал(а):
я бы не рискнул ориентироваться на центроид объекта в mapinfo, ...
Я бы то же не рискнул, но какое есть описание задачи от такого и идем...
О дублях гео-объектов из РАЗНЫХ источников, вообще, сказать ничего нельзя, тут можно часами строить предположения, - "а что если было сделано вот так ...?"
---
можно начать с простейшего - имеем ОДИН источник, но он путешествовал в результирующий набор через таблицы с разными границами, и ВСЕ. Объект один и тот же, а геометрия и ее производные будет разная по координатам. Даже плюс-минус миллиметра хватит, что бы не найти дублей.