📄 shapelib.html
字号:
<html>
<head>
<title>Shapefile C Library V1.2</title>
</head>
<body>
<h1>Shapefile C Library V1.2</h1>
<h2>Purpose</h2>
The Shapefile C Library provides the ability to write simple C programs
for reading, writing and updating (to a limited extent) ESRI Shapefiles,
and the associated attribute file (.dbf).<p>
<h2>Manifest</h2>
<ul>
<li> <b>shapelib.html</b>: This file - general documentation on the
Shapefile C Library.<p>
<li> <b><a href="shp_api.html">shp_api.html</a></b>: Documentation
for the API for accessing the .shp/.shx files. <p>
<li> <b><a href="dbf_api.html">dbf_api.html</a></b>: Documentation
for the API for accessing the .dbf attribute files. <p>
<li> <b>shpopen.c</b>: C code for access to .shp/.shx vertex files.<p>
<li> <b>dbfopen.c</b>: C code for access to .dbf attribute file.<p>
<li> <b>shapefil.h</b>: Include file defining all the services of dbfopen.c
and shpopen.c.<p>
<li> <b>contrib/</b>: A directory of "in progress" contributed programs
from Carl Anderson.<p>
<li> <b>dbfcreate.c</b>: Simple example program for creating a new .dbf file.
<p>
<li> <b>dbfadd.c</b>:
Simple example program for adding a record to a .dbf file.<p>
<li> <b>dbfdump.c</b>: Simple example program for displaying the contents of
a .dbf file.<p>
<li> <b>shpcreate.c</b>: Simple example program for creating a new .shp and
.shx file.<p>
<li> <b>shpadd.c</b>: Simple example program for adding a shape to an existing
shape file.<p>
<li> <b>shpdump.c</b>: Simple program for dumping all the vertices in a
shapefile with an indicating of the parts.<p>
<li> <b>shputils.c</b>: Complex contributed program capable of clipping and
appending
shapefiles as well as a few other things. Type shputils
after building to get a full usage message.<p>
<li> <b>Makefile</b>: A simple makefile to compile the library and example
programs.<p>
<li> <b>makeshape.sh</b>: A simple script for running some of the example
programs.<p>
<li> <b>shptest.c</b>: A simple test harnass to generate each of the supported
types of shapefiles. <p>
<li> <b>shptree.c</b>: Implements a simple quadtree algorithm for fast
spatial searches of shapefiles.<p>
<li> <b>shptreedump.c</b>: A simple mainly showing information on quad
trees build using the quad tree api.<p>
<li> <b>stream1.sh</b> - A test script, which should produce stream1.out.
Note this will only work if you have the example data downloaded.<p>
<li> <b>stream1.out</b>: Expected output of stream1.sh test script.<p>
<li> <b>stream2.sh</b>: A test script, which should produce stream2.out.<p>
<li> <b>stream2.out</b>: Expected output of stream2.sh test script.<p>
</ul>
<h2>What is a Shapefile?</h2>
If you don't know, you probably don't need this library. The Shapefile
format is a new working and interchange format promulagated by ESRI
(http://www.esri.com/) for simple vector data with attributes. It is
apparently the only file format that can be edited in ARCView 2/3, and can
also be exported and imported in Arc/Info. <p>
An excellent white paper on the shapefile format is available from ESRI,
but it is .pdf format, so you will need Adobe Acrobat to browse it.<p>
The file format actually consists of three files.<p>
<pre>
XXX.shp - holds the actual vertices.
XXX.shx - hold index data pointing to the structures in the .shp file.
XXX.dbf - holds the attributes in xBase (dBase) format.
</pre>
<h2>Release Notes</h2>
<b>Release 1.2.8</b>: Added hacked libtool support (supplied by Jan)
and "rpm ready" install logic.<p>
<b>Release 1.2.7</b>: Fix record size (was 4 bytes too long). Modify
SHPReadObject() to handle null shapes properly. Use atof() instead of
sscanf(). Support .DBF as well as .dbf.<p>
<b>Release 1.2.6</b>: Now available under old MIT style license, or at the
users option, LGPL. Added the contrib directory of stuff from Carl Anderson
and the shptree.c API for quadtree based spatial searches.<p>
<b>Release 1.2.5</b>: SHPOpen() now forcably uses "rb" or "r+b" access string
to avoid common mistakes on Windows. Also fixed a serious bug with .dbf
files with a 'F' field type.<p>
<b>Release 1.2.4</b>: DBFOpen() will now automatically translate a .shp
extension to .dbf for convenience. SHPOpen() will try datasets with lower
and uppercase extension. DBFAddField() now returns the field number,
not TRUE/FALSE.<p>
<b>Release 1.2.3</b>: Disable writing measures to multi-patches as ArcView
seems to puke on them (as reported by Monika Sester). Add white space
trimming, and string/numeric attribute interchangability in DBF API
as suggested by Steve Lime. Dbfdump was updated to include several
reporting options.<p>
<b>Release 1.2.2</b>: Added proper support for multipatch (reading and
writing) - this release just for testing purposes.<p>
<b>Release 1.2</b> is mostly a rewrite of the .shp/.shx access API to account
for ArcView 3.x 3D shapes, and to encapsulate the shapes in a structure.
Existing code using the shapefile library will require substantial changes
to use release 1.2.<p>
<b>Release V1.1</b> has been built on a number of platforms, and used by a
number of people successfully. V1.1 is the first release with the xBase API
documentation.<p>
<h2>Portability</h2>
The Shapefile C Library should port easily to 32bit systems with ANSI C
compilers. It should work on 64 bit architectures (such as the DEC AXP).<p>
Care should also be taken to pass the binary access flag into SHPOpen()
and DBFOpen() when operating on systems with special text file translation
such as MSDOS.<p>
The shputils.c module is contributed, and may not take the same approach
to portability as the rest of the package.
<p> On Linux, and most unix systems it should be possible to build and install
shapefile support as a shared library using the "lib" and "lib_install" targets
of the Makefile. Note that this Makefile doesn't use autoconf mechanisms and
will generally require some hand tailoring for your environment.
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -