public static void ExportMultipleToOGR(frmMain pFrm, string[] pInputFilenames, string pOutputFilename)
        {
            pFrm.Log("Starting to process selected files...");

            foreach (var mDbFilename in pInputFilenames)
            {
                var mDb = new Database(mDbFilename);
                var mAddressUnitFeatures  = new AddressUnitFeature(mDb);
                var mStreetNameFeatures   = new StreetNameSignFeature(mDb);
                var mAddressGuideFeatures = new AddressGuideSignFeature(mDb);

                mAddressUnitFeatures.PopulateFromTable();
                mStreetNameFeatures.PopulateFromTable();
                mAddressGuideFeatures.PopulateFromTable();

                var mGroup = new MapGroup();
                mGroup.LegendText = mDb.DbBaseName;
                IFeatureLayer mAUNSLayer = (IFeatureLayer)ExtFunctions.GetFeatureLayer(
                    mGroup.Layers, mAddressUnitFeatures,
                    LayerNames.AddressUnitSigns,
                    MapSymbols.PointSymbol(SignColors.AddressUnitSign, 3),
                    ExtFunctions.GetProjByEPSG(32640)
                    );
                var mAUNSResult = ExtFunctions.ExportFeatureLayerToOGR(
                    pDrvNm: "FileGDB",
                    pFLyr: mAUNSLayer,
                    pOPFn: pOutputFilename,
                    pSrcProj: ExtFunctions.GetProjByEPSG(32640),
                    pTgtProj: ExtFunctions.GetProjByEPSG(32640),
                    pLCOpts: new List <string>()
                {
                    "FEATURE_DATASET=Simplified"
                },
                    pAppend: true
                    );
                pFrm.Log(mAUNSResult.GetMessages());

                IFeatureLayer mSNSLayer = (IFeatureLayer)ExtFunctions.GetFeatureLayer(
                    mGroup.Layers,
                    mStreetNameFeatures,
                    LayerNames.StreetNameSigns,
                    MapSymbols.PointSymbol(SignColors.StreetNameSign, 3),
                    ExtFunctions.GetProjByEPSG(32640)
                    );

                var mSNSResult = ExtFunctions.ExportFeatureLayerToOGR(
                    pDrvNm: "FileGDB",
                    pFLyr: mSNSLayer,
                    pOPFn: pOutputFilename,
                    pSrcProj: ExtFunctions.GetProjByEPSG(32640),
                    pTgtProj: ExtFunctions.GetProjByEPSG(32640),
                    pLCOpts: new List <string>()
                {
                    "FEATURE_DATASET=Simplified"
                },
                    pAppend: true
                    );
                pFrm.Log(mSNSResult.GetMessages());

                IFeatureLayer mAGSLayer = (IFeatureLayer)ExtFunctions.GetFeatureLayer(
                    mGroup.Layers,
                    mAddressGuideFeatures,
                    LayerNames.AddressGuideSigns,
                    MapSymbols.PointSymbol(SignColors.AddressGuideSign, 3),
                    ExtFunctions.GetProjByEPSG(32640)
                    );
                var mAGSResult = ExtFunctions.ExportFeatureLayerToOGR(
                    pDrvNm: "FileGDB",
                    pFLyr: mAGSLayer,
                    pOPFn: pOutputFilename,
                    pSrcProj: ExtFunctions.GetProjByEPSG(32640),
                    pTgtProj: ExtFunctions.GetProjByEPSG(32640),
                    pLCOpts: new List <string>()
                {
                    "FEATURE_DATASET=Simplified"
                },
                    pAppend: true
                    );
                pFrm.Log(mAGSResult.GetMessages());
                pFrm.Log("Completed parsing: " + mDbFilename);
                Application.DoEvents();
            }

            pFrm.Log("Wrote output to file: " + pOutputFilename);
        }
        public static void ExportMultipleToMyAbuDhabiNet(frmMain pFrm, string[] pInputFilenames, string pOutputFilename)
        {
            // Overwrite first entry
            bool pAppend = false;

            pFrm.Log("Starting to process selected files...");
            foreach (var mDbFilename in pInputFilenames)
            {
                var mDb = new Database(mDbFilename);

                var mGroup = new MapGroup();
                mGroup.LegendText = mDb.DbBaseName;

                var mAddressUnitFeatures = new AddressUnitFeature(mDb);
                mAddressUnitFeatures.PopulateFromTable();

                pFrm.Log("Number of address unit features in source: " + mAddressUnitFeatures.NumRows());

                IPointLayer mAddressUnitLayer  = (IPointLayer)ExtFunctions.GetFeatureLayer(mGroup.Layers, mAddressUnitFeatures, LayerNames.AddressUnitSigns, MapSymbols.PointSymbol(SignColors.AddressUnitSign, 3), ExtFunctions.GetProjByEPSG(32640));
                var         mAddressUnitResult = ExtFunctions.ExportToMyAbuDhabiNet(pOutputFilename, mAddressUnitLayer, ExtFunctions.GetProjByEPSG(4326), ExtFunctions.GetProjByEPSG(4326), pAppend, SignType.addressUnitNumberSign);
                pFrm.Log(mAddressUnitResult.GetMessages());

                //After first file-write, set append to true
                pAppend = true;

                var mSnsFeatures = new StreetNameSignFeature(mDb);
                mSnsFeatures.PopulateFromTable();
                pFrm.Log("Number of street name sign features in source: " + mSnsFeatures.NumRows());
                IPointLayer mSnsLayer  = (IPointLayer)ExtFunctions.GetFeatureLayer(mGroup.Layers, mSnsFeatures, LayerNames.StreetNameSigns, MapSymbols.PointSymbol(SignColors.StreetNameSign, 3), ExtFunctions.GetProjByEPSG(32640));
                var         mSnsResult = ExtFunctions.ExportToMyAbuDhabiNet(pOutputFilename, mSnsLayer, ExtFunctions.GetProjByEPSG(4326), ExtFunctions.GetProjByEPSG(4326), true, SignType.streetNameSign);
                pFrm.Log(mSnsResult.GetMessages());

                var mAgsFeatures = new AddressGuideSignFeature(mDb);
                mAgsFeatures.PopulateFromTable();
                pFrm.Log("Number of address guide sign features in source: " + mAgsFeatures.NumRows());
                IPointLayer mAgsLayer  = (IPointLayer)ExtFunctions.GetFeatureLayer(mGroup.Layers, mAgsFeatures, LayerNames.AddressGuideSigns, MapSymbols.PointSymbol(SignColors.AddressGuideSign, 3), ExtFunctions.GetProjByEPSG(32640));
                var         mAgsResult = ExtFunctions.ExportToMyAbuDhabiNet(pOutputFilename, mAgsLayer, ExtFunctions.GetProjByEPSG(4326), ExtFunctions.GetProjByEPSG(4326), true, SignType.addressGuideSign);
                pFrm.Log(mAgsResult.GetMessages());

                pFrm.Log("Completed parsing: " + mDbFilename);
                Application.DoEvents();
            }

            pFrm.Log("Wrote output to file: " + pOutputFilename);
        }