You are not logged in.

Announcement

*** NOTICE: By 30th of September 2022 the forum.openstreetmap.org will be retired, please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators. We expect the migration of data will be finished by that date, you can follow its progress here.***

#26 2010-05-23 14:31:51

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,391

Re: Препроцессор osm-файлов

Не знай.. Андриано вот просит)) по мне, поглядев на его проэкт, и правда вопросилось внутри -- не проще ли это на Си (к примеру) написать?..
Вопрос не праздный, на самом деле -- где делать "талию" -- как провести границу между конфигом и исполнительной частью программы)) Андриано вот берётся широко запахать.

Offline

#27 2010-05-23 14:55:26

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: Препроцессор osm-файлов

Sergey Astakhov wrote:

Может я чего не понимаю, но нафига изобретать новый язык?
Одно дело - простенький конфиг, и совсем другое - полноценный язык.

Вот именно.
В данном случаее предлагаемый "язык" явно не является полным, т.к. не содержит ни переходов (никаких - ни условных, ни безусловных), ни циклов. Т.к. предназначен для решения очень узкого круга задач. Но внутри этого класса задач он IMHO не должен иметь ограничений, поэтому считаю, что алгебра логики должна быть реализована в полном объеме. И только. Никаких других операций кроме логических не предусмотрено.

Last edited by andriano (2010-05-23 14:56:50)

Offline

#28 2010-05-23 15:11:48

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

Re: Препроцессор osm-файлов

...ждём ебилдов.  smile


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

Offline

#29 2010-05-24 04:23:37

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: Препроцессор osm-файлов

Komяpa wrote:

...ждём ебилдов.  smile

А что это?

Offline

#30 2010-05-24 06:16:42

dkiselev
Member
Registered: 2010-02-09
Posts: 3,364

Re: Препроцессор osm-файлов

Чем писать такой препроцессор с такими хитрыми конфигами может лучше xslt освоить?

Упс mp не xml'ка - извините глупость брякнул.

Last edited by dkiselev (2010-05-24 06:20:02)


mail: dkiselev@osm.me      skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!

Offline

#31 2010-05-24 06:34:50

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

Re: Препроцессор osm-файлов

dkiselev wrote:

Чем писать такой препроцессор с такими хитрыми конфигами может лучше xslt освоить?

Упс mp не xml'ка - извините глупость брякнул.

Ну почему глупость. Обжудается всё-таки препроцессор.
Вот только как xslt будет работать на многомегабайтных файлах... Не любая реализация сдюжит...

Offline

#32 2010-05-24 07:23:06

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

Re: Препроцессор osm-файлов

Чем писать такой препроцессор с такими хитрыми конфигами может лучше xslt освоить?

Идея в том что если один напишет препроцессор с _простыми_ конфигами, другим не придется ничего осваивать)

А вот плагин к осмозису кажется мне хорошей идеей.

Last edited by Zkir (2010-05-24 07:26:46)


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

Offline

#33 2010-05-24 09:17:07

akashihi
Member
Registered: 2009-10-11
Posts: 133

Re: Препроцессор osm-файлов

dkiselev wrote:

Чем писать такой препроцессор с такими хитрыми конфигами может лучше xslt освоить?

Я пробовал xslt обрабатывать osm данные - медленно и неудобно.

Offline

#34 2010-05-24 18:17:22

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

Re: Препроцессор osm-файлов

Попробовал плугин TagTransform. Вроде работает.
Пример конфига (transform.xml):

<?xml version="1.0"?>
<translations>
  <translation>
   <name>Private parking transform</name>
   <description>Convert amenity=parking+access=private to amenity=private_parking</description>
   <match mode="and">
     <tag k="amenity" v="parking"/>
     <tag k="access" v="private"/>
   </match>
   <output>
     <copy-unmatched/>
     <tag k="amenity" v="private_parking"/>
   </output>
 </translation>
</translations>

Загружать надо "API 0.6 compatible version", по первой ссылке какая-то древняя версия лежит. Или самому собрать из исходников.
В плугине отсутствует файл plugin.xml для автоматической регистрации, можно добавить его самому или подключить через командную строку, как описано на странице.

