本文整理汇总了Python中qgis.core.QgsCoordinateReferenceSystem.createFromString方法的典型用法代码示例。如果您正苦于以下问题:Python QgsCoordinateReferenceSystem.createFromString方法的具体用法?Python QgsCoordinateReferenceSystem.createFromString怎么用?Python QgsCoordinateReferenceSystem.createFromString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsCoordinateReferenceSystem
的用法示例。
在下文中一共展示了QgsCoordinateReferenceSystem.createFromString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: find
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromString [as 别名]
def find(self, to_find):
if self.settings.value("qftsfilepath") == '':
return
if not self.isValid:
self.message.emit("Cannot search in project. QuickFinder file is probably currently in use.",QgsMessageBar.WARNING)
return
# add star after each word except numbers
to_find = to_find.split(' ')
for i,word in enumerate(to_find):
try:
int(word)
except ValueError:
to_find[i] = '%s*' % word
to_find = ' '.join(to_find)
# FTS request
sql = "SELECT search_id,content,x,y,wkb_geom FROM quickfinder_data WHERE content MATCH ?"
cur = self.conn.cursor()
catLimit = self.settings.value("categoryLimit")
totalLimit = self.settings.value("totalLimit")
catFound = {}
for row in cur.execute(sql, [to_find]):
search_id, content, x, y, wkb_geom = row
if catFound.has_key(search_id):
if catFound[search_id] >= catLimit:
continue
catFound[search_id] += 1
else:
catFound[search_id] = 1
if not self._searches.has_key(search_id):
continue
gs = self._searches[search_id].geometryStorage
geometry = QgsGeometry()
if gs == 'wkb':
geometry.fromWkb(binascii.a2b_hex(wkb_geom))
else:
# wkt or extent are stored as wkt
geometry = geometry.fromWkt(wkb_geom)
crs = QgsCoordinateReferenceSystem()
crs.createFromString(self._searches[search_id].srid)
self.result_found.emit(self,
self._searches[search_id].searchName,
content,
geometry,
crs.postgisSrid())
if sum(catFound.values()) >= totalLimit:
break
示例2: find
# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromString [as 别名]
def find(self, toFind):
if self.settings.value("qftsfilepath") == "":
return
if not self.isValid:
self.message.emit(
"Cannot search in project. QuickFinder file is probably currently in use.", QgsMessageBar.WARNING
)
return
# add star after each word except numbers
toFind = toFind.split(" ")
for i, word in enumerate(toFind):
try:
int(word)
except ValueError:
toFind[i] = "%s*" % word
toFind = " ".join(toFind)
# FTS request
sql = "SELECT search_id,content,x,y,wkb_geom FROM quickfinder_data WHERE content MATCH ?"
cur = self.conn.cursor()
cur.execute(sql, [toFind])
catLimit = self.settings.value("categoryLimit")
totalLimit = self.settings.value("totalLimit")
nFound = 0
catFound = {}
while True:
s = cur.fetchone()
if s is None:
return
search_id, content, x, y, wkb_geom = s
if catFound.has_key(search_id):
if catFound[search_id] >= catLimit:
continue
catFound[search_id] += 1
else:
catFound[search_id] = 1
if not self._searches.has_key(search_id):
continue
geometry = QgsGeometry()
geometry.fromWkb(binascii.a2b_hex(wkb_geom))
crs = QgsCoordinateReferenceSystem()
crs.createFromString(self._searches[search_id].srid)
self.resultFound.emit(self, self._searches[search_id].searchName, content, geometry, crs.postgisSrid())
nFound += 1
if nFound >= totalLimit:
break