You are not logged in.

#51 2011-10-21 08:24:30

Felis Pimeja
Member
Registered: 2010-10-27
Posts: 1,035

Re: Мультиполигоносрач

Zkir wrote:

Если OSM - это место для поднятия ЧСВ и  самовыражения/удовлетворения графоманского зуда - то это один разговор. А если OSM это база данных, пригодная для использования, то она должна находиться в корректном состоянии *всегда*.  Во всяком случае, время нахождения полигонов в поломатом состоянии должно быть минимальным.

Исправил ошибку, пусть даже откатом, а потом разговаривай с ломальщиком хоть до посинения -если самому поправить не получилось smile

OK, я твою точку зрения хорошо понимаю. И в общем, даже поддерживаю. Корректная база в любой момент времени - это действительно важно. Но это палка о 2-ух концах:
1-ая крайность - "место для поднятия ЧСВ и  самовыражения/удовлетворения графоманского зуда"
2-ая - огороженная песочница для взращивания монгольских космонавтов (Как в том анекдоте: "Всё хорошо. Только руки очень болят. Русские все время по рукам били: это не трогай, это не нажимай")

"А причина одна - безблагодатность" ©
То есть валидация перед загрузкой должна быть очень жёсткой. Особенно в отношении данных, уже занесённых в базу. Пришли к тому же.


fserges wrote:

А переживаю я больше за то, что уж очень легко ненароко случайно ломаются эти хрупкие мултиполигоны. Я сейчас начинаю массово переходить на мультиполигоны и думается что если я легко поломал такое то и мои мультиполгоны могут точно также легко быть сломаны. То есть проблема системная. JOSM должен был бы хотя бы ругнуться что "Вы изменили отношение, убедитесь что ...". Встроенное проверки замкнутости мультиполигонов нет, хотя мультиполигон - вещь замкнутая smile

Встроенный валидатор JOSM прекрасно проверяет мультиполигоны на замкнутость. Если его внимательно читать перед загрузкой на сервер, то всех косяков можно избежать.

Last edited by Felis Pimeja (2011-10-21 08:37:52)

Offline

#52 2011-10-21 08:41:47

KonTur
Banned
From: SPB
Registered: 2010-03-10
Posts: 1,636

Re: Мультиполигоносрач

Zkir wrote:
KonTur wrote:

Это слишком сурово - из-за одного полигона всю правку откатывать.

Это как раз нормально. Правку, которая что-то ломает самое правильное откатить, а потом уже разбираться.

Нда?
Если правка на 1000 объектов, а задет один мультполигон - может таки лучше замкнуть это мультиполигон чем откатывать правку на 1000 объектов?

Если например откатят мою правку из-за поломатого мультиполигона леса где-нибудь в глуши Волховского р-на - я второй раз уже на то место возвращаться не буду. Или скорее откачу откат - и замкну полигон ибо это правильнее.

Давайте все-таки хоть немного учитывать важность и объем данных прежде чем откатывать чужое.

Offline

#53 2011-10-21 08:47:44

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

Zkir wrote:

А если OSM это база данных, пригодная для использования, то она должна находиться в корректном состоянии *всегда*

Угу, поэтому и проверяться эта корректность должна на уровне API - это же классика. Вопросы целостности данных на клиенте никогда не решались, и не смогут решиться  smile

Offline

#54 2011-10-21 08:52:44

Zkir
Member
From: Хрустальная Москва
Registered: 2009-02-21
Posts: 6,110

Re: Мультиполигоносрач

liosha wrote:
Zkir wrote:

А если OSM это база данных, пригодная для использования, то она должна находиться в корректном состоянии *всегда*

Угу, поэтому и проверяться эта корректность должна на уровне API - это же классика. Вопросы целостности данных на клиенте никогда не решались, и не смогут решиться  smile

Т.е. если правка (коммит) размыкает мультиполигон, то сервер ее просто заворачивает. Может попытаемся такое протолкнуть, а? Вроде никаких изменений в самом интерфейсе (API) для этого не требуется...

