def __init__(self, parent=None): super(GISOSM_Dialog, self).__init__(parent) self.sitename = "GIS-Sitedata" #Get/set parameters for GIS self.tempFolderName = "GIStemp/" self.lat = str( GIS2BIM_FreeCAD.ArchSiteCreateCheck(self.sitename).WGS84_Latitude) self.lon = str( GIS2BIM_FreeCAD.ArchSiteCreateCheck(self.sitename).WGS84_Longitude) self.bboxWidthStart = str( GIS2BIM_FreeCAD.ArchSiteCreateCheck( self.sitename).BoundingboxWidth) self.bboxHeightStart = str( GIS2BIM_FreeCAD.ArchSiteCreateCheck( self.sitename).BoundingboxHeight) #Set Style self.setStyleSheet( "QWidget {background-color: rgb(68, 68, 68)} QPushButton { background-color: black } QGroupBox {border: 1px solid grey; }" ) #margin: 2px; #Download files self.URLmap = GIS2BIM.GetWebServerData("HTMLwfs", "Other", "URL") #self.filepathBaseMap = GIS2BIM.DownloadURL(GIS2BIM_FreeCAD.CreateTempFolder(self.tempFolderName),self.URLmap,"basemapWFS.html") #Basemap from GIS2BIM Repository for preview #self.filepathNewMap = GIS2BIM.DownloadURL(GIS2BIM_FreeCAD.CreateTempFolder(self.tempFolderName),self.URLmap,"mapWFS.html") #Edited Basemap with location and bbox self.filepathBaseMap = "C:/Users/mikev/OneDrive/Bureaublad/TEMP/GIStemp/basemapWFS.html" self.filepathNewMap = "C:/Users/mikev/OneDrive/Bureaublad/TEMP/GIStemp/mapWFS.html" self.tempFolderPath = GIS2BIM_FreeCAD.CreateTempFolder( self.tempFolderName) os.remove(self.filepathNewMap) BaseMap = open(self.filepathBaseMap, "r") BaseMapstr = BaseMap.read() Newstr = BaseMapstr.replace("51LAT", str(self.lat)) Newstr = Newstr.replace("4LONG", str(self.lon)) Newstr = Newstr.replace("WBBOX", self.bboxWidthStart) Newstr = Newstr.replace("HBBOX", self.bboxHeightStart) open(self.filepathNewMap, "x") f1 = open(self.filepathNewMap, "w") f1.write(Newstr) f1.close() #Overall Grid grid = QtWidgets.QGridLayout() grid.addWidget(self.webViewGroup(), 0, 0, 1, 2) grid.addWidget(self.locationGroup(), 3, 0, QtCore.Qt.AlignTop) grid.addLayout(self.buttonGroup(), 4, 0, 1, 2) grid.setRowStretch(0, 2) self.setLayout(grid) self.setWindowTitle("Load 2D Vector Data with WFS(Web Feature Server)") self.resize(920, 910)
def __init__(self): super(GISLocation_Dialog, self).__init__() self.sitename = "GIS-Sitedata" self.tempFolderName = "GIStemp" #Get/set parameters for GIS self.lat = GIS2BIM_FreeCAD.ArchSiteCreateCheck( self.sitename).WGS84_Latitude self.lon = GIS2BIM_FreeCAD.ArchSiteCreateCheck( self.sitename).WGS84_Longitude self.bboxWidthStart = str( GIS2BIM_FreeCAD.ArchSiteCreateCheck( self.sitename).BoundingboxWidth) self.bboxHeightStart = str( GIS2BIM_FreeCAD.ArchSiteCreateCheck( self.sitename).BoundingboxHeight) self.CRS = GIS2BIM_FreeCAD.ArchSiteCreateCheck( self.sitename).CRS_EPSG_SRID #Create temp folders/files self.URLmap = GIS2BIM.GetWebServerData("HTMLLocationData", "Other", "URL") self.URLSearch = GIS2BIM.GetWebServerData( "HTMLLocationDataJSmapfilesearch", "Other", "URL") self.URLUpdate = GIS2BIM.GetWebServerData( "HTMLLocationDataJSmapbboxupdate", "Other", "URL") #self.filepathBaseMap = GIS2BIM.DownloadURL(GIS2BIM_FreeCAD.CreateTempFolder(self.tempFolderName),self.URLmap,"basemap.html") self.filepathJSSearch = GIS2BIM.DownloadURL( GIS2BIM_FreeCAD.CreateTempFolder(self.tempFolderName), self.URLSearch, "map_filesearch.js") self.filepathJSUpdate = GIS2BIM.DownloadURL( GIS2BIM_FreeCAD.CreateTempFolder(self.tempFolderName), self.URLUpdate, "map_bboxupdate.js") self.filepathBaseMap = "C:/Users/mikev/OneDrive/Bureaublad/TEMP/GIStemp/basemapNewVersion.html" self.tempFolderPath = GIS2BIM_FreeCAD.CreateTempFolder( self.tempFolderName) self.filepathNewMap = self.tempFolderPath + "/map.html" self.temptxtPath = self.tempFolderPath + "/temp.txt" #Set Style self.setStyleSheet(GIS2BIM_GUI.StyleSheet) #margin: 2px for file in os.listdir(self.tempFolderPath): # Cleanup of txt-files if file.endswith(".txt"): self.filename = self.tempFolderPath + "/" + file os.remove(self.filename) #self.application = QApplication(sys.argv) #extend this to kill the webengineprocess #Overall Grid grid = QtWidgets.QGridLayout() grid.addWidget(self.webViewGroup(), 0, 0) grid.addWidget(self.locationGroup(), 1, 0, QtCore.Qt.AlignTop) grid.addLayout(self.buttonGroup(), 2, 0) grid.setRowStretch(0, 3) self.setLayout(grid) self.setWindowTitle("Set Geographic Location") self.resize(920, 900) #Download map.html from GIS2BIM Repository and set projectlocation os.remove(self.filepathNewMap) BaseMap = open(self.filepathBaseMap, "r") BaseMapstr = BaseMap.read() Newstr = BaseMapstr.replace("51LAT", self.lat) Newstr = Newstr.replace("4LONG", self.lon) Newstr = Newstr.replace("FOLDERNAME", self.temptxtPath) Newstr = Newstr.replace("WBBOX", self.bboxWidthStart) Newstr = Newstr.replace("HBBOX", self.bboxHeightStart) open(self.filepathNewMap, "x") f1 = open(self.filepathNewMap, "w") f1.write(Newstr) f1.close()