Esempio n. 1
0
def makeAixm2Openair(sSrcPath: str, sSrcFile: str, sDstPath: str,
                     sDstFile: str) -> None:
    aArgs = [
        appName, aixmReader.CONST.frmtOPENAIR, aixmReader.CONST.typeAIRSPACES,
        aixmReader.CONST.optALL, aixmReader.CONST.optCleanLog
    ]
    aArgs += [
        aixmReader.CONST.optOpenairDigitOptimize + "=" +
        str(poaffCst.cstOpenairDigitOptimize)
    ]
    if mOpenairEpsilonReduce != -1:
        aArgs += [
            aixmReader.CONST.optEpsilonReduce + "=" +
            str(mOpenairEpsilonReduce)
        ]
    else:
        aArgs += [
            aixmReader.CONST.optEpsilonReduce + "=" +
            str(poaffCst.cstOpenairEpsilonReduce)
        ]
    oOpts = bpaTools.getCommandLineOptions(aArgs)
    aixmCtrl = aixmReader.AixmControler(sSrcPath + sSrcFile, sDstPath, "",
                                        oLog)  #Init controler
    aixmCtrl.bOpenairOptimizePoint = True  #False-->'46:23:57 N 006:06:20 E' or True-->'46:23:57N 6:6:2E'
    #aixmCtrl.bOpenairOptimizeArc = False        #--> Ne pas optimiser l'Arc car l'alignement du 1er point de l'arc de cercle ne coincide souvent pas avec le point théorique du départ de l'arc !?
    aixmCtrl.execParser(oOpts)  #Execution des traitements
    renameFile(sDstPath, "airspaces-all-gpsWithTopo.txt", sDstPath, sDstFile)
    return
Esempio n. 2
0
def parseFile(sKey: str, oFile: dict) -> bool:
    oLog.info(aixmParserId + " --> parseFile() by aixmReader.AixmControler()",
              outConsole=True)
    bpaTools.createFolder(
        oFile[poaffCst.cstSpOutPath])  #Init dossier de sortie
    aixmCtrl = aixmReader.AixmControler(oFile[poaffCst.cstSpSrcFile],
                                        oFile[poaffCst.cstSpOutPath], sKey,
                                        oLog)  #Init controler
    ret = aixmCtrl.execParser(oOpts,
                              catalogConstruct)  #Execution des traitements
    return ret
Esempio n. 3
0
def makeAixm2Geojson(sSrcPath: str, sSrcFile: str, sDstPath: str,
                     sDstFile: str) -> None:
    aArgs = [
        appName, aixmReader.CONST.frmtGEOJSON, aixmReader.CONST.typeAIRSPACES,
        aixmReader.CONST.optALL, aixmReader.CONST.optCleanLog
    ]
    aArgs += [
        aixmReader.CONST.optEpsilonReduce + "=" +
        str(poaffCst.cstGeojsonEpsilonReduce)
    ]
    oOpts = bpaTools.getCommandLineOptions(aArgs)
    aixmCtrl = aixmReader.AixmControler(sSrcPath + sSrcFile, sDstPath, "",
                                        oLog)  #Init controler
    aixmCtrl.execParser(oOpts)  #Execution des traitements
    renameFile(sDstPath, "airspaces-all.geojson", sDstPath, sDstFile)
    return
Esempio n. 4
0
        "     OpenAir test format: http://xcglobe.com/cloudapi/browser  -or-  http://cunimb.net/openair2map.php"
    )
    return


if __name__ == '__main__':
    ### Context d'excecution
    oOpts = bpaTools.getCommandLineOptions(
        sys.argv)  #Arguments en dictionnaire
    oLog = bpaTools.Logger(___AppId___,
                           __LogFile__,
                           isSilent=bool(aixmReader.CONST.optSilent in oOpts))

    if len(sys.argv) < 2 or (aixmReader.CONST.optHelp in oOpts):
        syntaxe()  #Aide en ligne
        oLog.closeFile()
    else:
        if aixmReader.CONST.optCleanLog in oOpts:
            oLog.resetFile()  #Clean du log

        oLog.writeCommandLine(sys.argv)  #Trace le contexte d'execution
        sSrcFile = sys.argv[1]  #Nom de fichier
        aixmCtrl = aixmReader.AixmControler(
            sSrcFile, __OutPath__, oLog=oLog)  #Controler de traitements
        if aixmCtrl.execParser(oOpts):  #Execution des traitements
            print()
            oLog.Report()
        else:
            syntaxe()
    oLog.closeFile()
Esempio n. 5
0
    #### poaf - Specifique test for bigData ####
    #srcFile = "../../poaff/input/SIA/20200813-20200909_aixm4.5_SIA-FR.xml"
    #srcFile = "../../poaff/input/EuCtrl/20200618_aixm4.5_Eurocontrol-FR.xml"
    #srcFile = "../../poaff/input/EuCtrl/20201105_aixm4.5_Eurocontrol-Euro_BPa.xml"
    #aArgv = [appName, srcFile, "-Fall", aixmReader.CONST.typeAIRSPACES, aixmReader.CONST.optVFR, aixmReader.CONST.optFreeFlight]

    ####  Ajout de l'option d'appel pour la gestion du Log  ####
    aArgv += [aixmReader.CONST.optCleanLog
              ]  #Mode classique avec log et afficages sur console système
    #aArgv += [aixmReader.CONST.optSilent]      #Mode silencieux sans utilisation du fichier log et sans retour d'affichage

    ####  Préparation d'appel ####
    oOpts = bpaTools.getCommandLineOptions(aArgv)  #Arguments en dictionnaire
    oLog = bpaTools.Logger(appId,
                           logFile,
                           callingContext,
                           linkContext,
                           isSilent=bool(aixmReader.CONST.optSilent in oOpts))

    if aixmReader.CONST.optCleanLog in oOpts:
        oLog.resetFile()  #Clean du log si demandé
    oLog.writeCommandLine(aArgv)  #Trace le contexte d'execution
    aixmCtrl = aixmReader.AixmControler(srcFile, outPath, "",
                                        oLog=oLog)  #Init controler
    if aixmCtrl.execParser(oOpts):  #Execution des traitements
        print()
        if oLog.CptCritical or oLog.CptError:
            print("/!\ Processing Error(s)")
        oLog.Report()
    oLog.closeFile()