Рисование леса и других однородных полигонов - скрипт JOSM+python

Ага, вроде бы с PIL-ом проблема была. Сейчас уже он и pyproj и для винды есть.
Но всё равно ошибка:

Traceback (most recent call last):
  File "C:\buf\code\twms\index.py", line 599, in <module>
    print getbestzoom ((27.404,53.829748,27.704,53.974),(0,300))
TypeError: getbestzoom() takes exactly 3 arguments (2 given)

UPD
Таки запустился :slight_smile:
Теперь бы ещё разобраться, что в параметрах указывать

liosha, хочу тебя огорчить. это не stand-alone скрипт, это mod_python - считай, CGI. Работоспособен только в комплекте с апачем или другим подобным веб-сервером :slight_smile:

Это-то понятно, оно уже работает.
Нормально кажет navitel и osm, вместо SAT - чёрный квадрат, на остальных ошибка.

Обновился плагин fuzzer для JOSM, теперь брать его по ссылке http://code.google.com/p/josm-plugins/downloads/list

Поставил, попробовал - СУПЕР. Ну очень удобно.

Респект и уважуха авторам!

Всем рекомендую обновить плагин и скрипт (по тем же ссылкам из первого поста), теперь при желании скрипт ограничивает область поисков и отрисовки леса (см. zoom_no_more_than).

Также рекомендую поставить программу кеширующую тайлы WMS, с ней рисовка леса работает гораздо быстрее (не надо ждать загрузки из инета снимков WMS)
Под windows программа ставится в 1 клик, см. http://forum.openstreetmap.org/viewtopic.php?pid=54389#p54389

А у меня после обновления он валится :frowning:

На стабильной версии josm’a (2561).
На последней (2874) - работает.

Вроде поправил совместимость с tested версией, пробуйте.
OFF: Да, svn уже кажется жутко неудобным…

При работе через IRS JOSM пишет Premature end of file. Куда смотреть?

fokin33, какая сборка? какая строчка для josm? что в браузере? что в логах josm? почему эта информация не была предоставлена в первом же посте? :wink:

a = “http://localhost:8080/?layer=irs&format=image/jpeg&force=noresize&width=600&bbox=%s,%s,%s,%s”%tuple(bbox) - запущен index.exe и сам JOSM грузит космоснимки(http://127.0.0.1:8080/?layers=irs&).
Сборка JOSM 2874. А где логи JOSM хранит я не знаю. Плагин и скрипт скачал по ссылкам сверху примерно час назад.

Какой масштаб у IRS-слоя? И в каком месте это всё происходит?

Запусти josm из командной строки как:

java.exe -Xmx512M -jar josm-latest.jar -Dsun.java2d.opengl=true

и покажи его вывод в районе сбоя.

Масштаб метров 300. На разных пробовал. В каком месте?? Географичеки в Касимовском районе рязанской области ))
Вывод JOSM в районе ошибки:


  at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at org.openstreetmap.josm.io.OsmReader.parseDataSet(OsmReader.java:596)
        ... 2 more


org.openstreetmap.josm.io.IllegalDataException: Premature end of file.
        at org.openstreetmap.josm.io.OsmReader.parseDataSet(OsmReader.java:615)
        at fuzzer.FuzzySelectAction$2.run(FuzzySelectAction.java:125)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)

fokin33, определитесь, что не работает - Fuzzer или TWMS?

если всё-таки Fuzzer, то просьба закинуть на http://pastebin.org всё, что вывел josm от начала до конца. Ибо самое интересное вами скопировано не было :slight_smile:

Fuzzer не работает, я же написал, что в самом JOSM подложка загружается - иначе куда бы я “тыкал” мышкой - лес то еще надо найти :slight_smile:
На указанный сайт закинул.

fokin33, вы грубейшим образом нарушили синтаксис python, изменив отступ перед a. Верните пробелы на место :slight_smile:

  File "./fuzzyselect.py", line 55
    a = "http://localhost:8080/?layer=irs&format=image/jpeg&force=noresize&width
=600&bbox=%s,%s,%s,%s"%tuple(bbox)
    ^
IndentationError: expected an indented block

Ну и язык :stuck_out_tongue: программирования :laughing:

Ну вот никогда бы не подумал :slight_smile: Заработало! СпасибО!