Last edited by Zkir (2011-10-21 08:56:09)


Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.

Offline

#55 2011-10-21 08:58:00

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

Zkir, да, в теории именно так.

Только вот мультиполигон для таких проверок - абсолютно неподходящий объект.

Offline

#56 2011-10-21 09:45:53

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

Re: Мультиполигоносрач

Zkir wrote:

Т.е. если правка (коммит) размыкает мультиполигон, то сервер ее просто заворачивает. Может попытаемся такое протолкнуть, а? Вроде никаких изменений в самом интерфейсе (API) для этого не требуется...

Это не реализуемо в текущем API, так как нет никакого коммита (в смысле транзакции), а есть набор никак не связанных между собой правок конкретных объектов. Да и большинство изменений мультиполигонов сейчас проходит через состояние в котором он не валиден, т.е. вначале вей разделяется на две части (в МП остается только одна из них) и только потом вторая часть включается в МП.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#57 2011-10-21 09:48:02

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

Aleksandr Dezhin wrote:

нет никакого коммита (в смысле транзакции), а есть набор никак не связанных между собой правок конкретных объектов

Вроде бы каждый osmChange применяется как раз в транзакции, нет?

http://wiki.openstreetmap.org/wiki/API_ … d.2Fupload

Offline

#58 2011-10-21 10:10:28

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

Re: Мультиполигоносрач

liosha wrote:
Aleksandr Dezhin wrote:

нет никакого коммита (в смысле транзакции), а есть набор никак не связанных между собой правок конкретных объектов

Вроде бы каждый osmChange применяется как раз в транзакции, нет?
http://wiki.openstreetmap.org/wiki/API_ … d.2Fupload

Это да, только есть еще http://wiki.openstreetmap.org/wiki/API_v0.6#Elements_2 - тоже вполне себе часть API.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#59 2011-10-21 15:19:32

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,698
Website

Re: Мультиполигоносрач

Вообще-то если сервер будет каждый раз проверять валидность границы Франции - наступит апокалипсис...

Offline

#60 2011-10-22 07:57:45

ErshKUS
Member
From: Калиниград
Registered: 2010-12-27
Posts: 803

Re: Мультиполигоносрач

Но при увеличении базы осм скоро почти все будет полигонами, ведь в жизни мало что не стыкуется. Так что надо этот вопрос всё таки решить.
По поводу проверки можно и JOSM с портлатчем (не знаю насколько это возможно, но портлатч как я понимаю тоже часто ломает) научить валидировать.
Если серверу дать такую работу, то действительно, нагрузка на него тогда будет не малая. А у клиента как то проще.

Что скажите, в портлатче реально это поправить? тогда как временное (а может и постоянное wink ) решение проблемы.


Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш?   (Lumen, Лабиринт)

Offline

#61 2011-10-22 09:10:31

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

ErshKUS wrote:

Что скажите, в портлатче реально это поправить? тогда как временное (а может и постоянное wink ) решение проблемы.

Ну нельзя же. Схема настолько неудачная, что на сервере её валидировать не получится, потому что нагрузка нереальная, а на клиенте - потому что у клиента просто нет достаточно данных.

Offline

#62 2011-10-22 10:47:57

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,779

Re: Мультиполигоносрач

liosha wrote:

а на клиенте - потому что у клиента просто нет достаточно данных.

Он может отследить конечные точки загруженых линий. Если линия участвует в мультиполигоне, и ранее соединённые конечные точки теперь не соединяются - то выдавать предупреждение. Конечно это не полная валидация, но большую часть ошибок позволит обнаружить.

Offline

#63 2011-10-22 11:18:04

chnav
Member
From: Russia, mapping Kazakhstan
Registered: 2010-03-18
Posts: 3,264

Re: Мультиполигоносрач

