2 |
Python bindings for Shapelib |
Python bindings for Shapelib |
3 |
============================ |
============================ |
4 |
|
|
5 |
These are two python modules for shapelib created with SWIG. |
These are three python modules for shapelib: |
6 |
|
|
7 |
Shapelib is a free software library for reading and writing ESRI shape |
shapelib read/write shapefiles |
8 |
files and can be found at http://gdal.velocet.ca/projects/shapelib. |
|
9 |
|
dbflib read/write dbf files |
10 |
|
|
11 |
SWIG is tool that can generate wrappers of C and C++ libraries for a |
shptree quadtree for shapes |
|
variety of scripting languages. It's homepage is www.swig.org. |
|
12 |
|
|
13 |
The two modules here wrap the shape file reading and writing API and the |
Shapelib is a free software library for reading and writing ESRI shape |
14 |
DBF file reading and writing API. The shape file bindings are currently |
files and can be found at http://shapelib.maptools.org/. |
15 |
limited to 2-dimensional data. |
|
16 |
|
The bindings were partly created with SWIG, a tool that can generate |
17 |
|
wrappers of C and C++ libraries for a variety of scripting languages. |
18 |
|
It's homepage is http://www.swig.org. |
19 |
|
|
20 |
|
The bindings themselves don't have a homepage at the moment, but the |
21 |
|
source tarballs/zip files can be downloaded from |
22 |
|
http://ftp.intevation.de/users/bh/pyshapelib/ |
23 |
|
|
24 |
|
|
25 |
Requirements |
Requirements |
26 |
------------ |
------------ |
27 |
|
|
28 |
To compile the bindings, you need shapelib 1.2.8. Older versions may or |
To compile the bindings, you need shapelib 1.2.9 or newer and Python 2.0 |
29 |
may not work, I've only tested the code with 1.2.8. |
or newer. |
30 |
|
|
31 |
SWIG is not required. The files generated by SWIG are contained in the |
SWIG is not required. The files generated by SWIG are contained in the |
32 |
archive. If modify shapelib.i or dbflib.i and need to recreate the |
archive. If you modify shapelib.i or dbflib.i and need to recreate the |
33 |
generated files, you need at least SWIG 1.3. |
generated files, you need SWIG 1.3 Alpha 5. It's unlikely that other |
34 |
|
versions will work. |
35 |
|
In addition you need to add the following lines to initdbflibc(void) |
36 |
|
in dbflib_wrap.c. |
37 |
|
/* because we are in a python module now, we can give out |
38 |
|
* pointers to python's locale agonistic function |
39 |
|
* XXX this clearly is a hack |
40 |
|
*/ |
41 |
|
DBFSetatof_function(&PyOS_ascii_atof); |
42 |
|
|
43 |
You also need Python, of course. If you installed prebuilt packages such |
You also need Python, of course. If you installed prebuilt packages |
44 |
as RPMs of some Linux distributions, please make sure that the |
such as RPMs of some Linux distributions, please make sure that the |
45 |
development package is also installed. |
development package is also installed. |
46 |
|
|
47 |
|
|
59 |
and are also available separately from python.org for older versions. |
and are also available separately from python.org for older versions. |
60 |
|
|
61 |
To compile the bindings, unpack the archive under the shapelib archive |
To compile the bindings, unpack the archive under the shapelib archive |
62 |
or move the directory there if you've already unpacked it. Then run |
or move the directory there if you've already unpacked it. The setup |
63 |
|
script expects to find the shapelib files in the parent directory. Then |
64 |
|
run |
65 |
|
|
66 |
python setup.py build |
python setup.py build |
67 |
|
|
89 |
there's a simple demo/test script called pytest.py. |
there's a simple demo/test script called pytest.py. |
90 |
|
|
91 |
The change history is recorded in NEWS and in detail in ChangeLog. |
The change history is recorded in NEWS and in detail in ChangeLog. |
92 |
|
|
93 |
|
|
94 |
|
Contact Information |
95 |
|
------------------- |
96 |
|
|
97 |
|
pyshapelib is currently being developed as part of the interactive |
98 |
|
viewer for geographic data Thuban, so the best way to reach the |
99 |
|
developers is to post on the Thuban mailing lists. |
100 |
|
|
101 |
|
Thuban: |
102 |
|
http://thuban.intevation.org/ |
103 |
|
|
104 |
|
Thuban mailing lists: |
105 |
|
http://thuban.intevation.org/mailinglist.html |