Привет всем!
В процессе подготовки shp'ов карты Москвы для показа на нашем сайте я столкнулся с проблемой, которую не смог решить ни в ArcGis, ни в MapInfo: если один объект разбит на несколько полигонов и каждому присваивается, например, название нас. пункта - как отсортировать одно, так чтобы при этом не пропали другие полигоны? Я - не гисовщик и, возможно, проблема решается просто, поэтому я формулирую ее наиболее наивным образом... В sql запросах есть SELECT DISTINCT, но в вышеперечисленных редакторах я не нашел ничего лучше, чем GROUPE BY - а это не решение.
Помогите "кто сколько может"...
Как избавиться от повторяющихся названий на карте?
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 23 окт 2007, 19:20
- Репутация: 13
- Откуда: Москва
- Контактная информация:
-
- Участник
- Сообщения: 74
- Зарегистрирован: 07 фев 2006, 22:54
- Репутация: 0
Обычно новый "шейп названий" делается вручную, вам же важно ГДЕ надписи будут располагаться - на центральном квартале или с краю поселка. Если все же автоматики хочется, то и тут у каждого свой алгоритм. Важен собственно признак группы, а механизмы могут быть разные, как даталогические, так и графические. Если признак имеется (например, одинаковое название), то дальше варианты:
- Попробуйте объединить, например, кварталы в один мультиполигон попоселочно. Если "мультинадписи" сохранятся, то постройте центроиды;
- GROUP BY для большинства задач абсолютно идентичен DISTINCTу, разбиралось только что в соседней теме. Кроме него, для группировки можно использовать любые запросы статистики - Summarize и.т.п.;
- Если все равно, где надпись, то можно удалить в группе всё кроме случайного первого элемента (SQL-кляуза "FIRST");
- Если вам не хватает мощности штатного запросника, перекиньте таблицу в Access и творите что хочется, хоть First хоть Distinct. Разумеется, с полигонами это сложнее, а вот с центроидами - элементарно. Если чуток подумать, то и к полигонам можно обратно прикрепить результат.
Удачи
- Попробуйте объединить, например, кварталы в один мультиполигон попоселочно. Если "мультинадписи" сохранятся, то постройте центроиды;
- GROUP BY для большинства задач абсолютно идентичен DISTINCTу, разбиралось только что в соседней теме. Кроме него, для группировки можно использовать любые запросы статистики - Summarize и.т.п.;
- Если все равно, где надпись, то можно удалить в группе всё кроме случайного первого элемента (SQL-кляуза "FIRST");
- Если вам не хватает мощности штатного запросника, перекиньте таблицу в Access и творите что хочется, хоть First хоть Distinct. Разумеется, с полигонами это сложнее, а вот с центроидами - элементарно. Если чуток подумать, то и к полигонам можно обратно прикрепить результат.
Удачи
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей