<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sean Gillies (Posts about mapserver)</title><link>https://sgillies.net/</link><description></description><atom:link href="https://sgillies.net/tags/mapserver.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Sun, 31 Dec 2023 01:26:18 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>XML mapfile</title><link>https://sgillies.net/2008/06/11/xml-mapfile.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;&lt;a class="reference external" href="http://blog.cleverelephant.ca/2008/06/x-my-l.html"&gt;Heh&lt;/a&gt;. I think "XML mapfile" is a stage that many people (myself included) just have to go through on their way to enlightenment. See also &lt;a class="reference external" href="http://en.wikipedia.org/wiki/K%C3%BCbler-Ross_model#Stages"&gt;bargaining&lt;/a&gt;.&lt;/p&gt;</description><category>mapserver</category><category>work</category><guid>https://sgillies.net/2008/06/11/xml-mapfile.html</guid><pubDate>Wed, 11 Jun 2008 06:00:00 GMT</pubDate></item><item><title>Python, MapServer, and WSGI</title><link>https://sgillies.net/2008/02/23/python-mapserver-and-wsgi.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;To enable &lt;a class="reference external" href="http://hackmap.blogspot.com/2008/02/i-mentioned-previously-site-which-uses.html"&gt;this&lt;/a&gt; is why I added an OWSRequest class and image byte access to mapscript. I'm glad they are getting used.&lt;/p&gt;
&lt;p&gt;I was pleased to stumble onto Brent's blog a week ago: I spent my undergrad afternoons working in a molecular biology lab and still dabble in genomics. His &lt;a class="reference external" href="http://toxic.berkeley.edu/~bpederse/genome-browser/"&gt;genome browser&lt;/a&gt; inspired me to see OpenLayers as more than a web GIS tool.&lt;/p&gt;
&lt;section id="comments"&gt;
&lt;h2&gt;Comments&lt;/h2&gt;
&lt;section id="re-python-mapserver-and-wsgi"&gt;
&lt;h3&gt;Re: Python, MapServer, and WSGI&lt;/h3&gt;
&lt;p&gt;Author: Tim Maddle&lt;/p&gt;
I've found the MapScript OWSRequest capability invaluable for overlaying layers in Google Earth, so don't doubt that it's a valuable feature.&lt;/section&gt;
&lt;section id="re-python-mapserver-and-wsgi-1"&gt;
&lt;h3&gt;Re: Python, MapServer, and WSGI&lt;/h3&gt;
&lt;p&gt;Author: brent&lt;/p&gt;
hi sean, good to hear i've inspired you somehow. i'm an avid reader (and user) of your code and blog. i'm really having fun with mapscript lately.&lt;/section&gt;
&lt;/section&gt;</description><category>mapserver</category><category>python</category><category>work</category><guid>https://sgillies.net/2008/02/23/python-mapserver-and-wsgi.html</guid><pubDate>Sat, 23 Feb 2008 07:00:00 GMT</pubDate></item><item><title>Map Servers</title><link>https://sgillies.net/2007/08/21/map-servers.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;Map servers -- the CGI programs and servlets that render infinitely customizable map images of any scale, size, and format -- remain useful, even increasingly useful, in this &lt;a class="reference external" href="http://sgillies.net/blog/545/tiles/"&gt;tiled&lt;/a&gt; world. The &lt;a class="reference external" href="http://mapserver.gis.umn.edu"&gt;MapServer&lt;/a&gt; project, for example, is climbing steadily up out of its own "trough of disillusionment" [see &lt;a class="reference external" href="http://en.wikipedia.org/wiki/Gartner's_Hype_Cycle"&gt;hype cycle&lt;/a&gt;] towards a 5.0 release next month. Two use cases are driving it forward. Some data are so dynamic that caching is unfeasible or even undesirable. Aircraft traffic is an obvious case. The other growing role for MapServer is that of a tile engine for applications like &lt;a class="reference external" href="http://tilecache.org"&gt;TileCache&lt;/a&gt;. Its already-good cartographic options are getting dramatically better, and longer rendering times become acceptable if your data changes on a time scale of several days or more.&lt;/p&gt;</description><category>data</category><category>mapserver</category><category>work</category><guid>https://sgillies.net/2007/08/21/map-servers.html</guid><pubDate>Tue, 21 Aug 2007 06:00:00 GMT</pubDate></item><item><title>Stop Using Mapscript: Finally</title><link>https://sgillies.net/2007/08/09/stop-using-mapscript-finally.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;MapServer 5.0 has some nice new features. Christopher Schmidt has been blogging the hell out of &lt;a class="reference external" href="http://crschmidt.net/blog/archives/244/mapserver-agg-rendering-now-with-fonts/"&gt;one&lt;/a&gt;. &lt;a class="reference external" href="http://mapserver.gis.umn.edu/development/rfc/ms-rfc-17/"&gt;Dynamically allocated arrays&lt;/a&gt; (culmination of my work on a container API -- msInsertLayer and friends) is a big one that doesn't get a lot of notice. I think my favorite is this: now you can pretty much stop using mapscript.&lt;/p&gt;
&lt;p&gt;Steve Lime did the work. I did the nagging, testing, and the final mapscript touch. Here's a Python usage excerpt from the &lt;a class="reference external" href="http://trac.osgeo.org/mapserver/browser/trunk/mapserver/mapscript/python/tests/fragments.txt"&gt;tests&lt;/a&gt;:&lt;/p&gt;
&lt;pre class="literal-block"&gt;&amp;gt;&amp;gt;&amp;gt; import mapscript
&amp;gt;&amp;gt;&amp;gt; mo = mapscript.fromstring("""MAP NAME "test" END""")
&amp;gt;&amp;gt;&amp;gt; mo # doctest: +ELLIPSIS
&amp;lt;mapscript.mapObj; proxy of C mapObj instance at ...&amp;gt;
&amp;gt;&amp;gt;&amp;gt; mo.name
'test'&lt;/pre&gt;
&lt;p&gt;I've explained the motivation &lt;a class="reference external" href="http://sgillies.net/blog/315/stop-using-mapscript/"&gt;previously&lt;/a&gt;. You can now transform the problem of writing intricate, error-prone mapscript code into a more tractable template interpolation problem.&lt;/p&gt;</description><category>mapserver</category><category>python</category><category>work</category><guid>https://sgillies.net/2007/08/09/stop-using-mapscript-finally.html</guid><pubDate>Thu, 09 Aug 2007 06:00:00 GMT</pubDate></item><item><title>Stop Using Mapscript: Almost There</title><link>https://sgillies.net/2007/05/01/stop-using-mapscript-almost-there.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;MapServer revision 6064 (my first contribution in quite a while) has an example of loading a mapfile from a string: &lt;a class="reference external" href="http://trac.osgeo.org/mapserver/browser/trunk/mapserver/mapscript/python/tests/fragments.txt"&gt;fragments.txt&lt;/a&gt;. We're getting very close to the point where we can practically &lt;a class="reference external" href="http://sgillies.net/blog/315/stop-using-mapscript/"&gt;stop using mapscript&lt;/a&gt;. Users, feel free to add comments to this feature's &lt;a class="reference external" href="http://trac.osgeo.org/mapserver/wiki/MapObjFromString"&gt;story&lt;/a&gt;.&lt;/p&gt;
&lt;section id="comments"&gt;
&lt;h2&gt;Comments&lt;/h2&gt;
&lt;section id="re-stop-using-mapscript-almost-there"&gt;
&lt;h3&gt;Re: Stop Using Mapscript: Almost There&lt;/h3&gt;
&lt;p&gt;Author: Al&lt;/p&gt;
I am just getting into MapServer and have found your posts to be very enlightening. I have only gotten to the point that I can see how I would use MapScript to overlay a map with icons positioned via data in a MySQL DB. Is it possible to duplicate that sort of functionality with map files? Any pointers on where I could see examples of that?

Thanks,
Al&lt;/section&gt;
&lt;section id="re-stop-using-mapscript-almost-there-1"&gt;
&lt;h3&gt;Re: Stop Using Mapscript: Almost There&lt;/h3&gt;
&lt;p&gt;Author: Sean&lt;/p&gt;
Al, you can use the mapfile language to define an OGR wrapper for your MySQL table. Google for "mapserver ogr virtual mysql" and you'll find examples.&lt;/section&gt;
&lt;/section&gt;</description><category>mapserver</category><category>software engineering</category><category>work</category><guid>https://sgillies.net/2007/05/01/stop-using-mapscript-almost-there.html</guid><pubDate>Tue, 01 May 2007 06:00:00 GMT</pubDate></item><item><title>MapServer Subversion Repository</title><link>https://sgillies.net/2007/04/29/mapserver-subversion-repository.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;MapServer users: you all &lt;a class="reference external" href="http://svn.osgeo.org/mapserver/"&gt;owe&lt;/a&gt; &lt;a class="reference external" href="http://hobu.net"&gt;Howard&lt;/a&gt; a beer.&lt;/p&gt;</description><category>mapserver</category><category>work</category><guid>https://sgillies.net/2007/04/29/mapserver-subversion-repository.html</guid><pubDate>Sun, 29 Apr 2007 06:00:00 GMT</pubDate></item><item><title>Upcoming Events</title><link>https://sgillies.net/2007/04/18/upcoming-events.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;&lt;a class="reference external" href="http://wiki.python.org/moin/FrontRangePythoneers"&gt;Front Range Pythoneers&lt;/a&gt;: OLPC (!) and testing, 18 April.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://groups.google.com/group/frugos"&gt;FRUGOS&lt;/a&gt;: MapServer and OpenLayers class at CU-Denver, &lt;a class="reference external" href="http://groups.google.com/group/frugos/t/e38fdccb73e6fbc2"&gt;25 April&lt;/a&gt;.&lt;/p&gt;</description><category>community</category><category>mapserver</category><category>python</category><category>work</category><guid>https://sgillies.net/2007/04/18/upcoming-events.html</guid><pubDate>Wed, 18 Apr 2007 06:00:00 GMT</pubDate></item><item><title>Improving MapServer: a Specific Example</title><link>https://sgillies.net/2007/03/27/improving-mapserver-a-specific-example.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;Earlier this month I made some hand-waving arguments for &lt;a class="reference external" href="http://sgillies.net/blog/386/suggestion-for-mapserver-5-0/"&gt;separating the concerns&lt;/a&gt; of MapServer's web application and cartographic engine on general principles. There is now a new MapServer development proposal that allows me to make a specific example.&lt;/p&gt;
&lt;p&gt;It's been proposed that the MapServer web app could generate vanilla XML responses to GetFeature, GetFeatureInfo, and other WxS requests, and user-configured XSLT would provide a finishing touch to the responses. It's a nice idea. The early implementation plan was to load up existing configuration parameters with additional meaning. Stylesheet as metadata or something like that. Actually, specification of a XSLT stylesheet for transforming WxS responses has nothing to do with cartography, and nothing to do with map or layer metadata. It is solely a concern of &lt;em&gt;mapserv&lt;/em&gt;, the web application. Therefore, let's configure it separately from the &lt;em&gt;Map&lt;/em&gt; section of a mapfile. Transformation of a WFS &lt;em&gt;GetFeature&lt;/em&gt; response might be done like this:&lt;/p&gt;
&lt;pre class="literal-block"&gt;# The traditional cartographic config section
Map
  # All the usual map layers, etc.
  ...
