QgsShapeFile::QgsShapeFile( QString name, QString encoding ) { fileName = name; features = 0; QgsApplication::registerOgrDrivers(); QSettings settings; CPLSetConfigOption( "SHAPE_ENCODING", settings.value( "/qgis/ignoreShapeEncoding", true ).toBool() ? "" : 0 ); ogrDataSource = OGROpen( TO8F( fileName ), false, NULL ); if ( ogrDataSource != NULL ) { valid = true; ogrLayer = OGR_DS_GetLayer( ogrDataSource, 0 ); features = OGR_L_GetFeatureCount( ogrLayer, true ); } else valid = false; setDefaultTable(); // init the geometry types geometries << "NULL" << "POINT" << "LINESTRING" << "POLYGON" << "MULTIPOINT" << "MULTILINESTRING" << "MULTIPOLYGON" << "GEOMETRYCOLLECTION"; codec = QTextCodec::codecForName( encoding.toLocal8Bit().constData() ); if ( !codec ) codec = QTextCodec::codecForLocale(); Q_ASSERT( codec ); }
QgsShapeFile::QgsShapeFile(QString name){ filename = name; features = 0; OGRRegisterAll(); ogrDataSource = OGRSFDriverRegistrar::Open((const char *) filename); if (ogrDataSource != NULL){ valid = true; ogrLayer = ogrDataSource->GetLayer(0); features = ogrLayer->GetFeatureCount(); } else valid = false; setDefaultTable(); }
QgsShapeFile::QgsShapeFile( QString name, QString encoding ) { fileName = name; features = 0; QgsApplication::registerOgrDrivers(); ogrDataSource = OGROpen( QFile::encodeName( fileName ).constData(), FALSE, NULL ); if ( ogrDataSource != NULL ) { valid = true; ogrLayer = OGR_DS_GetLayer( ogrDataSource, 0 ); features = OGR_L_GetFeatureCount( ogrLayer, TRUE ); } else valid = false; setDefaultTable(); // init the geometry types geometries << "NULL" << "POINT" << "LINESTRING" << "POLYGON" << "MULTIPOINT" << "MULTILINESTRING" << "MULTIPOLYGON" << "GEOMETRYCOLLECTION"; codec = QTextCodec::codecForName( encoding.toLocal8Bit().data() ); if ( !codec ) codec = QTextCodec::codecForLocale(); }
DefaultReferenceResolver::DefaultReferenceResolver(DataTablePtr defaultTable) : AbstractReferenceResolver() { setDefaultTable(defaultTable); }