阅读:1815回复:5
如何使用C API创建SDE图层?简单
<P><FONT face=Courier>BOOL SpatialTable(SE_CONNECTION connect, CHAR * table, CHAR * column, LONG mask, double minx, double miny, double maxx, double maxy)</FONT></P>
<P><FONT face=Courier>{</FONT></P> <P><FONT face=Courier>SE_LAYERINFO layer; SE_COORDREF coordref; LONG rc = SE_coordref_create (;coordref); if(rc != SE_SUCCESS) { return FALSE; }</FONT></P> <P><FONT face=Courier>LFLOAT falsex,falsey,xyunits; LFLOAT dx=maxx-minx, dy=maxy-miny; if(dx>dy) { falsex=minx-dx*0.001; falsey=miny-(dx-dy)/2.0-dx*0.001; xyunits=ULONG(1L<<31)/dx/1.002; } else { falsex=minx-(dy-dx)/2.0-dy*0.001; falsey=miny-dy*0.001; xyunits=ULONG(1L<<31)/dy/1.002;</FONT></P> <P><FONT face=Courier>} rc = SE_coordref_set_xy (coordref,falsex,falsey,xyunits); rc = SE_layerinfo_create (coordref,;layer); double grid=ULONG(1L<<31)/xyunits/256.0; rc = SE_layerinfo_set_grid_sizes (layer,grid,grid*4,grid*16); rc = SE_layerinfo_set_shape_types (layer,mask); rc = SE_layerinfo_set_spatial_column (layer,table,column); rc = SE_layer_create (connect,layer,0,0); if(rc != SE_SUCCESS) { SE_coordref_free (coordref); SE_layerinfo_free (layer); TRACE0("Error:Create layer failure!\n"); return FALSE; } SE_coordref_free (coordref); SE_layerinfo_free (layer); return TRUE; }</FONT></P> <P><FONT face=Courier>SE_CONNECTION connection; </FONT></P> <P><FONT face=Courier>SE_ERROR error; LONG rc = SE_connection_create("gissrv", "esri_sde", "sde", user, password, ;error, ;connection);</FONT></P> <P><FONT face=Courier>ASSERT(SE_SUCCESS == rc); </FONT></P> <P><FONT face=Courier>BOOL ret = SpatialTable(connect, "TEST_LAYER", "SHAPE", SE_AREA_TYPE_MASK|SE_NIL_TYPE_MASK|SE_LINE_TYPE_MASK|SE_POINT_TYPE_MASK,// -10000, -10000, 10000, 10000);</FONT></P> [此贴子已经被作者于2004-9-9 15:34:02编辑过]
|
|
|
1楼#
发布于:2004-09-10 00:21
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
|
2楼#
发布于:2004-09-10 00:22
难得见到如此好人,希望更多人进来讨论
|
|
|
3楼#
发布于:2004-09-10 09:04
<P><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /></P><P>哪用CAPI要装一个开发包,这个开发包包括引入库,头文件等,请问这个开发包在Sde安装盘中吗?</P>
|
|
|
4楼#
发布于:2004-09-10 09:50
C SDK 安装介质
<P>在一张 <FONT style="FONT-SIZE: 18pt" size=5>ArcSDE x.x Client CD</FONT></P>
<P><FONT size=1>的安装盘内有</FONT>C SDK </P> |
|
|
5楼#
发布于:2004-09-10 13:28
是不是SDE_Client目录中的安装程序呀?能否上传一个到帝国FTP上?
|
|
|