End

# *NEW* application config section
Application
WFS
  GetFeature
    XSLT       On
    Stylesheet "/mapserver/xslt/example.xsl"
  End
End&lt;/pre&gt;
&lt;p&gt;That's declarative, orthogonal, and crystal clear.&lt;/p&gt;</description><category>mapserver</category><category>software engineering</category><category>work</category><guid>https://sgillies.net/2007/03/27/improving-mapserver-a-specific-example.html</guid><pubDate>Tue, 27 Mar 2007 06:00:00 GMT</pubDate></item><item><title>Suggestion for MapServer 5.0</title><link>https://sgillies.net/2007/03/01/suggestion-for-mapserver-5-0.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;The MapServer 5.0 &lt;a class="reference external" href="http://mapserver.gis.umn.edu/development/release_plans/mapserver_5_0"&gt;plan&lt;/a&gt; has some compelling items (feature-level transparency, AGG rendering in particular), but the one thing I'd really like to see is separation of MapServer's cartographic and web application aspects. These are entangled both in the code and in configuration, so it's no small task, but one that would reward the community.&lt;/p&gt;
&lt;p&gt;Frankly, making effective maps and administering a web server are skills that rarely go together. Separating cartography from the web application allows changes to be made to the cartographic presentation with greatly reduced risk of breaking the application that serves up the map. The separation would also make it easier to test and deploy maps, even across platforms.&lt;/p&gt;
&lt;p&gt;Similarly, separating these concerns would make development of MapServer a bit more sane. Cartographic enhancements would be much less likely to break the web application, and the upcoming changes to accommodate WFS 1.1 and WMS 1.3 (for example) would be much less likely to break the cartographic engine.&lt;/p&gt;
&lt;p&gt;Last, but not least: I consider the built-in MapServer web application (&lt;em&gt;mapserv&lt;/em&gt;, or &lt;em&gt;mapserv.exe&lt;/em&gt;) to be cumbersome, and a bad investment today. The W*S protocols are better implemented in your favorite web programming language. PHP, Python, Ruby, .NET -- all surpass C for working with HTTP requests, strings, and XML. All have better templating. All have better memory management (except perhaps PHP). Back when I was playing ultimate frisbee, we used to heckle our teammates, yelling "Drop the piano!" at the tired guy who couldn't run down the disc. MapServer's built-in, written in C, web application is that piano.&lt;/p&gt;
&lt;section id="comments"&gt;
&lt;h2&gt;Comments&lt;/h2&gt;
&lt;section id="re-suggestion-for-mapserver-5-0"&gt;
&lt;h3&gt;Re: Suggestion for MapServer 5.0&lt;/h3&gt;
&lt;p&gt;Author: &lt;a class="reference external" href="http://www.earthbrowser.com"&gt;Matthew Giger&lt;/a&gt;&lt;/p&gt;
I agree wholeheartedly with your assessment. Having another application to serve up http data outside of apache in this day and age is just silly. Agg is very nice at rendering antialiased lines (MS uses it in VE), I would love to see some sort of a Python MapServer library (with the crucial performance parts in C) with a Mapnik (mapnik.org which also uses Agg) renderer and OpenLayers. That would be a nice solution...&lt;/section&gt;
&lt;section id="re-suggestion-for-mapserver-5-0-1"&gt;
&lt;h3&gt;Re: Suggestion for MapServer 5.0&lt;/h3&gt;
&lt;p&gt;Author: &lt;a class="reference external" href="http://hobu.biz"&gt;hobu&lt;/a&gt;&lt;/p&gt;
Patches graciously accepted :)&lt;/section&gt;
&lt;section id="re-suggestion-for-mapserver-5-0-2"&gt;
&lt;h3&gt;Re: Suggestion for MapServer 5.0&lt;/h3&gt;
&lt;p&gt;Author: Sean&lt;/p&gt;
I'm still a committer, Howard. Consider this post a paradigm patch for the brain ;)&lt;/section&gt;
&lt;section id="re-suggestion-for-mapserver-5-0-3"&gt;
&lt;h3&gt;Re: Suggestion for MapServer 5.0&lt;/h3&gt;
&lt;p&gt;Author: &lt;a class="reference external" href="http://cornbreadshome.spaces.live.com/"&gt;Andy&lt;/a&gt;&lt;/p&gt;
I have to disagree on the mapserv thing. I wrote an app for small devices for AT&amp;amp;T at one time that used mapserv and it worked like gang busters. When you have a device side application and you just need images streamed to it and the app itself handles everything else mapserv is the absolute bomb. The Oregon &amp;amp; Washington market AT&amp;amp;T technicians still use this app on their Blackberries and Motorola radio phones. Without mapserv I would have been up a creek. For regular web maps I always used the PHP libraries but for small devices nothing worked better than mapserv.&lt;/section&gt;
&lt;/section&gt;</description><category>mapserver</category><category>programming</category><category>software engineering</category><category>work</category><guid>https://sgillies.net/2007/03/01/suggestion-for-mapserver-5-0.html</guid><pubDate>Thu, 01 Mar 2007 07:00:00 GMT</pubDate></item><item><title>MAGIS: Mediterranean Archaeology GIS</title><link>https://sgillies.net/2007/02/06/magis-mediterranean-archaeology-gis.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;Slowly, but surely, I'm catching up on the other Web and GIS projects in the Digital Humanities. One of these is the &lt;a class="reference external" href="http://cgma.depauw.edu/"&gt;Collaboratory for GIS and Mediterranean Archaeology&lt;/a&gt;'s &lt;a class="reference external" href="http://cgma.depauw.edu/MAGIS/"&gt;MAGIS&lt;/a&gt;, which provides simple MapServer-based map search for archaeological projects.&lt;/p&gt;</description><category>digital humanities</category><category>mapserver</category><category>work</category><guid>https://sgillies.net/2007/02/06/magis-mediterranean-archaeology-gis.html</guid><pubDate>Tue, 06 Feb 2007 07:00:00 GMT</pubDate></item></channel></rss>