Пример plugin.xml

<?xml version="1.0" ?>

<!DOCTYPE plugin PUBLIC "-//JPF//Java Plug-in Manifest 1.0" "http://jpf.sourceforge.net/plugin_1_0.dtd">

<plugin id="TransformPlugin" version="1.0">

  <requires>
    <import plugin-id="org.openstreetmap.osmosis.core.plugin.Core"
            plugin-version="0.35" reverse-lookup="false"/>
  </requires>

  <runtime>
    <library id="code" path="/" type="code"/>
  </runtime>

  <extension plugin-id="org.openstreetmap.osmosis.core.plugin.Core"
             point-id="Task" id="TransformPlugin/Task">
    <parameter id="name" value="transform"/>
    <parameter id="class" value="uk.co.randomjunk.osmosis.transform.TransformPlugin"/>
  </extension>
</plugin>

Last edited by Sergey Astakhov (2010-05-24 19:34:23)

Offline

#35 2010-05-24 19:15:05

Ezhick
Member
From: Moscow
Registered: 2008-10-08
Posts: 2,508
Website

Re: Препроцессор osm-файлов

а с 0.36 версией он работать будет?

Offline

#36 2010-05-24 19:17:03

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

Re: Препроцессор osm-файлов

Ezhick wrote:

а с 0.36 версией он работать будет?

Скорей всего да. Пробовать нужно.

Offline

#37 2010-05-24 19:58:17

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: Препроцессор osm-файлов

Залил альфа-версию на
http://slil.ru/29195882
Произвольные строки пока не обрабатываются.
Обнаружил, что тегов access=private куда больше, чем private=yes, поэтому в качестве примера использования приведен конф-файл, преобразующий любую из этих комбинаций.

Offline

#38 2010-05-26 05:08:40

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: Препроцессор osm-файлов

Какая-то странная ситуация: была просьба сделать, а теперь - молчок. Или уже не актуально?
Кстати, заканчиваю работу со строками, но возник другой вопрос: в первоначально предложенном варианте отсутствовала операция сравнения строк. Т.е. например, нельзя выполнить следующую задачу: если имеется cladr=%, то его удалить, но если нет cladr:code и cladr:note, то записать cladr:note с указанным кодом, а если есть, сравнить коды и при несовпадении выдать сообщение об ошибке.

Offline

#39 2010-05-26 05:21:40

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

Re: Препроцессор osm-файлов

актуально-актуально, просто других дел навалилось. Посмотрю обязательно)


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

Offline

#40 2010-05-26 08:18:40

mbiker
Member
Registered: 2009-10-19
Posts: 147

Re: Препроцессор osm-файлов

andriano wrote:

Какая-то странная ситуация: была просьба сделать, а теперь - молчок. Или уже не актуально?
Кстати, заканчиваю работу со строками, но возник другой вопрос: в первоначально предложенном варианте отсутствовала операция сравнения строк. Т.е. например, нельзя выполнить следующую задачу: если имеется cladr=%, то его удалить, но если нет cladr:code и cladr:note, то записать cladr:note с указанным кодом, а если есть, сравнить коды и при несовпадении выдать сообщение об ошибке.

.exe ... и сорцов нет. Это проблема. И Windows далеко не все пользуются.

Offline

#41 2010-05-26 16:09:04

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: Препроцессор osm-файлов

mbiker wrote:

.exe ... и сорцов нет. Это проблема. И Windows далеко не все пользуются.

