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

📄 shpgeo.h

📁 projapi是一个关于GIS行业投影转换的程序库
💻 H
字号:

#if _MSC_VER > 1000
#pragma once
#endif 

#ifndef SHPGEO_H

#define SHPGEO_H


#ifdef __cplusplus
extern "C" {
#endif

#include "projects.h"
#include "shapefil.h"

#define PROJLIB_DLLEXPORT
#ifdef PROJLIB_DLLEXPORT
#  define PROJAPI_CALL  __declspec(dllexport) 
#endif
#ifndef PROJAPI_CALL
#  define PROJAPI_CALL
#endif

#define		SHPD_POINT	 		1
#define		SHPD_LINE	 		2
#define		SHPD_AREA			4
#define 	SHPD_Z		 		8
#define		SHPD_MEASURE		16


typedef struct { double x; double y; } PT;


#ifdef _BIG_ENDIAN
const PT NAN = {0x7ff8000000000000, 0x7ff8000000000000}; 
#else
const PT NAN = {0x000000000000f87f, 0x000000000000f87f}; 
#endif


#define   	LSB_ORDER  (int) 1


extern PROJAPI_CALL char * asFileName ( const char *fil, char *ext );
extern PROJAPI_CALL int SHPProject ( SHPObject *psCShape, PJ *inproj, PJ *outproj );
extern PROJAPI_CALL int SHPProjectPoint ( double *x, double *y, PJ *inproj, PJ *outproj );
extern PROJAPI_CALL PJ 	* SHPSetProjection ( int param_cnt, char **params );
extern PROJAPI_CALL PJ 	* SHPSetProjectionEx (const char *definition );            //such as "+proj=utm +zone=11 +ellps=WGS84"
extern PROJAPI_CALL int SHPFreeProjection ( PJ *p);

extern PROJAPI_CALL int SHPDimension ( int SHPType );

extern PROJAPI_CALL double SHPArea_2d ( SHPObject *psCShape );
extern PROJAPI_CALL int 	SHPRingDir_2d ( SHPObject *psCShape, int Ring );
extern PROJAPI_CALL double SHPLength_2d ( SHPObject *psCShape );
extern PROJAPI_CALL PT 	SHPCentrd_2d ( SHPObject *psCShape );
extern PROJAPI_CALL PT	SHPPointinPoly_2d ( SHPObject *psCShape );
extern PROJAPI_CALL PT*	SHPPointsinPoly_2d ( SHPObject *psCShape );

extern PROJAPI_CALL int RingCentroid_2d ( int nVertices, double *a, double *b, PT *C, double *Area );
extern PROJAPI_CALL double 	RingLength_2d ( int nVertices, double *a, double *b );
extern PROJAPI_CALL int	RingDir_2d ( int nVertices, double *a, double *b );
extern PROJAPI_CALL double RingArea_2d ( int nVertices, double *a, double *b );

extern PROJAPI_CALL SHPObject* 	SHPClone ( SHPObject *psCShape, int lowPart, int highPart );
extern PROJAPI_CALL SHPObject* 	SHPUnCompound  ( SHPObject *psCShape, int * ringNumber );
extern PROJAPI_CALL SHPObject* 	SHPIntersect_2d ( SHPObject* a, SHPObject* b );

extern PROJAPI_CALL int SHPClean ( SHPObject *psCShape );

#ifdef __cplusplus
}
#endif

#endif   /* ndef SHPGEO_H	*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -