@@ -74,17 +74,15 @@ def finalize_options(self):
7474 url = "http://www.fortyninemaps.com/karta.html" ,
7575 description = "Geospatial analysis in Python" ,
7676 long_description = """*Karta* is a package for spatial analysis in Python. It streamlines data
77- processing by providing classes for coordinate-system aware geographical vector
78- and raster data .
77+ processing by providing efficient generic geographical types for vector
78+ and raster sources as well as a selection of analysis functions .
7979
80- Create vector geometries:
80+ For example, read or create vector geometries:
8181
8282.. code:: python
8383
8484 point = Point((-130.0, 52.0), crs=LonLatWGS84)
85-
8685 line = read_geojson("linedata.json")
87-
8886 polygon = Polygon([(-515005.78, -1301130.53),
8987 (-579174.89, -1282271.94),
9088 (-542977.83, -1221147.82),
@@ -99,50 +97,116 @@ def finalize_options(self):
9997
10098 point2 = Point((-25.0, 48.0), crs=LonLatWGS84)
10199 point.distance(point2) # Distance in geographical units
102-
103100 line.intersects(polygon) # True or False
104-
105101 ch = polygon.convex_hull() # Returns a new polygon
106102 ch.to_shapefile("poly.shp")
107103
108- Work with raster data:
104+ Load and manipulate raster data:
109105
110106.. code:: python
111107
112108 grid = read_gtiff("landsat_scene.tif") # Leverages GDAL
113-
114109 grid.profile(line) # Collect data along a line
115-
116110 grid.resample(500.0, 500.0) # Return a grid resampled at a new resolution
117111
118- *Karta* works with Python 2 and 3. Suggestions, bug reports, test cases, and
119- pull requests are welcome.
120-
121- DOCUMENTATION
112+ Documentation
122113-------------
123114
124- See the `webpage <http://www.fortyninemaps.com/karta.html>`__ and the `manual
125- <http://www.fortyninemaps.com/kartadocs/karta-manual.html>`__.
115+ See the `online
116+ manual <http://www.fortyninemaps.com/kartadocs/introduction.html>`__,
117+ the
118+ `tutorial <http://www.fortyninemaps.com/kartadocs/_static/tutorial.html>`__,
119+ or read the `API
120+ documentation <http://www.fortyninemaps.com/kartadocs/reference.html>`__.
121+
122+ The manual can be built offline using
123+ `Sphinx <http://sphinx-doc.org/>`__. Building the documentation requires
124+ `numpydoc <https://github.com/numpy/numpydoc>`__.
125+
126+ Package Overview
127+ ----------------
128+
129+ - **karta.crs**: framework for coordinate reference systems and
130+ geodetic calculations
131+
132+ - **karta.vector.geometry**: geometry classes ``Point``,
133+ ``Multipoint``, ``Line``, and ``Polygon`` with associated methods
134+ such as length, area, intersections, membership testing, convex
135+ hulls, and affine transformations
136+
137+ - **karta.raster.grid**: ``Grid`` classes including ``RegularGrid``
138+ class (supporting CRS-aware clipping, sampling, profiling along
139+ vector tracks), and experimental ``WarpedGrid``
140+
141+ - **tests**: unit tests, to be run with ``python tests/runtests.py``
142+
143+ Formats
144+ -------
145+
146+ *Karta* provides a basic working interface to several of common file
147+ formats. Currently implemented are:
148+
149+ - vector
150+
151+ - GeoJSON (r,w)
152+ - ESRI Shapefiles (via GDAL) (r,w)
153+ - GPS eXchange (GPX) (r,w)
154+
155+ - raster
156+
157+ - GeoTiff (via GDAL) (r,w)
158+ - ESRI ASCII Grid (r,w)
159+
160+ *Karta* implements the Python ```__geo_interface__``
161+ attribute <https://gist.github.com/sgillies/2217756>`__ for vector
162+ geometries. This permits data to be exchanged between *Karta* and
163+ external modules that also implement ``__geo_interface__`` (e.g.
164+ `shapely <https://github.com/Toblerity/Shapely>`__,
165+ `fastkml <https://fastkml.readthedocs.org/en/latest/>`__).
166+
167+ Installation
168+ ------------
169+
170+ The easiest way to install in production is via ``pip``. Installation
171+ requires a recent version of ``setuptools``:
172+
173+ ::
174+
175+ pip install -U setuptools
176+
177+ Then, to install the latest release from PyPI:
178+
179+ ::
180+
181+ pip install karta
182+
183+ Building from source
184+ ~~~~~~~~~~~~~~~~~~~~
185+
186+ Building from source requires Cython:
187+
188+ ::
189+
190+ pip install Cython
191+
192+ Then, clone the repository and install:
193+
194+ ::
126195
127- The manual can also be built offline using Sphinx by running ``make`` from the
128- ``doc/`` subdirectory. The documentation is built from source code docstrings
129- and the example IPython notebooks, which are also reproduced in the `Wiki
130- <https://github.com/fortyninemaps/karta/wiki/Tutorial>`__. Building the
131- documentation requires `Sphinx <http://sphinx-doc.org/>`__, `alabaster
132- <https://github.com/bitprophet/alabaster>`__ and `numpydoc
133- <https://github.com/numpy/numpydoc>`__.
196+ git clone https://github.com/fortyninemaps/karta.git karta
197+ pip install -r karta/requirements.txt
198+ pip install karta/
134199
135- DEPENDENCIES
200+ Dependencies
136201------------
137202
138- - numpy
139- - gdal
140- - pyproj
141- - blosc
142- - C99-compliant compiler
203+ - numpy >= >1.7
204+ - gdal >= 1.10
205+ - pyproj >= 1.9
206+ - blosc >= 1.2
207+ - C99-compliant compiler
143208
144- When installing from PyPI, C source code is provided. When building from
145- sources, Cython is required.
209+ *Karta* supports Python 2.7 and Python 3.4+.
146210""" ,
147211 classifiers = ["Programming Language :: Python :: 2" ,
148212 "Programming Language :: Python :: 2.7" ,
0 commit comments