Mapserver: Not enough arguments for imgext

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
oneon
Новоприбывший
Сообщения: 4
Зарегистрирован: 21 июн 2011, 13:43
Репутация: 0

Mapserver: Not enough arguments for imgext

Сообщение oneon » 22 июн 2011, 21:01

Исходные данные
Система:Debian Leny;
Браузер: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.19)

MapServer version 5.0.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=FASTCGI SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE

Apache 2.0

PHP 5.2.6-1

Cуть проблемы :cry: :Не отображается интерактивная карта. При обращении к файлу http://127.0.0.2/mapserver.loc/index2.html показывает рамку изображения. Если щелкнуть на поле изображения появляется сообщение:
loadForm(): Web application error. Not enough arguments for imgext.

Особенности:
1) По адресу http://127.0.02/cgi-bin/mapserv?map=/va ... t&mode=map
нормально отображается статическая карта.
2) Если обращаться через строку в *.map файле http://127.0.0.2/cgi-bin/mapserv?map=/v ... apfile.map
(Результат http://127.0.0.2/cgi-bin/mapserv?map=%2 ... &img.y=194) появляется поле картинки. Если щелкать по полю ошибки не возникает, в папке /var/www/mapserver.loc/htdocs/tmp/ картинка формируется но не отображается в браузере

Содержание файлов проекта:
Расположение *.map файла /var/www/mapserver.loc/htdocs/SecondMap/mapfile.map
Расположение временной папки /var/www/mapserver.loc/htdocs/tmp/
Расположение *.html файла /var/www/mapserver.loc/index2.html

index2.html

<!-- НАЧАЛО ФОРМЫ MAPSERVER -->
<form name="mapserv" method="GET" action="/cgi-bin/mapserv">
<!-- СКРЫТЫЕ CGI ПЕРЕМЕННЫЕ MAPSERVER -->
<input type="hidden" name="map" value="/var/www/mapserver.loc/htdocs/SecondMap/mapfile.map">
<input type="hidden" name="imgext" value="[mapext]">
<input type="hidden" name="imgxy" value="[center]">
<input type="hidden" name="layer" value="cntry200">
<input type="hidden" name="mode" value="browse">
<div align="center">
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>
<!-- ИНТЕРАКТИВНАЯ, ДИНАМИЧЕСКИ СОЗДАЮЩАЯСЯ КАРТА -->
<input type="image" name="img" src="[img]" width="600" height="400">
</td>
</tr>
</table>
</div>
</form>

mapfile.map


# Edit this file to customize for your map interface
# (Created with PyQgis MapServer Export plugin)
MAP
NAME QGIS-MAP
# Map image size
SIZE 600 600
UNITS METERS

EXTENT -274.513715 -153.276437 274.513715 146.900033
FONTSET '/var/www/mapserver.loc/htdocs/SecondMap/fonts/fonts.txt'
SYMBOLSET '/var/www/mapserver.loc/htdocs/SecondMap/symbols/symbols.txt'
SHAPEPATH '/var/www/mapserver.loc/htdocs/SecondMap'
PROJECTION
'proj=longlat'
'ellps=WGS84'
'datum=WGS84'
'no_defs'
END

# Background color for the map canvas -- change as desired
IMAGECOLOR 255 255 255
IMAGEQUALITY 95
IMAGETYPE agg

OUTPUTFORMAT
NAME agg
DRIVER AGG/PNG
IMAGEMODE RGB
END
# Legend
LEGEND
IMAGECOLOR 255 255 255
STATUS ON
KEYSIZE 18 12
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 89
END
END

# Web interface definition. Only the template parameter
# is required to display a map. See MapServer documentation
WEB
# Set IMAGEPATH to the path where MapServer should
# write its output.
IMAGEPATH '/var/www/mapserver.loc/htdocs/tmp/'

# Set IMAGEURL to the url that points to IMAGEPATH
# as defined in your web server configuration
IMAGEURL '/var/www/mapserver.loc/htdocs/tmp/'

# WMS server settings
METADATA
'ows_title' 'QGIS-MAP'
'ows_onlineresource' 'http://127.0.0.2/cgi-bin/mapserv?map=/v ... apfile.map'
'ows_srs' 'EPSG:4326'
END

#Scale range at which web interface will operate
# Template and header/footer settings
# Only the template parameter is required to display a map. See MapServer documentation
TEMPLATE '/var/www/mapserver.loc/index2.html'
END

LAYER
NAME 'cntry200'
TYPE POLYGON
DUMP true
TEMPLATE '/var/www/mapserver.loc/index2.html'
EXTENT -274.513715 -153.276437 274.513715 146.900033
DATA '/var/www/mapserver.loc/htdocs/SecondMap/cntry200.shp'
METADATA
'ows_title' 'cntry200'
END
STATUS DEFAULT
TRANSPARENCY 100
PROJECTION
'proj=longlat'
'ellps=WGS84'
'datum=WGS84'
'no_defs'
END
CLASS
NAME 'cntry200'
STYLE
WIDTH 1
OUTLINECOLOR 0 0 0
COLOR 198 198 176
END
END
END

END

Файл hosts
127.0.0.1 localhost
127.0.0.2 mapserver.loc http://www.mapserver.loc

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Файл настройки Apache2

mapserver.loc

<VirtualHost *:80>
ServerAdmin mapserver_admin@mapserver.loc
ServerName mapserver.loc
ServerAlias mapserver.loc http://www.mapserver.loc

DocumentRoot /var/www/mapserver.loc/htdocs
<Directory /var/www/mapserver.loc/htdocs/>
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/www/mapserver.loc/logs/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/www/mapserver.loc/logs/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

php_admin_value open_basedir "/var/www/mapserver.loc/htdocs/:."
php_admin_value upload_tmp_dir "/var/www/mapserver.loc/htdocs/tmp"
php_admin_value session_save_path "/var/www/mapserver.loc/htdocs/tmp"



</VirtualHost>





Права на файлы и каталоги


drwxr-xr-x 4 www-data www-data 4096 Июн 21 21:49 mapserver.loc
drwxr-xr-x 4 www-data www-data 4096 Июн 21 21:24 htdocs
-rwxr-xr-- 1 www-data www-data 968 Июн 21 23:41 index2.html
drwxr-xr-x 2 www-data www-data 4096 Июн 21 20:59 logs
drwxrwxr-x 5 www-data www-data 4096 Июн 20 23:30 SecondMap
drwxr-xr-x 2 www-data www-data 20480 Июн 21 23:41 tmp
drwxrwxrwx 2 www-data www-data 4096 Июн 15 22:57 symbols
drwxrwxrwx 2 www-data www-data 4096 Июн 20 20:32 fonts
-rwxrwxrwx 1 www-data www-data 2342500 Окт 19 2000 cntry200.shp
-rw-r--r-- 1 www-data www-data 2393 Июн 21 23:40 mapfile.map

Файл info.php, а так же саздаваемая картинка во вложениях

Пните пожалуйста в нужную сторону а то уже голова совсем не соображает. :?
Вложения
mapserv.png
mapserv.png (55.28 КБ) 8537 просмотров
info.php.tar.gz
(9.16 КБ) 801 скачивание

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Mapserver: Not enough arguments for imgext

Сообщение Mavka » 23 июн 2011, 10:37

Не хочу говорить за всех. Но по опыту предыдущих обращений на форум, могу предположить что по такой схеме с UMN MapServer уже никто не работает. Все перешли на WMS и OpenLayers.
лангольеры под окном жрали время ом-ном-ном

oneon
Новоприбывший
Сообщения: 4
Зарегистрирован: 21 июн 2011, 13:43
Репутация: 0

Re: Mapserver: Not enough arguments for imgext

Сообщение oneon » 23 июн 2011, 12:50

Тема для меня новая по этому начал с основ :)

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Mapserver: Not enough arguments for imgext

