/usr/share/doc/python-shapely-doc/html/design.html is in python-shapely-doc 1.5.13-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Design Notes — Shapely 1.2 and 1.3 documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.5.13',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/mathjax/MathJax.js?config=tex-ams-mml_htmlormml"></script>
<link rel="top" title="Shapely 1.2 and 1.3 documentation" href="index.html" />
</head>
<body role="document">
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="nav-item nav-item-0"><a href="index.html">Shapely 1.2 and 1.3 documentation</a> »</li>
</ul>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/design.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="design-notes">
<h1>Design Notes<a class="headerlink" href="#design-notes" title="Permalink to this headline">¶</a></h1>
<p>Shapely provides classes that implement, more or less, the interfaces in the
OGC’s simple feature acess specification <a class="footnote-reference" href="#id2" id="id1">[1]</a>. The classes are defined in
similarly named modules under <code class="docutils literal"><span class="pre">shapely.geometry</span></code>: <code class="docutils literal"><span class="pre">Point</span></code> is in
<code class="docutils literal"><span class="pre">shapely.geometry.point</span></code>, <code class="docutils literal"><span class="pre">MultiPolygon</span></code> is in
<code class="docutils literal"><span class="pre">shapely.geometry.multipolygon</span></code>. These classes derive from
<code class="docutils literal"><span class="pre">shapely.geometry.base.BaseGeometry</span></code>. The simple features methods of
<code class="docutils literal"><span class="pre">BaseGeometry</span></code> call functions registered in a class variable <code class="docutils literal"><span class="pre">impl</span></code>. For
example, <code class="docutils literal"><span class="pre">BaseGeometry.area</span></code> calls <code class="docutils literal"><span class="pre">BaseGeometry.impl['area']</span></code>.</p>
<p>The default registry is in the <code class="docutils literal"><span class="pre">shapely.impl</span></code> module. Its items are classes
that operate on single geometric objects or pairs of geometric objects.
Pluggability is a goal of this design, but we’re not there yet. Some work needs
to be done before anybody can use CGAL as a Shapely backend.</p>
<p>In sum, Shapely’s stack is 4 layers:</p>
<ul class="simple">
<li>Python geometry classes in <code class="docutils literal"><span class="pre">shapely.geometry</span></code></li>
<li>An implementation registry: an abstraction that permits alternate geometry
engines, even a mix of geometry engines. The default is in <code class="docutils literal"><span class="pre">shapely.impl</span></code>.</li>
<li>The GEOS implementations of methods for the registry in <code class="docutils literal"><span class="pre">shapely.geos</span></code>.</li>
<li>libgeos: algorithms written in C++.</li>
</ul>
<table class="docutils footnote" frame="void" id="id2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>John R. Herring, Ed.,
“OpenGIS Implementation Specification for Geographic information - Simple
feature access - Part 1: Common architecture,” Oct. 2006.</td></tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="nav-item nav-item-0"><a href="index.html">Shapely 1.2 and 1.3 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2011-2013, Sean Gillies, Aron Bierbaum, Kai Lautaportti and others.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.4.
</div>
</body>
</html>
|