Skip to content

Instantly share code, notes, and snippets.

View NathanW2's full-sized avatar

Nathan Woodrow NathanW2

View GitHub Profile
@NathanW2
NathanW2 / snapping.py
Last active October 17, 2015 11:54 — forked from mtravis/snapping.py
turn snapping on/off in QGIS
from qgis.utils import iface
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def snapping_toggle():
#layer = QgsMapLayerRegistry.instance().mapLayersByName("topographicline")[0]
layer = iface.activeLayer()
_, enabled, _, _, _, _ = QgsProject.instance().snapSettingsForLayer(layer.id())
QgsProject.instance().setSnapSettingsForLayer(layer.id(), not enabled, 0, 1, 10, True)
print "set {} snapping {}".format(layer.name(), "Off" if not enabled else "On")
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentException: Requested value 'Polygon' was not found.
at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
at DMS.SyncFramework.Models.GeometryColumnInfoDB.get_geometry_type_as_integer() in c:\TeamCityBuildAgent\work\15504c2943e7c40b\SyncFramework\SyncFramework\Models\GeometryColumnInfoDB.cs:line 234
at DMS.SyncManager.SyncManagerGui.selectTablesR_SelectedIndexChanged(Object sender, EventArgs e) in c:\TeamCityBuildAgent\work\15504c2943e7c40b\SyncManager\SyncManager\SyncManager.cs:line 1523
QToolTip
{
border: 1px solid #222;
background-color: #333;
color: @text;
}
QWidget
{
color: @text;
from PyQt4.QtCore import QThread, QObject, pyqtSignal
import time
class Worker(QObject):
done = pyqtSignal()
finalResult = pyqtSignal(int)
def __init__(self, parent=None):
super(Worker, self).__init__(parent)
@NathanW2
NathanW2 / export.py
Created July 5, 2015 12:43
Export Symbols
import os
from PyQt4.QtCore import *
from PyQt4.QtGui import *
outdir = '~/temp/'
size = QSize(32, 32)
def get_gen(name):
gen = QSvgGenerator()
@NathanW2
NathanW2 / bbox
Last active August 29, 2015 14:23 — forked from antoniolocandro/bbox
from qgis.utils import iface
from qgis.core import QGis
from qgiscommand.command import command
@command()
def bbox():
layer = iface.activeLayer()
def pbounds (Lextent,s):
e = Lextent
import re
from qgis.core import QgsMapLayerRegistry
from qgis.utils import iface
from qgiscommand.command import command, complete_with, check
from qgiscommand.qgis_commands import layer_by_name, layers
def layer_exists(data):
try:
layer_by_name(data)
@NathanW2
NathanW2 / gist:4ae6c6be135cf3e6c6e3
Last active August 29, 2015 14:19
Command Bar init file loaded from qgis2\python\commandbar
# Command bar init file. Lines starting with # are ignored
alias lp load-project
alias @ alias
@NathanW2
NathanW2 / gist:3b9dc774f6086c70c7f5
Last active August 29, 2015 14:19
Project auto complete for QGIS Command Bar
def complete_projects(argname, data):
# TODO Add auto complete for paths
projects = []
for path in project_paths:
projects += [os.path.basename(f) for f in glob.glob(path + "/*.qgs")]
return projects
@command.command("Name")
@command.complete_with(name=complete_projects)
def load_project(name):
sym = QgsLineSymbolV2.createSimple({})
r = QgsRuleBasedRendererV2(sym)
sym2 = QgsLineSymbolV2.createSimple({})
exp = "sewer_type = 'Pipe'"
rule = QgsRuleBasedRendererV2.Rule(sym2, filterExp=exp)
r.rootRule().appendChild(rule)
iface.activeLayer().setRendererV2(r)