Hi Erik, just tried building a freshly pulled mapserver/master and I got strange CMake errors too. In my case wiping the build/ directory recreating it solved the problem.
HTH > -----Ursprüngliche Nachricht----- > Von: mapserver-users [mailto:mapserver-users-boun...@lists.osgeo.org] Im > Auftrag von Erik H > Gesendet: Freitag, 3. November 2017 21:24 > An: mapserver-users@lists.osgeo.org > Betreff: Re: [mapserver-users] Draw roads WITHOUT anti-aliasing > > I made some changes to the mapserver 7 source code that achieve what I > want (I'm now able to switch between aliased and antialiased lines, > based on the ANTIALIAS keyword in the STYLE section). > > I tried to put up a pull request for it but I'm having problems > compiling the code in the 'master' branch - compilation errors for > mapmetadata.c. My code was branched off the release-7 branch and did not > have that problem. > > The cmake command I used was > > cmake -DCMAKE_PREFIX_PATH=/usr/local/ WITH_GDAL=$GDAL_DIR - > DWITH_FRIBIDI=OFF -DWITH_WFS=OFF -DWITH_WCS=OFF - > DWITH_PROJ=/usr/local/lib -DWITH_LIBXML2=OFF WITH_POSTGIS=/usr/bin > -DWITH_CLIENT_WFS=OFF -DWITH_WMS=OFF -DWITH_CLIENT_WMS=OFF > -DWITH_CURL=OFF -DWITH_SOS=OFF -DWITH_PHP=OFF - > DWITH_PERL=OFF -DWITH_RUBY=OFF -DWITH_JAVA=ON - > DWITH_CSHARP=OFF -DWITH_HARFBUZZ=OFF -DWITH_PYTHON=ON - > DWITH_GEOS=0 -DWITH_SVGCAIRO=OFF -DWITH_ORACLESPATIAL=OFF > -DWITH_CAIRO=OFF -DWITH_THREAD_SAFETY=ON -DWITH_FCGI=OFF -DWITH_GIF=0 > ../ >../configure.out.txt > > > Any suggestions? > > Thanks > > On Thu, Oct 19, 2017 at 11:04 AM, Erik H <erik.h11...@gmail.com> wrote: > > > I just did what Andreas spelled out yesterday: > > Simply changing the typedef in line 91 of mapagg.cpp from > > typedef mapserver::renderer_scanline_aa_solid<renderer_base> > renderer_scanline; > > to > > typedef mapserver::renderer_scanline_bin_solid<renderer_base> > renderer_scanline; > > > > However, I'd like to be able to switch between rasterizer via some > option in the .map file, so I'd welcome any suggestion on how to do > that. > > On Thu, Oct 19, 2017 at 10:07 AM, Lime, Steve D (MNIT) > <steve.l...@state.mn.us> wrote: > > > Glad this was figured out! What was the code change exactly? > ________________________________ > > From: mapserver-users <mapserver-users- > boun...@lists.osgeo.org <mailto:mapserver-users-boun...@lists.osgeo.org> > > on behalf of Erik H <erik.h11...@gmail.com> > Sent: Wednesday, October 18, 2017 8:07:42 PM > To: Eichner, Andreas - SID > Cc: mapserver-users@lists.osgeo.org <mailto:mapserver- > us...@lists.osgeo.org> > Subject: Re: [mapserver-users] Draw roads WITHOUT anti- > aliasing > > Andreas, > > I made that change in mapagg.cpp and it seems to do exactly > what I need. Wunderbar! > > As for providing an option to switch rasterizer based on an > option, how about reviving the FORMATOPTION 'ANTIALIAS'? > > Thanks, Erik > > On Wed, Oct 18, 2017 at 9:18 AM, Eichner, Andreas - SID > <andreas.eich...@sid.sachsen.de <mailto:andreas.eich...@sid.sachsen.de> > > wrote: > > > Nope, this won't work: > > r->default_gamma = atof(msGetOutputFormatOption( > format, "GAMMA", "0.75" )); > if(r->default_gamma <= 0.0 || r->default_gamma >= > 1.0) { > r->default_gamma = 0.75; > } > > From mapagg.cpp lines 844-847 forces 0 < GAMMA < 1 > Also note that MapServer uses a linear gamma function > defined as > > double operator() (double x) const > { > if(x < m_start) return 0.0; > if(x > m_end) return 1.0; > return (x - m_start) / (m_end - m_start); > } > > Where m_start is _always_ set to 0 and m_end is set to > the GAMMA value given by you (or the default 0.75). > I think someone should check this - to me it seems a > power function was intented... > > HTH > > > -----Ursprüngliche Nachricht----- > > Von: mapserver-users [mailto:mapserver-users- > boun...@lists.osgeo.org <mailto:mapserver-users-boun...@lists.osgeo.org> > ] Im > > Auftrag von lars.schylb...@blixtmail.se > > Gesendet: Mittwoch, 18. Oktober 2017 14:05 > > An: mapserver-users@lists.osgeo.org > <mailto:mapserver-users@lists.osgeo.org> > > Betreff: Re: [mapserver-users] Draw roads WITHOUT > anti-aliasing > > > > Hi, > > > > > > > > > > > I did some quick tests with : > > > > > > > > > > OUTPUTFORMAT > > NAME "png_G0" > > DRIVER AGG/PNG > > MIMETYPE "image/png" > > IMAGEMODE RGB > > EXTENSION "png" > > FORMATOPTION "GAMMA=0.0" > > END > > > > > > > > > > and shp2img with options -i > > > > > > eg: shp2img -m 01_polygon_td_poly.map -o > 01_polygon_td_poly.png -i > > png_G0 > > > > > > > > > > > > I did some tests with both polygons, polygon outlines > and lines and they > > all seems to have anti-aliasing as far as I could > see. > > > > Would this be an ok way to test it? I also have some > people that would > > like to do lines without anti-aliasing for a strange > reason. > > > > > > > > > > > > Lars Schylberg > > > > > > > > > > > > -----Originalmeddelande----- > > > Från: "Rahkonen Jukka (MML)" > <jukka.rahko...@maanmittauslaitos.fi > <mailto:jukka.rahko...@maanmittauslaitos.fi> > > > > Till: "Eichner, Andreas - SID" > <andreas.eich...@sid.sachsen.de <mailto:andreas.eich...@sid.sachsen.de> > >, "Erik > > H" <erik.h11...@gmail.com> > > > Kopia: mapserver-users@lists.osgeo.org > <mailto:mapserver-users@lists.osgeo.org> > > > Datum: 2017-10-18 11:13 > > > Ämne: Re: [mapserver-users] Draw roads WITHOUT > anti-aliasing > > > > > > Hi, > > > > > > I suppose that the amount of antialiasing with AGG > is set with "gamma" > > parameter. Mapserver supports that at least for > polygons as documented > > in http://www.mapserver.org/mapfile/outputformat.html > <http://www.mapserver.org/mapfile/outputformat.html> but you could try > > if using gamma=0.0 has an effect on lines as well. It > may be that it > > does not because search > > > > > > https://github.com/mapserver/mapserver/search?utf8=%E2%9C%93&q=gamma&typ > <https://github.com/mapserver/mapserver/search?utf8=%E2%9C%93&q=gamma&ty > p> > > e= > > > seems to find only something that is tied to > polygon outlines > > > https://github.com/mapserver/mapserver/blob/branch- > 7- <https://github.com/mapserver/mapserver/blob/branch-7-> > > 0/renderers/agg/include/agg_renderer_outline_aa.h > > > > > > > > > If gamma does not work for lines then it could be > worth making a > > feature request for adding a new formatoption > "GAMMA_LINE=[]. > > > > > > Couple of Mapnik links dealing with the same issue: > > > http://gis.19327.n8.nabble.com/Turning-off-anti- > aliasing- <http://gis.19327.n8.nabble.com/Turning-off-anti-aliasing-> > > td5339458.html > > > http://mapnik.org/mapnik-reference/#3.0.6/line- > gamma-method <http://mapnik.org/mapnik-reference/#3.0.6/line-gamma- > method> > > > > > > -Jukka Rahkonen- > > > > > > > > > > > > -----Alkuperäinen viesti----- > > > Lähettäjä: mapserver-users [mailto:mapserver-users- > > boun...@lists.osgeo.org] Puolesta Eichner, Andreas - > SID > > > Lähetetty: 18. lokakuuta 2017 9:57 > > > Vastaanottaja: Erik H <erik.h11...@gmail.com> > > > Kopio: mapserver-users@lists.osgeo.org > <mailto:mapserver-users@lists.osgeo.org> > > > Aihe: Re: [mapserver-users] Draw roads WITHOUT > anti-aliasing > > > > > > Damn... missed attaching the images. > > > > > > > -----Ursprüngliche Nachricht----- > > > > Von: mapserver-users [mailto:mapserver-users- > > boun...@lists.osgeo.org] > > > > Im Auftrag von Eichner, Andreas - SID > > > > Gesendet: Mittwoch, 18. Oktober 2017 08:28 > > > > An: Erik H > > > > Cc: mapserver-users@lists.osgeo.org > <mailto:mapserver-users@lists.osgeo.org> > > > > Betreff: Re: [mapserver-users] Draw roads WITHOUT > anti-aliasing > > > > > > > > Hi, > > > > > > > > I just meant that it seems to be pretty easy to > implement aliased > > > > rendering with AGG. > > > > Simply changing the typedef in line 91 of > mapagg.cpp from > > > > > > > > typedef > mapserver::renderer_scanline_aa_solid<renderer_base> > > > > renderer_scanline; > > > > > > > > to > > > > > > > > typedef > mapserver::renderer_scanline_bin_solid<renderer_base> > > > > renderer_scanline; > > > > > > > > turns of anti-aliased rendering. I've attached > the output of > > "shp2img > > > > -m line_simple.map" from the msautotests. > > > > An additional member in class AGG2Renderer for > the aliased > > rasterizer > > > > and conditionally passing one or the other to > render_scanlines() > > > > depending on some value of strokeStyleObj might > be enough. > > > > > > > > Regards > > > > > > > > > -----Ursprüngliche Nachricht----- > > > > > Von: Erik H [mailto:erik.h11...@gmail.com] > > > > > Gesendet: Dienstag, 17. Oktober 2017 17:34 > > > > > An: Eichner, Andreas - SID > > > > > Cc: Richard Greenwood; mapserver- > us...@lists.osgeo.org <mailto:mapserver-users@lists.osgeo.org> > > > > > Betreff: Re: [mapserver-users] Draw roads > WITHOUT anti-aliasing > > > > > > > > > > As for Andreas' remark about 'simply the use of > another scanline > > > > > rasterizer.' - I'm sorry but I'm not much of a > C++ developer. If I > > > > have > > > > > to do rasterizing, I'd skip MapServer > altogether and generate the > > > > > PNG > > > > in > > > > > Java. > > > > > > > > > _______________________________________________ > > > > mapserver-users mailing list > > > > mapserver-users@lists.osgeo.org > <mailto:mapserver-users@lists.osgeo.org> > > > > > https://lists.osgeo.org/mailman/listinfo/mapserver-users > <https://lists.osgeo.org/mailman/listinfo/mapserver-users> > > > _______________________________________________ > > > mapserver-users mailing list > > > mapserver-users@lists.osgeo.org <mailto:mapserver- > us...@lists.osgeo.org> > > > https://lists.osgeo.org/mailman/listinfo/mapserver- > users <https://lists.osgeo.org/mailman/listinfo/mapserver-users> > > > > > > > > > > > > > > > > -- > > > > > _______________________________________________ > mapserver-users mailing list > mapserver-users@lists.osgeo.org <mailto:mapserver- > us...@lists.osgeo.org> > https://lists.osgeo.org/mailman/listinfo/mapserver- > users <https://lists.osgeo.org/mailman/listinfo/mapserver-users> > > > > _______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/mapserver-users