[offtop]
ГИС существуют не первый десяток лет. Есть логические операции работы с полигонами (объединение, вычитание, пересечение и пр.), позволяющие создавать идеально сопряженные полигоны. Но ОСМеры зачем-то придумали мультиполигоны из отдельных отрезков (спасибо автокаду), теперь придумывают методы валидации этого "добра" на сервере.
ИМХО полезнее было бы вернуться к проверенным методам и внедрять нормальные операции для работы с нормальными полигонами в редакторе. А сейчас, получается, любому пользователю данных (конвертер, рендер и пр.) требуется выкачать полуфабрикат, потом соединить полилинии (точнее списки точек) с учетом направления, потом проверить замкнутость, потом подставить координаты вместо нодов. Уффф, полигон получен smile
Самое главное непонятно в чем экономия: путаницы больше, выгода минимальная. Я уже высказывал мнение что всё должно быть к месту. Хорошее начинание мультиполигонов (для логических вещей типа границ) извратили до неузнаваемости.

Offline

#64 2011-10-22 12:38:53

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

chnav wrote:

ИМХО полезнее было бы вернуться к проверенным методам и внедрять нормальные операции для работы с нормальными полигонами в редакторе.

Дык о чём и речь.

chnav wrote:

Самое главное непонятно в чем экономия: путаницы больше, выгода минимальная

Никакой экономии. Просто тяжёлое наследство mysql-а, от которого теперь уже не могут избавиться  smile

Offline

#65 2011-10-22 13:51:06

ErshKUS
Member
From: Калиниград
Registered: 2010-12-27
Posts: 803

Re: Мультиполигоносрач

Это конечно всё ужасно и так далее...
Но есть предложения по решению проблемы, место того чтобы охать и высказывать недовольства. Ведь те кто это создали, думаю другого варианта просто не видели, или не искали. Так может им подсказать?

Я со своей стороны предложил валидацию на клиенте, будет время - обдумаю как её теоретически реализовать. По перестроению в корне работы с мультиполигонами ничего сказать не могу - с ГИС почти не знаком.

P.S. но надо что то делать, скоро у нас все будет в мультиполигонах

Last edited by ErshKUS (2011-10-22 13:52:40)


Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш?   (Lumen, Лабиринт)

Offline

#66 2011-10-22 13:52:16

s-s-s
Member
From: Russia, Moscow
Registered: 2009-09-10
Posts: 373
Website

Re: Мультиполигоносрач

chnav wrote:

[offtop]
...А сейчас, получается, любому пользователю данных (конвертер, рендер и пр.) требуется выкачать полуфабрикат, потом соединить полилинии (точнее списки точек) с учетом направления, потом проверить замкнутость, потом подставить координаты вместо нодов. Уффф, полигон получен smile...

Думаю, что именно такая структура как раз и является наиболее оптимальной и универсальной для хранения исходный данных, не ангажированных под какую-либо одну ГИС-идеологию , ГИС-систему, ГИС-формат и т.д.


С уважением, Сергей.

Offline

#67 2011-10-22 13:56:50

Max Vasilev
Member
Registered: 2009-06-16
Posts: 1,026
Website

Re: Мультиполигоносрач

Можете кинуть в меня камень, но мне структура с иерархичными одноранговыми данными в чём то даже симпатизирует, но говорить, что она идеальна для ГИС или геоданных типа OSM я не буду.

Offline

#68 2011-10-22 14:12:02

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

s-s-s wrote:

Думаю, что именно такая структура как раз и является наиболее оптимальной и универсальной для хранения исходный данных, не ангажированных под какую-либо одну ГИС-идеологию , ГИС-систему, ГИС-формат и т.д.

Нет, к сожалению. Реальной пользы от такой структуры нет ни с одной стороны.

Для контрибьюторов приходится ломать моск, чтобы перевести привычные абстракции в этот ужос, и всё равно всё ломается от каждого чиха, нет нормальной истории etc; для пользователей данных - много-много гемора, чтобы перевести этот ужос обратно в привычные абстракции, подходящие для обработки. Даже для самого API больше проблем с выборками и с той же валидацией (которой нет и не будет).