Да, определенная проблема в этом есть. Тем не менее по пунктам:
1. Я не пользуюсь интерпретируемыми ЯП т.к. считаю, что программы написанные на них работают неприемлемо медленно. Ну уж не для обработки гигабайтных файлов точно.
2. Исходники достаточно объемные, т.к. по сути я использовал для написания данной программы наработки из других проектов, ничего из них не удаляя. Так что для "посмотреть" они не очень пригодны. А для "откомпилировать" - тем более, т.к. я пользуюсь очень редким компилятором с не слишком характерного для подобных задач ЯП.
3. Программа консольная и использует минимум средств WinAPI без привлечения специфических библиотек. Так что с запуском, думаю, могут быть проблемы только из-под "голого" ДОС. Но под "голым" ДОС это принципиально работать не может, т.к. ДОС не поддерживает длину файла более 2 Гб, а для программы подобного назначения это ОБЯЗАТЕЛЬНОЕ условие.

Offline

#42 2010-05-26 18:31:30

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: Препроцессор osm-файлов

Выложил следующую версию (и опять альфа - вот незадача!)
http://slil.ru/29211415
Теперь сделана обработка строк и управление листингом.
Программа может, например, выполнить следующую задачу:
Если у объекта присутствуют теги cladr и cladr:code, причем их значения (val) совпадают, то тег code удаляется (приведен пример).
В принципе, можно сразу было добавить и cladr:note, но решил не усложнять программу.

Из идей - совместить этот инструмент с задачей получения простенькой статистики.

Offline

#43 2010-05-26 21:36:34

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,391

Re: Препроцессор osm-файлов

Простенькая статистика, это здорово. Например, хочу запросы: кто рисовал за последнюю неделю? Кто рисовал за период с - по? какие теги рисовали/изменяли за нужный период? Рисовали ли тег (к примеру) highway за запрашиваемый период? Рисовал ли пользователь pupkin тег water за запрашиваемый период?
smile

Offline

#44 2010-05-27 05:07:16

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: Препроцессор osm-файлов

Да уж. Под статистикой каждый подразумевает нечто свое.
Я, например, когда по совету lesha решил перейти с MP на OSM d качестве источника данных, первым делом попытался "очистить" OSM от той информации, которую я никогда не буду использовать. И "под сокращение" как раз попала та часть, в которой указывается, когда и кем данная точка последний раз была отредактирована. Кстати, объем после этого сразу уменьшился более чем вдвое.

Есть и еще одно препятствие.
В посте №18 вкратце сформулировано, что нужно сделать. И там явно указано, что работать нужно с файлом, а не БД или API. А это значит, что:
1. Во входной информации ОТСУТСТВУЕТ информация по истории изменений.
2. Сам файл может быть сколь угодно древний.
В этом же случае для сбора статистики подобного рода целесообразно уже пользоваться в качестве источника данных не файлом, а чем-то онлайновым.

А под статистикой я подразумевал анализ состояния информации, имеющейся в ТЕКУЩЕМ файле, т.е. на один момент времени, а не динамика ее изменения со временем.
Тут в ветке "Стандартизация..." я уже выкладывал кое-какую статистику. Просто хотелось бы иметь инструмент, который мог бы восполнить отсутствующую там информацию по каким-нибудь конкретным тегам. И чтобы это можно было сделать просто и быстро.

Offline

#45 2010-06-02 08:32:36

Igor_blg
Member
From: Bologoe
Registered: 2008-12-10
Posts: 60

Re: Препроцессор osm-файлов

сделал на пробу пару конфигов для предпроцессора (osmosis+tag_transform), для гармина рестораны раскидываются по типам кухни, для навитела еще места поклонения (церкви, мечети).
если кому интересно http://code.google.com/p/osm2mp-preprocess/

Offline

#46 2010-06-03 06:46:41

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

Re: Препроцессор osm-файлов

Igor_blg wrote:

для гармина рестораны раскидываются по типам кухни

Такое теперь можно непосредственно в конфигах osm2mp задавать.
Во всяком случае рестораны я там частично прописал

Offline

#47 2012-08-25 22:52:25

Kostik
Member
From: Moscow
Registered: 2011-01-02
Posts: 2,106

Re: Препроцессор osm-файлов

Транслитератор из алфавитов отличных от кирилицы-латиницы кто нибудь встречал?

Offline

#48 2012-08-26 07:20:17

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

Re: Препроцессор osm-файлов


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

Offline

Board footer

Powered by FluxBB