欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

ogr创造shp文件失败

更新时间: 2014-01-05 02:58:04 责任编辑: Author_N1

 

ogr创建shp文件失败
贴出我的代码如下:
OGRSFDriver *p_driver_new;
OGRDataSource *p_ds_new;
OGRLayer *p_layer_new; 

string str_shp_new = "F:\dianli_line.shp";
//注册OGR驱动
const char *pszDriverName = "ESRI Shapefile";
OGRRegisterAll();
p_driver_new = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(pszDriverName );
if( p_driver_new == NULL )
{
return false;
}
//创建文件
if (access(str_shp_new.c_str(),6) != -1)
{
remove(str_shp_new.c_str());
}
p_ds_new = p_driver_new->CreateDataSource(str_shp_new.c_str(), NULL );
if( p_ds_new == NULL )
{
return false;
}
//空间参考
OGRSpatialReference oSRS;
//oSRS.SetGeogCS( "srs_EPSG:4326",  
// "WGS 84",  
// SRS_DN_WGS84,  
// SRS_WGS84_SEMIMAJOR, SRS_WGS84_INVFLATTENING,  
// SRS_PM_GREENWICH, 0.0,  
// SRS_UA_DEGREE, 0.0174532925199433 );
oSRS.SetWellKnownGeogCS( "WGS84" ); 

p_layer_new = p_ds_new->CreateLayer("dianli_line", &oSRS, wkbLineString,NULL );
if( p_layer_new == NULL )
{
return false;
}

OGRLineString oLine;
oLine.addPoint(116.39,39.52);
oLine.addPoint(117.385,41.263);

OGRFeature *p_fea_new;
p_fea_new = OGRFeature::CreateFeature(p_layer_new->GetLayerDefn());
p_fea_new->SetGeometryDirectly(&oLine);

if( p_layer_new->CreateFeature(p_fea_new) != OGRERR_NONE )
{
return false;
}
//OGRFeature::DestroyFeature(p_fea_new);
//delete p_fea_new;

最后两句一运行就报错,自己注掉了。不明白哪里有问题???

程序运行,shp文件没有能创建成功
我哪里有问题,帮忙指导一下 
--参考方法--
路径里面的斜杠写成两个,试试
string str_shp_new = "F:\\dianli_line.shp";
--参考方法--
参考:

    OGR API 使用向导
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:58:04
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/16701/
本文WWW.DOC100.NET DOC100.NET版权所有。