Offline

#69 2011-10-22 14:38:36

Zverik
Moderator
From: Минск
Registered: 2010-10-14
Posts: 5,693
Website

Re: Мультиполигоносрач

Третья страница подходит к концу, а адекватных предложений ни сюда, ни в вики в копилку идей для api 0.7 так и не поступило. Одни стоны.


ШТОСМ | josm.ru | обо мне | удалёнка зло

Offline

#70 2011-10-22 15:17:35

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

Zverik wrote:

адекватных предложений ни сюда, ни в вики в копилку идей для api 0.7 так и не поступило.

Всё тебе надо разжевать и в рот положить?

Хорошо, разжёвываю: надо наконец отказаться от концепции "вей, состоящий из нодов" в пользу самостоятельных геометрий.

А теперь давай вместе посмеемся над шансами такого предложения smile

Offline

#71 2011-10-22 15:30:12

Zverik
Moderator
From: Минск
Registered: 2010-10-14
Posts: 5,693
Website

Re: Мультиполигоносрач

liosha wrote:
Zverik wrote:

адекватных предложений ни сюда, ни в вики в копилку идей для api 0.7 так и не поступило.

Всё тебе надо разжевать и в рот положить?

Хорошо, разжёвываю: надо наконец отказаться от концепции "вей, состоящий из нодов" в пользу самостоятельных геометрий.

А теперь давай вместе посмеемся над шансами такого предложения :)

Я знаю, что надо бы — сам постоянно везде об этом говорю. Вот только за три страницы я надеялся на более конкретные мысли, чтобы можно было сделать раздел в идеях для api 0.7. Так что да, разжевать и в рот положить, либо не молоть языками, аки бабки на лавочке.


ШТОСМ | josm.ru | обо мне | удалёнка зло

Offline

#72 2011-10-22 15:37:11

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

А на более конкретные мысли я бы не советовал надеяться раньше, чем будет принято принципиальное стратегическое решение. Пока я не заметил, чтобы они кого-то интересовали

Offline

#73 2011-10-22 15:59:09

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: Мультиполигоносрач

liosha, напоминаю, в осме установилась делократия ака do-ocracy.

Если кто-то может предложить более хорошую схему, чем текущие мультиполигоны - его с радостью выслушают.

Кроме того, в процесе миграции нужно будет:
- написать (стабильную) миграцию для railsport (без потери данных/истории);
- сделать (стабильный) патч для osm2pgsql;
- сделать патч средней степени стабильности для josm, potlatch.

Если кто-то возьмётся сделать всё вышеперечисленное, то сделать _действительно_ более удачную, чем текущую, структуру данных для мультиполигонов/площадей, будет достаточно просто.

Если кое-кто-то собирается продолжать ныть "ааай, всё равно никто это не поддержит, зачем я буду что-то делать" - то "закройте свои поганые рты и не воняйте".


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#74 2011-10-22 16:19:03

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

Re: Мультиполигоносрач

Komяpa, не поверишь, но я прекрасно знаю, что в осме установилось. И даже в курсе, что надо для всего этого сделать, и хочу ли я в это болото соваться.


И вынужден напомнить, уже как модератор, что тут не уютный личный бложик, а публичный форум, aka место для обсуждений. Каждый тут сам в состоянии решить, что ему говорить и что ему не говорить. Zverik, тебя это тоже касается.

Offline

#75 2011-10-22 16:56:19

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

Re: Мультиполигоносрач

Должен напомнить, что OSM делаем мы. И стратегические решения, внезапно, принимаем тоже мы — сообщество. OSMF тоже может принимать стратегические решения (причем в другой плоскости), но не только он.
Есть вполне конкретные шаги, которые можно предпринять. Написать драфт 0.7, вылизать, устроить голосование (да-да, о принятии API), реализовать в коде. А потом надавить всем сообществом на OSMF и зафорсить переход на 0.7.

Offline

Board footer

Powered by FluxBB