Hi, I guess that the slowest part is not VRT but your SQL SELECT * FROM "features" WHERE LegendEntryName IN("V_XX_AR","V_XX_LB","V_DOCIND_PT","V_XX_ML") because GeoJSON does not support attribute indexes. I would have a try by converting GeoJSON into GeoPackage or any other database format. Remember to create the index as well
ogrinfo -sql "create index legendentryname_idx on my_table(legententryname)" my_geopackage.gpkg Running attribute queries without index is so expensive that it is waste of time to begin to optimize anything else. I do not know if GDAL has methods for creating temporary attribute indexes so that you would not need to convert GeoJSON physically into some other format. -Jukka Rahkonen- MRRAJESH wrote > Developers, > > We are using VRT file (located in physical disk) as input to > GDALVectorTranslate in C++. This VRT file pointing JSON file, which is > little bigger size. How to improve the performance? > > const char *pszFilename = "C:\\Test\\MVT.vrt"; > hSrcDS = (GDALDatasetH *)GDALOpenEx(pszFilename, > GDAL_OF_READONLY, NULL,NULL, NULL); > > dst = (GDALDataset *)GDALVectorTranslate(vsibuf, NULL, 1, > &hSrcDS, opt,NULL); > > *VRT FILE:* > > OGRVRTDataSource> > > <OGRVRTLayer name="Administrative"> > > <SrcDataSource relativeToVRT="1"> > features.json > </SrcDataSource> > > <SrcSQL dialect="sqlite"> > SELECT * FROM "features" WHERE LegendEntryName > IN("V_XX_AR","V_XX_LB","V_DOCIND_PT","V_XX_ML") > </SrcSQL> > > </OGRVRTLayer> > ..... > .... > > > Regards, > Rajesh > > > > -- > Sent from: http://osgeo-org.1560.x6.nabble.com/GDAL-Dev-f3742093.html > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/gdal-dev -- Sent from: http://osgeo-org.1560.x6.nabble.com/GDAL-Dev-f3742093.html _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev