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

Дак я так понял fuzzer’у все равно какой скрипт запускать и если есть разные скрипты то как их обновлять?

wmsplugin не стесняется требовать от юзеров ручной установки webkit-image. А мы чем хуже?

Можно-ли использовать fuzzer для wms с http://labs.metacarta.com/rectifier/? Если да, то как?

Можно. Основная часть, которую надо поправить - a= в скрипте, конструирующая url для wms.

Спасибо, но a = "http://labs.metacarta.com/rectifier/wms.cgi?id=3812 не прокатывает.

Установил, настроил скрипт так:

Пишет: “Child script returned wrong data”. Скрипту нужна на выходе именно картинка?

Естественно. PIL не умеет рендерить HTML, и, в общем-то, не должен :slight_smile:

Скрипту нужен линк на WMS.

Понятно. Наверное, впишу туда вызов gnome-web-photo.

Думаю, tWMS был сделан как раз для этого :slight_smile:

:frowning:
Или конкретно туплю, или одно из двух…
вроде, всё загрузил и установил (Питон, модуль для него же, fuzzer и fuzzyselect.py)
JOSM 3329, Shft-K вызывается, возникает ошибка : “Child script have returned invalid data”
ЗЫ В скрипте fuzzyselect.py не нашел где адрес WMS прописать…
(как только fuzzer появился, устанавливал, всё работало, а с новыми версиями не идёт…)
Как говориться, Help… :frowning:

Pavlo, текущее руководство - на вики:

http://wiki.openstreetmap.org/wiki/JOSM/Plugins/Fuzzer

Проверь, поставил ли ты все зависимости, оттуда ли взял fuzzyselect.py и сопутствующие файлы, и что пишет JOSM в консоль при вызове shift-K.

У меня всё прекрасно работает… В консоли что пишет?

все файлы с WIKI, всё вроде, установил нормально (но , видимо, не всё…)
В консоли после Shift-K и ошибки в JOSMе пишет:

python ./fuzzyselect.py 61.18834493952942 55.35873893503078 262318.72570721887
Traceback (most recent call last):
File “./fuzzyselect.py”, line 10, in
from canvas import WmsCanvas
File “C:\Program Files\JOSM\josmprefs\plugins\fuzzer\canvas.py”, line 17, in <
module>
import projections
File “C:\Program Files\JOSM\josmprefs\plugins\fuzzer\projections.py”, line 18,
in
import pyproj
ImportError: No module named pyproj
org.openstreetmap.josm.io.IllegalDataException: ╤ЄЁюър 1 ёЄюысхЎ 1: Premature en
d of file.
at org.openstreetmap.josm.io.OsmReader.parseDataSet(OsmReader.java:592)
at fuzzer.FuzzySelectAction$2.run(FuzzySelectAction.java:126)
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.createSAX
ParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalErro
r(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(
Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(U
nknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$Prolog
Driver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(U
nknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(U
nknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown So
urce)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Un
known Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.p
arse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.openstreetmap.josm.io.OsmReader.parseDataSet(OsmReader.java:573)
… 2 more

единственное, что понял, какой-то “pyproj” ищет…
(из иностранных языков проходил в школе немецкий, да и тот проходил мимо :slight_smile: )
ЗЫ карты Yahoo, космоснимки, LandSat, результат один…

Нда, у меня fuzzyselect.py гораздо старее… Для новой версии нужно установить pyproj.
Выложил новую версию фуззера, теперь она будет сообщения из stderr прямо в окно ошибки выдавать.

поставил pyproj теперь еще страннее ругается…
python ./fuzzyselect.py 61.822868217467324 54.86282164548316 733754.5130376416
(704360, 332357)
(61.822868217467324, 54.862821645483159)
http://wms.latlon.org/?layers=yhsat&width=256&height=256&srs=EPSG:3857&bbox=6878109.55321,7328170.77575,6887893.49283,7337954.71537
Traceback (most recent call last):
File “./fuzzyselect.py”, line 78, in
initcolour = web[x,y]
File “C:\Documents and Settings\STV\Application Data\JOSM\plugins\fuzzer\canvas.py”, line 62, in getitem
self.FetchTile(tile_x, tile_y)
File “C:\Documents and Settings\STV\Application Data\JOSM\plugins\fuzzer\canvas.py”, line 77, in FetchTile
contents = urllib2.urlopen(remote).read()
File “C:\Python26\lib\urllib2.py”, line 126, in urlopen
return _opener.open(url, data, timeout)
File “C:\Python26\lib\urllib2.py”, line 391, in open
response = self._open(req, data)
File “C:\Python26\lib\urllib2.py”, line 409, in _open
‘_open’, req)
File “C:\Python26\lib\urllib2.py”, line 369, in _call_chain
result = func(*args)
File “C:\Python26\lib\urllib2.py”, line 1161, in http_open
return self.do_open(httplib.HTTPConnection, req)
File “C:\Python26\lib\urllib2.py”, line 1136, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 10022] >

Проверь интернеты. Точно проксей нет по пути?

проксей нет. есть файрвол но он дает полный доступ вебкиту к инету. там даже видно что что-то качается. но ошибка вылазит :frowning:
ладно пусть это будет мой касяк.
а чтобы яху на ирс нужно заменить josm_string = “http://wms.latlon.org/?layers=yhsat&” в fuzzyselect.py на josm_string = “http://irs.gis-lab.info/?layers=irs&” ?
можете посоветовать какие параметры чувствительности цвета нужно подправить для ирс? гамма цветов от яху сильно отличается…

попробовал подменить строки и снова та же беда только по другому начинается…
python ./fuzzyselect.py 61.704063317488696 54.87707162031721 551914.3907853956
(704014, 332285)
(61.704063317488696, 54.87707162031721)
http://irs.gis-lab.info/?layers=irs&width=256&height=256&srs=EPSG:3857&bbox=6868325.61359,7337954.71537,6878109.55321,7347738.65499
Traceback (most recent call last):
File “./fuzzyselect.py”, line 78, in
initcolour = web[x,y]

в файрволе поглядел явамашина чегото скачала с гислаба. с инетом точно нормально все

Явамашина качать не должна. Качать должен питон.

По IRS работа фаззера не гарантируется и не предполагается, каждый действует на свой страх и риск :slight_smile:

Тоже установил pyproj… Вроде заработало :slight_smile:
Но рисует совсем не то, что на подложке (заменял в josm_string на космоснимки и оставлял яху, ландсат не захотел обрабатывать…)
Т.Е. некоторую область обводит, но, даже при очень четком рисунке участка леса, совсем не той конфигурации, даже близко не похоже…
Да и срабатывает не каждый раз…

ЗЫ А как корректно ландсат подключить? у нас у негол довольно контрастные снимки лесов/озер…

По ссылке из первого поста - http://latlon.org/fuzzyselect.py ничего нет.
В скрипте по ссылки из wiki - http://play.latlon.org/josm/fuzzy/fuzzyselect.py нету zoom_no_more_than

И еще вопрос - какой zoom указывать для IRS?