<?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 nogis)</title><link>https://sgillies.net/</link><description></description><atom:link href="https://sgillies.net/tags/nogis.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Sun, 31 Dec 2023 01:26:24 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>New home for rasterio</title><link>https://sgillies.net/2014/01/29/new-home-for-rasterio.html</link><dc:creator>Sean Gillies</dc:creator><description>&lt;p&gt;As it's getting more use at work, I've &lt;a class="reference external" href="https://github.com/mapbox/rasterio/issues/25"&gt;moved rasterio&lt;/a&gt; to Mapbox's GitHub
organization and wrote about it on the &lt;a class="reference external" href="https://www.mapbox.com/blog/rasterio-announce/"&gt;Mapbox blog&lt;/a&gt;. Mapbox is probably known more
for Javascript, but has a lot of Python programs running at any moment and more in
development.&lt;/p&gt;
&lt;p&gt;What do I mean when I write that rasterio is Python software, not GIS software?
There is GIS software under the hood, obviously, and rasterio would be nowhere
without the excellent &lt;a class="reference external" href="http://www.gdal.org"&gt;GDAL&lt;/a&gt; library. What I mean is
that whenever faced with a design choice between the way something would be
done in a name brand GIS program and the way it would be done in Python,
I always choose the Python way. That means I/O is done via file-like objects.
That means no reliance on &lt;a class="reference external" href="http://sgillies.net/blog/2013/12/17/teaching-python-gis-users-to-be-more-rational.html"&gt;side effects&lt;/a&gt;.
Python dicts instead of GIS-specific types or microformatted strings. It means
embracing Python idioms and protocols. Making things iterable and zip-able. It
means &lt;a class="reference external" href="http://www.python.org/dev/peps/pep-0008/"&gt;PEP 8&lt;/a&gt; and &lt;a class="reference external" href="http://www.python.org/dev/peps/pep-0020/"&gt;PEP 20&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is not to say that I think Python is the best language for every
application or that Python language design is always right. I'm increasingly
a polyglot and I expect that you are, too, or will be soon. It seems clear to
me that one of the main keys to successful polyglot programming isn't using
interfaces that stick to the common features of languages, it's using the best
parts of various languages to their fullest. I believe this means idiomatic
Javascript in your Javascript programs (for example) and idiomatic Python in
your Python programs. Celebrating Python is what I'm doing to make rasterio
a better tool for polyglots.&lt;/p&gt;
&lt;p&gt;Bill Dollins &lt;a class="reference external" href="http://blog.geomusings.com/2013/11/27/consider-the-alternative/"&gt;recently wrote about some of the characteristics of GIS software&lt;/a&gt;, and
here is the crux of it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So I have come to realize that the mainstream GIS community has become very
much like my professor’s theoretical cat; conditioned to take the long way to
the end result when more direct paths are clearly available. What’s more,
they have become conditioned to think of such approaches as normal.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Python, on the other hand, is supposed to be direct, highly productive, and fun.
I've chosen to make rasterio less like the GIS software Bill wrote about and
more like ElementTree, simplejson, Requests, pytest, and Numpy – packages that
make the most of Python's strengths.&lt;/p&gt;
&lt;p&gt;By the way, I wrote to the Python Software Foundation's Trademark Committee to
make extra sure that my derived work (the GeoJSON file at
&lt;a class="reference external" href="https://gist.github.com/sgillies/8655640#file-python-powered-json"&gt;https://gist.github.com/sgillies/8655640#file-python-powered-json&lt;/a&gt;) was legit,
and received a very clear and friendly response from David Mertz in the
affirmative. I've been a reader of his articles for years and it was a pleasure
to correspond with him at last. Python isn't just a great language, it's great
people.&lt;/p&gt;</description><category>gis</category><category>nogis</category><category>python</category><category>rasterio</category><category>work</category><category>zen</category><guid>https://sgillies.net/2014/01/29/new-home-for-rasterio.html</guid><pubDate>Wed, 29 Jan 2014 07:00:00 GMT</pubDate></item></channel></rss>