Example #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
Example #2
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
Example #3
0
          aixmReader.CONST.optEpsilonReduce + "=0.001 " +
          aixmReader.CONST.optCleanLog)
    print("")
    print("  Resources")
    print(
        "     GeoJSON test format: http://geojson.tools/  -or-  http://geojson.io"
    )
    print(
        "     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
Example #4
0
                    oFile)  #Forcer mise à jour des référentiels d'altitudes
                parseFile(
                    sKey, oFile
                )  #Regénération des fichiers après maj des référentiels
    return


if __name__ == '__main__':
    sCallingContext = None

    bpaTools.createFolder(outPath)  #Initialisation
    bpaTools.createFolder(poaffOutPath)  #Initialisation
    bpaTools.createFolder(poaffOutPath +
                          poaffCst.cstReferentialPath)  #Initialisation

    oOpts = bpaTools.getCommandLineOptions(aArgs)  #Arguments en dictionnaire
    oLog = bpaTools.Logger(appId,
                           logFile,
                           poaffCst.callingContext,
                           poaffCst.linkContext,
                           debugLevel=debugLevel,
                           isSilent=bool(aixmReader.CONST.optSilent in oOpts))
    if aixmReader.CONST.optCleanLog in oOpts:
        oLog.resetFile()  #Clean du log si demandé

    #--------- creation des fichiers unitaires ----------
    if aixmPaserConstruct:
        poaffGenerateFiles()  #Creation des fichiers
    poaffMergeFiles()  #Consolidation des fichiers
    makeKmlFiles()  #Sortie du ficher en KMLs