📄 ogr_api.h
字号:
/****************************************************************************** * $Id: ogr_api.h,v 1.34 2006/12/13 18:35:06 dron Exp $ * * Project: OpenGIS Simple Features Reference Implementation * Purpose: C API for OGR Geometry, Feature, Layers, DataSource and drivers. * Author: Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2002, Frank Warmerdam * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****************************************************************************** * * $Log: ogr_api.h,v $ * Revision 1.34 2006/12/13 18:35:06 dron * Added OGR_F_SetStyleStringDirectly() declaration. * * Revision 1.33 2006/04/02 18:25:59 fwarmerdam * added OFTDateTime, and OFTTime support * * Revision 1.32 2006/02/15 04:25:37 fwarmerdam * added date support * * Revision 1.31 2006/01/27 00:08:36 fwarmerdam * added Get{FID,Geometry}Column() support * * Revision 1.30 2005/10/28 16:47:21 fwarmerdam * Added OGRCleanupAll(). * * Revision 1.29 2005/10/25 19:58:27 fwarmerdam * added OGR_DS_GetDriver * * Revision 1.28 2005/09/21 00:50:08 fwarmerdam * Added Release * * Revision 1.27 2005/08/05 20:28:55 fwarmerdam * pass nbytes in OGR_G_CreateFromWkb() * * Revision 1.26 2005/07/20 01:43:51 fwarmerdam * upgraded OGR geometry dimension handling * * Revision 1.25 2005/02/22 12:37:26 fwarmerdam * rename Equal/Intersect to Equals/Intersects * * Revision 1.24 2005/02/02 19:59:47 fwarmerdam * added SetNextByIndex support * * Revision 1.23 2005/01/03 22:15:48 fwarmerdam * added SetSpatialFilterRect * * Revision 1.22 2004/11/22 22:24:56 fwarmerdam * Give explicit void for functions taking no arguments. * * Revision 1.21 2004/10/07 13:10:59 fwarmerdam * added OGR_G_Centroid * * Revision 1.20 2004/09/17 15:05:36 fwarmerdam * added get_Area() support * * Revision 1.19 2004/07/10 06:57:54 warmerda * Added C entry points and docs for GEOS geometry functions * * Revision 1.18 2004/07/10 04:52:44 warmerda * added OGR_G_CloseRings * * Revision 1.17 2003/10/09 15:27:41 warmerda * added OGRLayer::DeleteFeature() support * * Revision 1.16 2003/09/04 14:01:44 warmerda * added OGRGetGenerate_DB2_V72_BYTE_ORDER * * Revision 1.15 2003/08/27 15:40:37 warmerda * added support for generating DB2 V7.2 compatible WKB * * Revision 1.14 2003/04/22 19:33:26 warmerda * Added synctodisk * * Revision 1.13 2003/04/08 21:21:13 warmerda * added OGRGetDriverByName * * Revision 1.12 2003/04/08 19:30:56 warmerda * added CopyLayer and CopyDataSource entry points * * Revision 1.11 2003/03/19 20:28:20 warmerda * added shared access, and reference counting apis * * Revision 1.10 2003/03/12 20:52:07 warmerda * implemented support for gml:Box * * Revision 1.9 2003/03/06 20:29:27 warmerda * added GML import/export entry points * * Revision 1.8 2003/03/05 05:08:49 warmerda * added GetLayerByName * * Revision 1.7 2003/03/03 05:05:54 warmerda * added support for DeleteDataSource and DeleteLayer * * Revision 1.6 2003/01/07 16:44:27 warmerda * added removeGeometry * * Revision 1.5 2003/01/06 21:37:00 warmerda * added CPL_DLL attribute on OGRBuildPolygon... * * Revision 1.4 2003/01/02 21:45:23 warmerda * move OGRBuildPolygonsFromEdges into C API * * Revision 1.3 2002/10/24 16:46:08 warmerda * removed bogus OGR_G_GetWkbSize() * * Revision 1.2 2002/09/26 19:00:07 warmerda * ensure all entry points CPL_DLL'ed * * Revision 1.1 2002/09/26 18:11:51 warmerda * New * */#ifndef _OGR_API_H_INCLUDED#define _OGR_API_H_INCLUDED/** * \file ogr_api.h * * C API and defines for OGRFeature, OGRGeometry, and OGRDataSource * related classes. * * See also: ogr_geometry.h, ogr_feature.h, ogrsf_frmts.h */#include "ogr_core.h"CPL_C_START/* -------------------------------------------------------------------- *//* Geometry related functions (ogr_geometry.h) *//* -------------------------------------------------------------------- */typedef void *OGRGeometryH;#ifndef _DEFINED_OGRSpatialReferenceH#define _DEFINED_OGRSpatialReferenceHtypedef void *OGRSpatialReferenceH; typedef void *OGRCoordinateTransformationH;#endifstruct _CPLXMLNode;/* From base OGRGeometry class */OGRErr CPL_DLL OGR_G_CreateFromWkb( unsigned char *, OGRSpatialReferenceH, OGRGeometryH *, int );OGRErr CPL_DLL OGR_G_CreateFromWkt( char **, OGRSpatialReferenceH, OGRGeometryH * );void CPL_DLL OGR_G_DestroyGeometry( OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_CreateGeometry( OGRwkbGeometryType );int CPL_DLL OGR_G_GetDimension( OGRGeometryH );int CPL_DLL OGR_G_GetCoordinateDimension( OGRGeometryH );void CPL_DLL OGR_G_SetCoordinateDimension( OGRGeometryH, int );OGRGeometryH CPL_DLL OGR_G_Clone( OGRGeometryH );void CPL_DLL OGR_G_GetEnvelope( OGRGeometryH, OGREnvelope * );OGRErr CPL_DLL OGR_G_ImportFromWkb( OGRGeometryH, unsigned char *, int );OGRErr CPL_DLL OGR_G_ExportToWkb( OGRGeometryH, OGRwkbByteOrder, unsigned char*);int CPL_DLL OGR_G_WkbSize( OGRGeometryH hGeom );OGRErr CPL_DLL OGR_G_ImportFromWkt( OGRGeometryH, char ** );OGRErr CPL_DLL OGR_G_ExportToWkt( OGRGeometryH, char ** );OGRwkbGeometryType CPL_DLL OGR_G_GetGeometryType( OGRGeometryH );const char CPL_DLL *OGR_G_GetGeometryName( OGRGeometryH );void CPL_DLL OGR_G_DumpReadable( OGRGeometryH, FILE *, const char * );void CPL_DLL OGR_G_FlattenTo2D( OGRGeometryH );void CPL_DLL OGR_G_CloseRings( OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_CreateFromGML( const char * );char CPL_DLL *OGR_G_ExportToGML( OGRGeometryH );#if defined(_CPL_MINIXML_H_INCLUDED)OGRGeometryH CPL_DLL OGR_G_CreateFromGMLTree( const CPLXMLNode * );CPLXMLNode CPL_DLL *OGR_G_ExportToGMLTree( OGRGeometryH );CPLXMLNode CPL_DLL *OGR_G_ExportEnvelopeToGMLTree( OGRGeometryH );#endifvoid CPL_DLL OGR_G_AssignSpatialReference( OGRGeometryH, OGRSpatialReferenceH );OGRSpatialReferenceH CPL_DLL OGR_G_GetSpatialReference( OGRGeometryH );OGRErr CPL_DLL OGR_G_Transform( OGRGeometryH, OGRCoordinateTransformationH );OGRErr CPL_DLL OGR_G_TransformTo( OGRGeometryH, OGRSpatialReferenceH );int CPL_DLL OGR_G_Intersects( OGRGeometryH, OGRGeometryH );int CPL_DLL OGR_G_Equals( OGRGeometryH, OGRGeometryH );int CPL_DLL OGR_G_Disjoint( OGRGeometryH, OGRGeometryH );int CPL_DLL OGR_G_Touches( OGRGeometryH, OGRGeometryH );int CPL_DLL OGR_G_Crosses( OGRGeometryH, OGRGeometryH );int CPL_DLL OGR_G_Within( OGRGeometryH, OGRGeometryH );int CPL_DLL OGR_G_Contains( OGRGeometryH, OGRGeometryH );int CPL_DLL OGR_G_Overlaps( OGRGeometryH, OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_GetBoundary( OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_ConvexHull( OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_Buffer( OGRGeometryH, double, int );OGRGeometryH CPL_DLL OGR_G_Intersection( OGRGeometryH, OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_Union( OGRGeometryH, OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_Difference( OGRGeometryH, OGRGeometryH );OGRGeometryH CPL_DLL OGR_G_SymmetricDifference( OGRGeometryH, OGRGeometryH );double CPL_DLL OGR_G_Distance( OGRGeometryH, OGRGeometryH );double CPL_DLL OGR_G_GetArea( OGRGeometryH );int CPL_DLL OGR_G_Centroid( OGRGeometryH, OGRGeometryH );void CPL_DLL OGR_G_Empty( OGRGeometryH );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -