def __init__(self, oCtrl): bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl self.oCtrl.oLog.info("Tests de génération Geojson", outConsole=True) #self.oAixmTools:aixm2json.Aixm2json4_5 = aixm2json.Aixm2json4_5(oCtrl) self.oAixmTools: AixmTools = aixmReader.AixmTools(oCtrl) return
def __init__(self, oCtrl): bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl self.oAixm2json = aixm2json.Aixm2json4_5(oCtrl) print() self.oCtrl.oLog.info("Tests de génération Geojson", outConsole=True) return
def __init__(self, oCtrl) -> None: bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl self.oAirspacesCatalog = None self.geoBorders = None #Geographic borders dictionary self.geoAirspaces = None #Geographic airspaces dictionary return
def __init__(self, oCtrl=None, openType='xml'): bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl #Référence du contrôleur appelant self.openType = openType #openType in ["xml"(default) or "lxml"(html solution, with lowercase elements)] self.doc:BeautifulSoup = None self.root:BeautifulSoup = None self.OpenFile() return
def __init__(self, oCtrl) -> None: bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl self.oAirspacesCatalog = None self.geoBorders = None #Geographic borders dictionary self.geoAirspaces = None #Geographic airspaces dictionary self.epsilonReduce: float = -1 #Default value=0 for no-doubling with no-compression, =0.0001 for good compression return
def __init__(self, oCtrl): if oCtrl: bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl #self.pLocal = Proj("epsg:2154") # EPSG:2154 = RGF93 / Lambert-93 - Projected coordinate system for France) :: Deprecated format --> Proj(init="epsg:2154") self.pWGS = Proj( "epsg:4326" ) # EPSG:4326 = WGS84 / Geodetic coordinate system for World :: Deprecated format --> Proj(init="epsg:4326") return
def __init__(self, oCtrl): if oCtrl: bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl #self.pLocal = Proj("epsg:2154") # EPSG:2154 = RGF93 / Lambert-93 - Projected coordinate system for France) :: Deprecated format --> Proj(init="epsg:2154") self.pWGS = Proj("epsg:4326") # EPSG:4326 = WGS84 / Geodetic coordinate system for World :: Deprecated format --> Proj(init="epsg:4326") self.bSrcFileIsSIAorEur:bool = False if self.oCtrl: self.bSrcFileIsSIAorEur = bool(self.oCtrl.oAixm.srcOrigin.lower() in ["sia-france","ead-sdo"]) #Fichier source issu du SIA ou d'Eurocontrol return
def __init__(self, oLog): bpaTools.initEvent(__file__, oLog) self.oLog = oLog self.sKeyFile:str = None self.doc:BeautifulSoup = None self.root:BeautifulSoup = None self.situation:BeautifulSoup = None self.oFrequecies:dict = {} return
def __init__(self, oLog: bpaTools.Logger, oAsCat: AsCatalog, partialConstruct: bool) -> None: bpaTools.initEvent(__file__, oLog) self.oLog: bpaTools.Logger = oLog #Log file self.oAsCat: AsCatalog = oAsCat #Catalogue des zones self.oIdxGeoJSON: dict = {} #Index de construction GeoJSON self.oGlobalGeoJSON: dict = {} #Liste globale des zones self.oOutGeoJSON: dict = {} #Sortie finale GeoJSON self.oGeoRefArea = geoRefArea.GeoRefArea(partialConstruct) return
def __init__(self, oCtrl) -> None: bpaTools.initEvent(__file__, oCtrl.oLog) self.oCtrl = oCtrl self.oAirspacesCatalog = None self.geoBorders = None #Geographic borders dictionary self.geoAirspaces = None #Geographic airspaces dictionary self.openairDigitOptimize: int = -1 #Parameter for optimize output geometry coordinates (default=-1 no-optimize) self.epsilonReduce: float = -1 #Default value=-1 for no-compression self.sOutFrmt = "D:M:S.ssX" if self.oCtrl.bOpenairOptimizePoint else "DD:MM:SS.ssX" return
def __init__(self, oLog: bpaTools.Logger, oAsCat: AsCatalog, partialConstruct: bool) -> None: bpaTools.initEvent(__file__, oLog) self.oLog: bpaTools.Logger = oLog #Log file self.oAsCat: AsCatalog = oAsCat #Catalogue des zones self.oGlobalOpenair: dict = {} #Liste globale des zones self.oOpenair: dict = {} #Liste temporaire des zones self.oZone: OpenairZone = None #Zone active self.oGeoRefArea = geoRefArea.GeoRefArea(partialConstruct) self.newZone() return
def __init__(self, oLog=None, oGeo: dict = None) -> None: self.oLog = None if oLog: bpaTools.initEvent(__file__, oLog) self.oLog: bpaTools.Logger = oLog #Log file self.oKmlTmp: dict = {} self.oKml: bpaTools.Xml = None self.oKmlDoc = None self.oGeo: dict = None if oGeo: self.oGeo: dict = oGeo return
def __init__(self, oLog=None, oGeo: dict = None) -> None: self.oLog: bpaTools.Logger = None if oLog: bpaTools.initEvent(__file__, oLog) self.oLog = oLog self.iDecimal = 3 self.oInpGeo: dict = None #GeoJSON input data self.oOutGeo: dict = None #GeoJSON output data if oGeo: self.setGeo(oGeo) self.truncateGeojsonFeature() return
def __init__(self, sLogName:str, sLogFile:str, sContext="", sLink=None, isDebug:bool=False, isSilent:bool=False)-> None: bpaTools.initEvent(__file__, isSilent=isSilent) #print(self.__class__.__name__, self.__class__.__module__, self.__class__.__dir__) self.sLogName = sLogName self.sLogFile = sLogFile self.sContext = sContext self.sLink = sLink self.log = None self.isSilent = isSilent # Set as 'True' for Silent mode (no log-file, no system-message, but log-report is available ;-) self.isDebug = isDebug # Set as 'True' for write the debug-messages in the log-file if not self.isSilent: msg = self.getMediumName() print(msg + "\n" + ("-" * len(msg))) self.__initFile__() return
def __init__(self, oLog, srcPath, refPath, headFileName=""): bpaTools.initEvent(__file__, oLog) self.oLog = oLog self.refPath = refPath self.srcPath = srcPath self.headFileName = headFileName self.elevation_data = srtm.get_data() self.sHead = "headerFile" self.sProp = "properties" self.sGeom = "geometry" self.sCoor = "coordinates" self.sRefe = "referential" self.sFeat = "features" self.sUnknownGroundHeightFileName = self.headFileName + "refUnknownGroundHeight.json" self.sGroundHeightFileName = self.headFileName + "refGroundEstimatedHeight" self.sGroundHeightFileNameJson = self.sGroundHeightFileName + ".json" self.sGroundHeightFileNameGeoj = self.sGroundHeightFileName + ".geojson" return
def __init__(self, sSrcFile, sOutPath, sOutHeadFile="", oLog=None): bpaTools.initEvent(__file__, oLog) self.srcFile = sSrcFile #Source file self.sOutPath = sOutPath #Destination folder self.sOutHeadFile = sOutHeadFile #File name header for outputs files if sOutHeadFile != "": self.sOutHeadFile += "@" self.oLog = oLog #Log file self.oAixm = None #Lecteur xml du fichier source self.oAixmTools = None #Utilitaire pour geojson self.sEncoding = "utf-8" #Encoding du fichier source self.__ALL = False #Generation de toutes zones cartographie IFR+VFR self.__IFR = False #Generation spécifique pour cartographie IFR (au dessus de FL115) self.__VFR = False #Generation spécifique pour cartographie VFR (en dessous FL115) self.__FreeFlight = False #Generation spécifique pour le Vol Libre avec différents filtrages (E, F, G...) self.__Draft = False #Limitation du nombre de segmentation des arcs et cercles en geojson self.__MakePoints4map = False #Construction de points complémentaires pour mise au point de la sorties geojson self.digit4roundArc = 6 #Précision du nombre de digit pour les arrondis des Arcs/Cercles self.digit4roundPoint = self.digit4roundArc #Précision du nombre de digit pour les arrondis des Points return
def __init__(self, sLogName: str, sLogFile: str, sContext="", sLink=None, debugLevel: int = 0, isSilent: bool = False) -> None: bpaTools.initEvent(__file__, isSilent=isSilent) #print(self.__class__.__name__, self.__class__.__module__, self.__class__.__dir__) self.startTime = datetime.datetime.now() self.sLogName: str = sLogName self.sLogFile: str = sLogFile self.sContext: str = sContext self.sLink: str = sLink self.log: logging.Logger = None self.isSilent: bool = isSilent # set 'True' for silent mode (no log-file, no system-message, but log-report is available ;-) self.debugLevel: int = debugLevel # set level value for write the debug-messages in the log-file. Default=0 NoneExit; -1=allExit ; 1 to n for set level [9 for initEvent())] if not self.isSilent: msg = self.getMediumName() print(msg + "\n" + ("-" * len(msg))) self.__initFile__() return
def __init__(self, sSrcFile, sOutPath, sOutHeadFile="", oLog=None): bpaTools.initEvent(__file__, oLog) self.srcFile: str = sSrcFile #Source file self.sOutPath: str = sOutPath #Destination folder self.sOutHeadFile: str = sOutHeadFile #File name header for outputs files if sOutHeadFile != "": self.sOutHeadFile += "@" self.oLog: bpaTools.Logger = oLog #Log file self.oAixm = None #Lecteur xml du fichier source self.oAixmTools = None #Utilitaire pour geojson self.sEncoding: str = "utf-8" #Encoding du fichier source self.__ALL: bool = False #Generation de toutes zones cartographie IFR+VFR self.__IFR: bool = False #Generation spécifique pour cartographie IFR (au dessus de FL115) self.__VFR: false = False #Generation spécifique pour cartographie VFR (en dessous FL115) self.__FreeFlight: bool = False #Generation spécifique pour le Vol Libre avec différents filtrages (E, F, G...) self.__Draft: bool = False #Limitation du nombre de segmentation des arcs et cercles en geojson self.__MakePoints4map: bool = False #Construction de points complémentaires pour mise au point de la sorties geojson self.bOpenairOptimizeArc: bool = False #Openair - 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 !? - Optimisation des sorties d'Arc en Openair (suppression des Point de début et de Fin d'arc (DP) en doublon avec la description de l'arc) self.bOpenairOptimizePoint: bool = True #Openair - Optimisation des sorties des Points (DP). Exp src="DP 46:03:04.000 N 000:31:01.1200 W" optimize="DP 46:3:4N 0:31:1.12W" self.geojsonDigitOptimize: int = 6 #parameter for optimize output geometry coordinates (default=6 digits) self.openairDigitOptimize: int = -1 #parameter for optimize output geometry coordinates (default=-1 no-optimize) self.epsilonReduce: float = -1 #parameter for Ramer-Douglas-Peucker Algorithm (https://github.com/fhirschmann/rdp) (default=-1 no-optimize) return