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

Как избавиться от повторяющихся названий на карте?

Добавлено: 24 мар 2008, 16:52
godnik
Привет всем!
В процессе подготовки shp'ов карты Москвы для показа на нашем сайте я столкнулся с проблемой, которую не смог решить ни в ArcGis, ни в MapInfo: если один объект разбит на несколько полигонов и каждому присваивается, например, название нас. пункта - как отсортировать одно, так чтобы при этом не пропали другие полигоны? Я - не гисовщик и, возможно, проблема решается просто, поэтому я формулирую ее наиболее наивным образом... В sql запросах есть SELECT DISTINCT, но в вышеперечисленных редакторах я не нашел ничего лучше, чем GROUPE BY - а это не решение.
Помогите "кто сколько может"...

Добавлено: 25 мар 2008, 12:16
lalex
Обычно новый "шейп названий" делается вручную, вам же важно ГДЕ надписи будут располагаться - на центральном квартале или с краю поселка. Если все же автоматики хочется, то и тут у каждого свой алгоритм. Важен собственно признак группы, а механизмы могут быть разные, как даталогические, так и графические. Если признак имеется (например, одинаковое название), то дальше варианты:

- Попробуйте объединить, например, кварталы в один мультиполигон попоселочно. Если "мультинадписи" сохранятся, то постройте центроиды;
- GROUP BY для большинства задач абсолютно идентичен DISTINCTу, разбиралось только что в соседней теме. Кроме него, для группировки можно использовать любые запросы статистики - Summarize и.т.п.;
- Если все равно, где надпись, то можно удалить в группе всё кроме случайного первого элемента (SQL-кляуза "FIRST");
- Если вам не хватает мощности штатного запросника, перекиньте таблицу в Access и творите что хочется, хоть First хоть Distinct. Разумеется, с полигонами это сложнее, а вот с центроидами - элементарно. Если чуток подумать, то и к полигонам можно обратно прикрепить результат.

Удачи