Mapsever+WMS+Mapfile

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Silentium
Активный участник
Сообщения: 114
Зарегистрирован: 20 апр 2010, 17:33
Репутация: 0

Mapsever+WMS+Mapfile

Сообщение Silentium »

Добрый день!
Никак не получается отобразить слой через WMS, не в QGIS не в MapInfo не в браузере. Ссылка к WMS типа
http://localhost/cgi-bin/mapserv.exe?ma ... 1&MODE=MAP
Вот содержимое Map-файла:

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

MAP
OUTPUTFORMAT
    NAME "TEST"
    DRIVER 'GD/PNG'
    MIMETYPE 'image/png'
    IMAGEMODE RGBA
    EXTENSION 'png'
END
FONTSET "fonts.lst"
IMAGEQUALITY 90
IMAGETYPE png
MAXSIZE 6000
SIZE 800 800
EXTENT -180 -90 180 90
UNITS meters
  WEB
    IMAGEPATH '/tmp/'
    IMAGEURL '/tmp/'
    METADATA
          labelcache_map_edge_buffer "-10"
   wms_abstract "This is the WMS demo from AMC"
   wms_onlineresource "http://localhost/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apps/maps/test.map&SERVICE=WMS&"
   wms_srs "EPSG:4326"
   wms_getfeatureinfo "http://localhost/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apps/maps/test.map&SERVICE=WMS&"
        'wms_title' 'osm mexico'
    END
  END

DEBUG 5
CONFIG "MS_ERRORFILE" "C:/OSGeo4W/apps/logs/dbg.log"
PROJECTION
	
	"proj=longlat"
	"ellps=WGS84"
	"datum=WGS84"
	"no_defs"

END
LAYER
    TYPE LINE
    NAME "layer1"
 PROJECTION
        "init=epsg:4326"
    END
    GROUP "default"
    CONNECTIONTYPE POSTGIS
    CONNECTION "dbname='postgis' host=localhost port=5432 user='postgres' password='!qazxsw2' sslmode=disable"
    DATA 'way from (select way,waterway,osm_id from planet_osm_line where waterway is not null) as foo using unique osm_id using srid=4326'
    CLASSITEM "waterway"
    SIZEUNITS meters
    #MAXSCALEDENOM 1500000
    CLASS
        EXPRESSION "river"
        STYLE
            COLOR "#B300FF"
            WIDTH 30
            MINWIDTH 0.6
        END
    END
   
END
END
Грешу на неправильно заданные проекции, Подскажите кто знает что я не так задал?!
В логах все нормально:

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

[Tue Jan 25 13:12:39 2011].129000 msDrawMap(): Layer 0 (layer1), 0.047s
[Tue Jan 25 13:12:39 2011].129000 msDrawLabelCache(): labelcache_map_edge_buffer = -10
[Tue Jan 25 13:12:39 2011].129000 msDrawMap(): Drawing Label Cache, 0.000s
[Tue Jan 25 13:12:39 2011].129000 msDrawMap() total time: 0.047s
[Tue Jan 25 13:12:39 2011].129000 msSaveImage() total time: 0.000s
[Tue Jan 25 13:12:39 2011].129000 mapserv request processing time (loadmap not incl.): 0.047s
[Tue Jan 25 13:12:39 2011].129000 msFreeMap(): freeing map at 0172CD88.
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Mapsever+WMS+Mapfile

Сообщение KolesovDmitry »

А какая у вас проекция в исходных данных и какой охват региона?
Silentium
Активный участник
Сообщения: 114
Зарегистрирован: 20 апр 2010, 17:33
Репутация: 0

Re: Mapsever+WMS+Mapfile

Сообщение Silentium »

Если я правильно понял вопрос то WGS84 epsg:4326 ; EXTENT -180 -90 180 90
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Mapsever+WMS+Mapfile

Сообщение KolesovDmitry »

Я немного расширю, что хотел спросить. Просто вы пишите в map-файле охват и проекцию S84 epsg:4326 ; EXTENT -180 -90 180 90, но при этом не уверены, все ли с ними в порядке. Вот я и хотел узнать, а какие параметры у ваших данных, которые в хотите отобразить?
* Действительно ли у них система координат epsg:4326 (точно ли координаты в градусах)?
* Если с системой координат все в порядке, то точно ли охват такой (если охват значительно меньше, то ваши данные на карте просто не будут видны из-за их малого размера)?

Если на оба вопроса ответ положительный, то, видимо, дело не в проекции. Попробуйте тогда просто отобразить без заморочек:

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

LAYER
    TYPE LINE
    NAME "layer1"
   PROJECTION
        "init=epsg:4326"
    END
    GROUP "default"
    CONNECTIONTYPE POSTGIS
    CONNECTION "dbname='postgis' host=localhost port=5432 user='postgres' password='!qazxsw2' sslmode=disable"
    DATA 'way from (select way,waterway,osm_id from planet_osm_line where waterway is not null) as foo using unique osm_id using srid=4326'
    CLASS
         COLOR  0 0 0
    END
   
END
И еще убедитесь, что запрос возвращает не пустую выборку:

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

way from (select way,waterway,osm_id from planet_osm_line where waterway is not null) as foo using unique osm_id using srid=4326
Silentium
Активный участник
Сообщения: 114
Зарегистрирован: 20 апр 2010, 17:33
Репутация: 0

Re: Mapsever+WMS+Mapfile

Сообщение Silentium »

Вообщем используя проекцию Гугла Меркатора 900913 и srid=900913 все отобразилось, ну с большими тормозами.
Ответить

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

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

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