Hi all. I have used PHP Mapscript for a few years to render static images of maps, from data I have in PostgreSQL/PostGIS. A simplified example of my code looks like this:
<?php $this->map = ms_newMapObj(''); $this->map->selectOutputFormat('png'); $this->map->imagecolor->setRGB(56, 112, 192); $this->map->setextent(-180, -90, 180, 90); $this->map->set('width', 1000); $this->map->set('height', 600); $layer = ms_newLayerObj($this->map); $layer->setConnectionType(MS_POSTGIS); $layer->set('name', 'world'); $layer->set('type', MS_LAYER_POLYGON); $layer->set('status', MS_ON); $layer->set('connection', "host={$this->postgis['host']} port={$this->postgis['port']} dbname={$this->postgis['db']} user={$this->postgis['user']} password={$this->postgis['pass']}"); // $layer->set('data', "geom FROM (SELECT id, geom FROM osm_country_polygons) AS a USING UNIQUE id USING srid=4326"); $layer->set('data', "geom FROM (SELECT id, ST_Transform(geom, 3857) AS geom FROM osm_country_polygons) AS a USING UNIQUE id USING srid=3857"); $class = ms_newClassObj($layer); $style = ms_newStyleObj($class); $style->color->setRGB(160, 160, 160); $style->outlinecolor->setRGB(48, 48, 48); header('Content-Type: image/png'); $image = $this->map->draw(); $image->saveImage(); ?> Using SRID 4326 works great (the commented line). However the line below, which is enabled, using 3857 does not work. It renders an all blue image (*$this->map->imagecolor->setRGB(56, 112, 192)*). Is it not possible to change the projection, or do I need to set an option in the layer or map object? I have tried to read and Google this for some time now, but whatever I try seems to fail for me. Most thankful for a good hint/solution. // Magnus
_______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/mapserver-users