本文整理汇总了C++中OGRSFDriver::CopyDataSource方法的典型用法代码示例。如果您正苦于以下问题:C++ OGRSFDriver::CopyDataSource方法的具体用法?C++ OGRSFDriver::CopyDataSource怎么用?C++ OGRSFDriver::CopyDataSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OGRSFDriver
的用法示例。
在下文中一共展示了OGRSFDriver::CopyDataSource方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
JNIEXPORT jlong JNICALL Java_es_gva_cit_jogr_OGRSFDriver_copyDataSourceNat
(JNIEnv *env, jobject obj, jlong cPtr, jlong dsSrc, jstring pszNewName, jobjectArray joptions){
OGRSFDriver *drv = (OGRSFDriver *) 0 ;
char **options;
int longitud;
OGRDataSource *ds_fte;
OGRDataSource *ds_dstno;
long ptr_dtno;
drv = *(OGRSFDriver **)&cPtr;
ds_fte = *(OGRDataSource **)&dsSrc;
longitud = env->GetArrayLength(joptions);
options = (char **)malloc(sizeof(char *)*longitud);
for(int i=0;i<longitud;i++){
jstring el = (jstring)env->GetObjectArrayElement(joptions,i);
const char *simple_option = env->GetStringUTFChars( el, 0);
options[i]=(char *)malloc(strlen(simple_option));
strcpy(options[i],simple_option);
env->ReleaseStringUTFChars( el, simple_option);
}
const char *name = env->GetStringUTFChars( pszNewName, 0);
ds_dstno = drv->CopyDataSource(ds_fte, name, options);
env->ReleaseStringUTFChars( pszNewName, name);
for(int i=0;i<longitud;i++)free(options[i]);
free(options);
if(ds_dstno==NULL)return -1;
ptr_dtno = (long)&(*ds_dstno);
return (jlong)ptr_dtno;
}