You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2010-08-25 14:25:14
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
planet dump + daily diffs = бред...
Беру распакованную планету, осмосисом применяю к ней дневной диф, получаю файл размером на 2 ГБ меньше означального файла. Это КАК???
Offline
#2 2010-08-25 19:51:24
- gps-Max
- Member
- Registered: 2010-01-12
- Posts: 736
Re: planet dump + daily diffs = бред...
Еще вопрос - почему в часовых диффах попадаются узлы с одинаковым ID разных версий? Осмозис при накатывании такого диффа выходит с ошибкой.
Это разбиралось в листе рассылки, но к решению там вроде не пришли.
http://lists.openstreetmap.org/pipermai … 00438.html
Может, кто знает, как это побороть или обойти?
P.S. Нашел - нужен ключ --simplify-change.
Last edited by gps-Max (2010-08-25 20:03:15)
Offline
#3 2010-09-02 13:46:52
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
Да что же за хрень... На свежую планету 0825 накатываю суточный дифф - 0824-0825, чтобы влить в нее возможно отсутствующие данные конца дня, когда она уже генерилась. И размер файла уменьшается на 3 ГИГА, со 160 до 157... ЧЯДНТ?????
Offline
#4 2010-09-02 14:03:24
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: planet dump + daily diffs = бред...
может, в планете при применении диффа чистятся все линии без точек и отношения без участников — и их там скопилось дофига?
Offline
#5 2010-09-02 18:03:59
- gps-Max
- Member
- Registered: 2010-01-12
- Posts: 736
Re: planet dump + daily diffs = бред...
Как это - линии без точек? Звучит как дырка от бублика.
Offline
#6 2010-09-02 18:04:37
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: planet dump + daily diffs = бред...
именно
Offline
#7 2010-09-02 19:48:41
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
может, в планете при применении диффа чистятся все линии без точек и отношения без участников — и их там скопилось дофига?
На два ГИГА???
Offline
#8 2010-09-02 20:12:28
- AMDmi3
- Member
- From: Москва
- Registered: 2009-08-12
- Posts: 3,315
Re: planet dump + daily diffs = бред...
Сделайте diff и посмотрите, что изменилось.
Offline
#9 2010-09-02 20:15:09
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
Дифф 160 гб файла? И как я потом отловлю какие 200 метров изменение от диффа, а какие левые?
Offline
#10 2010-09-02 20:37:08
- AMDmi3
- Member
- From: Москва
- Registered: 2009-08-12
- Posts: 3,315
Re: planet dump + daily diffs = бред...
Дифф 160 гб файла?
В чем проблема?
И как я потом отловлю какие 200 метров изменение от диффа, а какие левые?
Если там 3GB минус 200MB изменений не от диффа, это тривиально.
Offline
#11 2010-09-02 20:40:09
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: planet dump + daily diffs = бред...
Ezhick, попробуй вручную сделать дифф на 100 байт (ну, или как получится — добавить одну точку, например).
Offline
#12 2010-09-02 20:40:41
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
Ну попробую оставить на ночь сравниваться...
UPD: diff отказывается сравнивать, говорит память исчерпана, это при 8 гб оперативки.
Last edited by Ezhick (2010-09-02 21:00:01)
Offline
#13 2010-09-02 21:04:58
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
Посмотрел глазками начала файлов - сравнивать бесполезно - вообще другое расположение данных, совпадает только первая строка.
Offline
#14 2010-09-02 21:30:34
- AMDmi3
- Member
- From: Москва
- Registered: 2009-08-12
- Posts: 3,315
Re: planet dump + daily diffs = бред...
osmosis сортировать умеет - думается, отсортированные planet и результат применения диффа будут совпадать с точностью до диффа + тех 3GB которые исчезли.
Offline
#15 2010-09-02 21:32:27
- Sergey Astakhov
- Member

- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,823
Re: planet dump + daily diffs = бред...
Может там просто форматирование разное? Типа там кол-во пробелов, табуляций, \r\n и т.п.
Offline
#16 2010-09-02 21:42:57
- zverik
- Member
- From: Saint-Petersburg
- Registered: 2009-07-31
- Posts: 771
Re: planet dump + daily diffs = бред...
кстати да.
может, были виндовые переводы строк, а стали юниксовые.
Offline
#17 2010-09-02 23:33:29
- AMDmi3
- Member
- From: Москва
- Registered: 2009-08-12
- Posts: 3,315
Re: planet dump + daily diffs = бред...
Вполне может быть, в июньской планете было как раз 2G строк.
Offline
#18 2010-09-03 05:06:24
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
кстати да.
может, были виндовые переводы строк, а стали юниксовые.
Виндовые? Откуда???
Offline
#19 2010-09-03 05:10:57
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
Вполне может быть, в июньской планете было как раз 2G строк.
Запустил osmosis --sort потом диффну, посмотрим.
Offline
#20 2010-09-03 14:25:23
- AMDmi3
- Member
- From: Москва
- Registered: 2009-08-12
- Posts: 3,315
Re: planet dump + daily diffs = бред...
Ну или, к примеру вот - в планете в <tag> перез закрывающим слешом стоит пробел, в выхлопе осмозиса - нет. Тэгов, правда, всего полмиллиарда.
Offline
#21 2010-09-03 15:59:03
- zgremlin
- Member
- Registered: 2008-07-31
- Posts: 332
Re: planet dump + daily diffs = бред...
Дифф 160 гб файла? И как я потом отловлю какие 200 метров изменение от диффа, а какие левые?
Это уже чрезмерный оптимизм. Если файлы отличаются на 3 гига, то дифф будет не меньше этих 3 гиг. А скорее все 10, при условии идентичности форматирования и сохранения порядка. В данном случае более вероятно около 300 гиг ![]()
Ну или, к примеру вот - в планете в <tag> перез закрывающим слешом стоит пробел, в выхлопе осмозиса - нет. Тэгов, правда, всего полмиллиарда.
Заочно можно очень долго гадать.
Идентичные по сути xml могут отличаться форматированием кардинально.
Вот только несколько моментов:
Незначащие пробелы и переводы кареток:
<tag1><tag2></tag2></tag1>идентично
<tag1>
<tag2>
</tag2>
</tag1>Более того - это же идентично
<tag1><tag2/></tag1>Можно использовать разные кодировки, можно использовать коды символов ("&32;" вместо простого пробела).
Ну и так далее...
Как вариант, стоит запостить по десятку первых строчек от исходного и получившегося файлов, тогда можно будет оценить хотя бы разницу в форматировании.
P.S. Даже разница в концах строк (2 символа под DOS/Windows и 1 под UNIX/Mac) даст больше, чем замеченные два процента, если средняя длина строки меньше 50 символов.
Last edited by zgremlin (2010-09-03 16:01:08)
Offline
#22 2010-09-03 16:04:53
- AMDmi3
- Member
- From: Москва
- Registered: 2009-08-12
- Posts: 3,315
Re: planet dump + daily diffs = бред...
zgremlin, это все и так понятно
Offline
#23 2010-09-03 20:09:57
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
подскажите, чем диффнуть два 160 гб файла? первый несколько десятков миллионов строк совпали до символа, дальше meld выжрал всю оперативку и начал дико тормозить систему, пришлось прибить.
Offline
#24 2010-09-03 20:42:00
- AMDmi3
- Member
- From: Москва
- Registered: 2009-08-12
- Posts: 3,315
Re: planet dump + daily diffs = бред...
Обычный GNU diff не канает?
Offline
#25 2010-09-03 20:49:42
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: planet dump + daily diffs = бред...
я уже писал, diff вываливается с фразой про недостаточность памяти
Offline