Сообщение Mavka » 23 июн 2011, 13:28

Сложно будет найти людей с опытом отладки такой конфигурации. Вот в OpenLayers мог бы подсказать...
Добавьте в map-файл строки:

Код: Выделить всё

CONFIG "MS_ERRORFILE" "c:/temp/debug.log"
DEBUG 5
Может там проявятся какие ошибки?
лангольеры под окном жрали время ом-ном-ном

oneon
Новоприбывший
Сообщения: 4
Зарегистрирован: 21 июн 2011, 13:43
Репутация: 0

Re: Mapserver: Not enough arguments for imgext

Сообщение oneon » 23 июн 2011, 13:40

Поверхностно ознакомился с Open Layers. Сегодня попробую его реализовать. Я так понял необходимо будет заменить содержимое файл index2.html.

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Mapserver: Not enough arguments for imgext

Сообщение Mavka » 23 июн 2011, 14:12

В METADATA добавьте (посмотрите какие вам проекции нужны):

Код: Выделить всё

wms_srs "epsg:4326 epsg:3857 epsg:900913" 
И проверьте работу WMS в настольной ГИС. Например, в Quantum GIS.

А потом работайте только с index2.html.
лангольеры под окном жрали время ом-ном-ном

oneon
Новоприбывший
Сообщения: 4
Зарегистрирован: 21 июн 2011, 13:43
Репутация: 0

Re: Mapserver: Not enough arguments for imgext

Сообщение oneon » 25 июн 2011, 17:57

Mavka большое спасибо! Все получилось с первого раза. Буду сразу осваивать Open Layers. Тему можно считать закрытой :)

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей