⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shapelib.html

📁 ESRI SHAPE文件读/写源代码。SHAPE是GIS中的重要文件格式
💻 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 + -