Skip to content

Commit

Permalink
export selected features only
Browse files Browse the repository at this point in the history
  • Loading branch information
Riccardo Klinger committed Dec 16, 2014
1 parent a61ee9a commit 79b8c6b
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 29 deletions.
7 changes: 5 additions & 2 deletions qgis2leaf_exec.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
def layerstyle_single(layer):
return color_code

def qgis2leaf_exec(outputProjectFileName, basemapName, basemapMeta, basemapAddress, width, height, extent, full, layer_list, visible, opacity_raster, encode2JSON, cluster_set, webpage_name, webmap_head,webmap_subhead, legend, locate, address, precision, labels, labelhover, matchCRS):
def qgis2leaf_exec(outputProjectFileName, basemapName, basemapMeta, basemapAddress, width, height, extent, full, layer_list, visible, opacity_raster, encode2JSON, cluster_set, webpage_name, webmap_head,webmap_subhead, legend, locate, address, precision, labels, labelhover, matchCRS, selected):
# supply path to where is your qgis installed
#QgsApplication.setPrefixPath("/path/to/qgis/installation", True)

Expand Down Expand Up @@ -216,7 +216,10 @@ def qgis2leaf_exec(outputProjectFileName, basemapName, basemapMeta, basemapAddre
if safeLayerName == re.sub('[\W_]+', '', j):
if i.providerType() != 'WFS' or encode2JSON == True and i:
if i.type() ==0:
qgis.core.QgsVectorFileWriter.writeAsVectorFormat(i,dataStore + os.sep + 'exp_' + safeLayerName + '.js', 'utf-8', exp_crs, 'GeoJson', layerOptions=["COORDINATE_PRECISION="+str(precision)])
if selected == 1:
qgis.core.QgsVectorFileWriter.writeAsVectorFormat(i,dataStore + os.sep + 'exp_' + safeLayerName + '.js', 'utf-8', exp_crs, 'GeoJson', 1, layerOptions=["COORDINATE_PRECISION="+str(precision)])
if selected == 0:
qgis.core.QgsVectorFileWriter.writeAsVectorFormat(i,dataStore + os.sep + 'exp_' + safeLayerName + '.js', 'utf-8', exp_crs, 'GeoJson', 0, layerOptions=["COORDINATE_PRECISION="+str(precision)])
#now change the data structure to work with leaflet:

with open(dataStore + os.sep + 'exp_' + safeLayerName + '.js', "r+") as f2:
Expand Down
10 changes: 6 additions & 4 deletions qgis2leafdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,6 @@ def __init__(self):
continue
else:
attrFields.append(key)

#attrFields = ['OSM Standard', 'OSM Black & White', 'OSM DE', 'OSM HOT', 'OpenSeaMap', 'Thunderforest Cycle', 'Thunderforest Transport', 'Thunderforest Landscape', 'Thunderforest Outdoors', 'OpenMapSurfer Roads', 'OpenMapSurfer adminb', 'OpenMapSurfer roadsg', 'MapQuestOpen OSM', 'MapQuestOpen Aerial', 'Stamen Terrain','Stamen Toner', 'Stamen Watercolor', 'OpenWeatherMap Clouds', 'OpenWeatherMap Precipitation', 'OpenWeatherMap Rain', 'OpenWeatherMap Pressure','OpenWeatherMap Wind', 'OpenWeatherMap Temp', 'OpenWeatherMap Snow']
self.ui.comboBox.addItems(attrFields)
extFields = ['canvas extent', 'layer extent']
self.ui.comboBox_2.addItems(extFields)
Expand Down Expand Up @@ -181,9 +179,10 @@ def SaveDialogSettings(self):
self.locate = self.ui.locate.isChecked()
self.address = self.ui.address.isChecked()
self.precision = self.ui.spinBox.value()
self.selected = self.ui.exp_selected.isChecked()
#due to multiple basemaps we don't store basemaps ATM
#my_settings = {"Foldername": self.outFileName, "Basemap": self.basemapname, "Width": self.width, "Height": self.height, "Extent": self.extent, "Fullscreen": self.full_screen, "Visibility": self.visible, "Opacity_Control": self.opacity, "Encoding_WFS": self.encode2JSON, "Cluster": self.createcluster, "Webpage_Name": self.webpage_name, "Webmap_Title": self.webmap_head, "Webmap_SubTitle": self.webmap_subhead, "Legend": self.legend,"Locate": self.locate, "Address": self.address}
my_settings = {"Foldername": self.outFileName, "Width": self.width, "Height": self.height, "Extent": self.extent, "Fullscreen": self.full_screen, "Visibility": self.visible, "Opacity_Control": self.opacity, "Encoding_WFS": self.encode2JSON, "Cluster": self.createcluster, "Webpage_Name": self.webpage_name, "Webmap_Title": self.webmap_head, "Webmap_SubTitle": self.webmap_subhead, "Legend": self.legend,"Locate": self.locate, "Address": self.address, "precision": self.precision}
my_settings = {"Foldername": self.outFileName, "Width": self.width, "Height": self.height, "Extent": self.extent, "Fullscreen": self.full_screen, "Visibility": self.visible, "Opacity_Control": self.opacity, "Encoding_WFS": self.encode2JSON, "Cluster": self.createcluster, "Webpage_Name": self.webpage_name, "Webmap_Title": self.webmap_head, "Webmap_SubTitle": self.webmap_subhead, "Legend": self.legend,"Locate": self.locate, "Address": self.address, "precision": self.precision, "selected": self.selected}

with open(str(self.ui.lineEdit_3.text()), 'wb') as f:
w = csv.DictWriter(f, my_settings.keys())
Expand Down Expand Up @@ -232,6 +231,8 @@ def LoadDialogSettings(self):
self.ui.createcluster.setChecked(False)
if rows["Cluster"] == "True":
self.ui.createcluster.setChecked(True)
if rows["selected"] == "True":
self.ui.exp_selected.setChecked(True)
self.ui.webpage_name.setText(rows['Webpage_Name'])
self.ui.webmap_head.setText(rows['Webmap_Title'])
self.ui.webmap_subhead.setText(rows['Webmap_SubTitle'])
Expand Down Expand Up @@ -286,11 +287,12 @@ def export2leaf(self):
self.labels = self.ui.extract_labels.isChecked()
self.labelshover = self.ui.labelsonhover.isChecked()
self.matchCRS = self.ui.matchCRS.isChecked()
self.selected = self.ui.exp_selected.isChecked()
print self.precision
if self.matchCRS == True:
self.createcluster = False

for i in range(len(self.layer_list)):
self.layer_list[i] = re.sub('[\W_]+', '', self.layer_list[i].text())
qgis2leaf_exec(self.outFileName, self.basemapName, self.basemapMeta, self.basemapAddress, self.width, self.height, self.extent, self.full_screen, self.layer_list, self.visible, self.opacity, self.encode2JSON,self.createcluster, self.webpage_name, self.webmap_head,self.webmap_subhead, self.legend,self.locate,self.address, self.precision, self.labels, self.labelshover, self.matchCRS)
qgis2leaf_exec(self.outFileName, self.basemapName, self.basemapMeta, self.basemapAddress, self.width, self.height, self.extent, self.full_screen, self.layer_list, self.visible, self.opacity, self.encode2JSON,self.createcluster, self.webpage_name, self.webmap_head,self.webmap_subhead, self.legend,self.locate,self.address, self.precision, self.labels, self.labelshover, self.matchCRS, self.selected)
self.close()
Loading

0 comments on commit 79b8c6b

Please sign in to comment.