当前位置: 首页>>代码示例>>Python>>正文


Python QgsCoordinateReferenceSystem.createFromProj4方法代码示例

本文整理汇总了Python中qgis.core.QgsCoordinateReferenceSystem.createFromProj4方法的典型用法代码示例。如果您正苦于以下问题:Python QgsCoordinateReferenceSystem.createFromProj4方法的具体用法?Python QgsCoordinateReferenceSystem.createFromProj4怎么用?Python QgsCoordinateReferenceSystem.createFromProj4使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qgis.core.QgsCoordinateReferenceSystem的用法示例。


在下文中一共展示了QgsCoordinateReferenceSystem.createFromProj4方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: calculateSquare

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
    def calculateSquare(self, point):
        '''
        point in layer coordinates(QgsPoint)
        '''
        mapCrs = self.canvas.mapSettings().destinationCrs()
        utmCrs = QgsCoordinateReferenceSystem()
        utmCrs.createFromProj4(self.proj4Utm(point))
        ctFwd = QgsCoordinateTransform(mapCrs, utmCrs)
        ctBwd = QgsCoordinateTransform(utmCrs, mapCrs)

        pointGeom = QgsGeometry.fromPoint(point)
        pointGeom.transform(ctFwd)
        pointUtm = QgsPoint(pointGeom.asPoint())

        # calculate d
        d = self.diagonal/(2*(2**0.5))

        l = pointUtm.x() - d
        b = pointUtm.y() - d
        r = pointUtm.x() + d
        t = pointUtm.y() + d

        p1 = QgsGeometry.fromPoint(QgsPoint(l, b))
        p2 = QgsGeometry.fromPoint(QgsPoint(r, b))
        p3 = QgsGeometry.fromPoint(QgsPoint(r, t))
        p4 = QgsGeometry.fromPoint(QgsPoint(l, t))

        p1.transform(ctBwd)
        p2.transform(ctBwd)
        p3.transform(ctBwd)
        p4.transform(ctBwd)

        mapPol = [p1.asPoint(), p2.asPoint(), p3.asPoint(), p4.asPoint(), p1.asPoint()]

        return mapPol
开发者ID:APIS-Luftbildarchiv,项目名称:APIS,代码行数:37,代码来源:apis_map_tools.py

示例2: __init__

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
    def __init__(self, plugin, layerDef, creditVisibility=1):
        QgsPluginLayer.__init__(self, TileLayer.LAYER_TYPE, layerDef.title)
        self.plugin = plugin
        self.iface = plugin.iface
        self.layerDef = layerDef
        self.creditVisibility = 1 if creditVisibility else 0

        # set custom properties
        self.setCustomProperty("title", layerDef.title)
        self.setCustomProperty("credit", layerDef.credit)  # TODO: need to remove
        self.setCustomProperty("serviceUrl", layerDef.serviceUrl)
        self.setCustomProperty("yOriginTop", layerDef.yOriginTop)
        self.setCustomProperty("zmin", layerDef.zmin)
        self.setCustomProperty("zmax", layerDef.zmax)
        if layerDef.bbox:
            self.setCustomProperty("bbox", layerDef.bbox.toString())
        self.setCustomProperty("creditVisibility", self.creditVisibility)

        # create a QgsCoordinateReferenceSystem instance if plugin has no instance yet
        if layerDef.proj is not None:
            customcrs = QgsCoordinateReferenceSystem()
            customcrs.createFromProj4(layerDef.proj)
        else:
            customcrs = QgsCoordinateReferenceSystem(layerDef.crs)
        self.setCrs(customcrs)
        if layerDef.bbox:
            self.setExtent(BoundingBox.degreesToMercatorMeters(layerDef.bbox).toQgsRectangle())
        else:
            self.setExtent(QgsRectangle(-layerDef.TSIZE1, -layerDef.TSIZE1, layerDef.TSIZE1, layerDef.TSIZE1))
        self.setValid(True)
        self.tiles = None
        self.useLastZoomForPrint = False
        self.canvasLastZoom = 0
        self.setTransparency(LayerDefaultSettings.TRANSPARENCY)
        self.setBlendModeByName(LayerDefaultSettings.BLEND_MODE)
        self.setSmoothRender(LayerDefaultSettings.SMOOTH_RENDER)

        # downloader
        self.downloader = Downloader(self)
        self.downloader.userAgent = QGISSettings.get_default_user_agent()
        self.downloader.default_cache_expiration = QGISSettings.get_default_tile_expiry()
        self.downloader.max_connection = PluginSettings.default_tile_layer_conn_count()  #TODO: Move to INI files
        QObject.connect(self.downloader, SIGNAL("replyFinished(QString, int, int)"), self.networkReplyFinished)

        #network
        self.downloadTimeout = QGISSettings.get_default_network_timeout()

        # multi-thread rendering
        self.eventLoop = None
        QObject.connect(self, SIGNAL("fetchRequest(QStringList)"), self.fetchRequest)
        if self.iface:
            QObject.connect(self, SIGNAL("showMessage(QString, int)"), self.showStatusMessageSlot)
            QObject.connect(self, SIGNAL("showBarMessage(QString, QString, int, int)"), self.showBarMessageSlot)
开发者ID:ANAT01,项目名称:qgis-plugin-quickmapservices,代码行数:55,代码来源:tilelayer.py

示例3: testCrsConversion

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
 def testCrsConversion(self):
     self.assertFalse(GdalUtils.gdal_crs_string(QgsCoordinateReferenceSystem()))
     self.assertEqual(GdalUtils.gdal_crs_string(QgsCoordinateReferenceSystem('EPSG:3111')), 'EPSG:3111')
     self.assertEqual(GdalUtils.gdal_crs_string(QgsCoordinateReferenceSystem('POSTGIS:3111')), 'EPSG:3111')
     self.assertEqual(GdalUtils.gdal_crs_string(QgsCoordinateReferenceSystem(
         'proj4: +proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs')),
         'EPSG:20936')
     crs = QgsCoordinateReferenceSystem()
     crs.createFromProj4(
         '+proj=utm +zone=36 +south +a=600000 +b=70000 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs')
     self.assertTrue(crs.isValid())
     self.assertEqual(GdalUtils.gdal_crs_string(crs),
                      '+proj=utm +zone=36 +south +a=600000 +b=70000 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs')
开发者ID:lyhkop,项目名称:QGIS,代码行数:15,代码来源:GdalAlgorithmsTest.py

示例4: coordRefSys

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
 def coordRefSys(self, mapCoordSys):
     epsg = self.epsgList[0]
     coordRefSys = QgsCoordinateReferenceSystem()
     if QGis.QGIS_VERSION_INT >= 10900:
         idEpsgRSGoogle = "EPSG:%d" % epsg
         createCrs = coordRefSys.createFromOgcWmsCrs(idEpsgRSGoogle)
     else:
         idEpsgRSGoogle = epsg
         createCrs = coordRefSys.createFromEpsg(idEpsgRSGoogle)
     if not createCrs:
         google_proj_def = "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 "
         google_proj_def += "+units=m [email protected] +wktext +no_defs"
         isOk = coordRefSys.createFromProj4(google_proj_def)
         if not isOk:
             return None
     return coordRefSys
开发者ID:TapiwaThato,项目名称:qgis-openlayers-plugin,代码行数:18,代码来源:weblayer.py

示例5: coordRefSys

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
 def coordRefSys(self, mapCoordSys):
     epsg = self.epsgList[0]
     coordRefSys = QgsCoordinateReferenceSystem()
     if QGis.QGIS_VERSION_INT >= 10900:
         idEpsgRSGoogle = "EPSG:%d" % epsg
         createCrs = coordRefSys.createFromOgcWmsCrs(idEpsgRSGoogle)
     else:
         idEpsgRSGoogle = epsg
         createCrs = coordRefSys.createFromEpsg(idEpsgRSGoogle)
     if not createCrs:
         proj_def =  "+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 "
         proj_def += "+towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
         isOk = coordRefSys.createFromProj4(proj_def)
         if not isOk:
             return None
     return coordRefSys
开发者ID:nakijun,项目名称:qgis-tmsforkorea-plugin,代码行数:18,代码来源:naver_maps.py

示例6: spQgsVectorLayer

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
def spQgsVectorLayer(name):
    spatial = robjects.r.get(name)
    type = spType(spatial)
    layer = QgsVectorLayer(type, unicode(name), "memory")
    crs = QgsCoordinateReferenceSystem()
    proj = spatial.do_slot('proj4string').do_slot('projargs')[0]
    if crs.createFromProj4(proj):
        layer.setCrs(crs)
    else:
        print "Error: unable to parse proj4string: using QGIS default"
    provider = layer.dataProvider()
    fields = spFields(spatial)
    provider.addAttributes(fields)
    feats = spData(spatial)
    features = [spFeature(*feat) for feat in feats]
    provider.addFeatures(features)
    layer.updateExtents()
    return layer
开发者ID:karstenv,项目名称:manageR,代码行数:20,代码来源:converters.py

示例7: makeCoordinateReferenceSystem

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
def makeCoordinateReferenceSystem(latitude, utmZone):
    """
    Creates a coordinate reference system, for instance for converting to this system.

    Args:
        param1: The WGS84 latitude.
        param2: The UTM zone number.

    Returns:
        A valid QgsCoordinateReferenceSystem or None

    >>> makeCoordinateReferenceSystem(13.41250188, 48) #doctest: +ELLIPSIS
    <qgis._core.QgsCoordinateReferenceSystem object at 0x...>

    >>> makeCoordinateReferenceSystem(13.41250188, 21442) is None
    True
    """
    crs = QgsCoordinateReferenceSystem()
    proj4String = "+proj=utm +ellps=WGS84 +datum=WGS84 +units=m +zone=%s" % utmZone
    if latitude < 0:
        proj4String += " +south"
    result = crs.createFromProj4(proj4String)
    return crs if result and crs.isValid() else None
开发者ID:EdFarrell,项目名称:MilkMachine,代码行数:25,代码来源:MMExport.py

示例8: __init__

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
    def __init__(self, plugin, layerDef, creditVisibility=1):
        QgsPluginLayer.__init__(self, TileLayer.LAYER_TYPE, layerDef.title)
        self.plugin = plugin
        self.iface = plugin.iface
        self.layerDef = layerDef
        self.creditVisibility = 1 if creditVisibility else 0

        # set custom properties
        self.setCustomProperty("title", layerDef.title)
        self.setCustomProperty("credit", layerDef.credit)  # TODO: need to remove
        self.setCustomProperty("serviceUrl", layerDef.serviceUrl)
        self.setCustomProperty("yOriginTop", layerDef.yOriginTop)
        self.setCustomProperty("zmin", layerDef.zmin)
        self.setCustomProperty("zmax", layerDef.zmax)
        if layerDef.bbox:
            self.setCustomProperty("bbox", layerDef.bbox.toString())
        self.setCustomProperty("creditVisibility", self.creditVisibility)

        # set standard/custom crs
        self.setCrs(self.CRS_3857)
        try:
            crs = None
            if layerDef.epsg_crs_id is not None:
                crs = QgsCoordinateReferenceSystem(layerDef.epsg_crs_id, QgsCoordinateReferenceSystem.EpsgCrsId)
            if layerDef.postgis_crs_id is not None:
                crs = QgsCoordinateReferenceSystem(layerDef.postgis_crs_id, QgsCoordinateReferenceSystem.PostgisCrsId)
            if layerDef.custom_proj is not None:
                # create form proj4 str
                custom_crs = QgsCoordinateReferenceSystem()
                custom_crs.createFromProj4(layerDef.custom_proj)
                # try to search in db
                searched = custom_crs.findMatchingProj()
                if searched:
                    crs = QgsCoordinateReferenceSystem(searched, QgsCoordinateReferenceSystem.InternalCrsId)
                else:
                    # create custom and use it
                    custom_crs.saveAsUserCRS('quickmapservices %s' % layerDef.title)
                    searched = custom_crs.findMatchingProj()
                    if searched:
                        crs = QgsCoordinateReferenceSystem(searched, QgsCoordinateReferenceSystem.InternalCrsId)
                    else:
                        crs = custom_crs

            if crs:
                self.setCrs(crs)
        except:
            msg = self.tr("Custom crs can't be set for layer {0}!").format(layerDef.title)
            self.showBarMessage(msg, QgsMessageBar.WARNING, 4)

        if layerDef.bbox:
            self.setExtent(BoundingBox.degreesToMercatorMeters(layerDef.bbox).toQgsRectangle())
        else:
            self.setExtent(QgsRectangle(-layerDef.TSIZE1, -layerDef.TSIZE1, layerDef.TSIZE1, layerDef.TSIZE1))
        self.setValid(True)
        self.tiles = None
        self.useLastZoomForPrint = False
        self.canvasLastZoom = 0
        self.setTransparency(LayerDefaultSettings.TRANSPARENCY)
        self.setBlendModeByName(LayerDefaultSettings.BLEND_MODE)
        self.setSmoothRender(LayerDefaultSettings.SMOOTH_RENDER)
        self.setGrayscaleRender(LayerDefaultSettings.GRAYSCALE_RENDER)
        self.setBrigthness(LayerDefaultSettings.BRIGTNESS)
        self.setContrast(LayerDefaultSettings.CONTRAST)

        # downloader
        self.downloader = Downloader(self)
        self.downloader.userAgent = QGISSettings.get_default_user_agent()
        self.downloader.default_cache_expiration = QGISSettings.get_default_tile_expiry()
        self.downloader.max_connection = PluginSettings.default_tile_layer_conn_count()  #TODO: Move to INI files
        QObject.connect(self.downloader, SIGNAL("replyFinished(QString, int, int)"), self.networkReplyFinished)

        #network
        self.downloadTimeout = QGISSettings.get_default_network_timeout()

        # multi-thread rendering
        self.eventLoop = None
        QObject.connect(self, SIGNAL("fetchRequest(QStringList)"), self.fetchRequest)
        if self.iface:
            QObject.connect(self, SIGNAL("showMessage(QString, int)"), self.showStatusMessageSlot)
            QObject.connect(self, SIGNAL("showBarMessage(QString, QString, int, int)"), self.showBarMessageSlot)
开发者ID:MatzFan,项目名称:quickmapservices,代码行数:82,代码来源:tilelayer.py

示例9: importuj

# 需要导入模块: from qgis.core import QgsCoordinateReferenceSystem [as 别名]
# 或者: from qgis.core.QgsCoordinateReferenceSystem import createFromProj4 [as 别名]
 def importuj(self):
     
     #ponizsze troche z lenistwa - pozostalosc po starym kodzie, nie chce mi sie szukac zmiennych i dopisywac
     #self przed kazda
     swde_file = self.swde_file
     tableListString = self.tableListString
     srid = self.srid
     pyproj4strFrom = self.pyproj4strFrom
     pyproj4strTo = self.pyproj4strTo
     rodz_importu = self.rodz_importu
     pgserver = self.pgserver
     pgbase = self.pgbase
     pguser = self.pguser
     pguserpswd = self.pguserpswd
     txtcodec = self.txtcodec
     id_zd = self.id_zd
     
     crs_source = QgsCoordinateReferenceSystem()
     crs_source.createFromProj4(str(pyproj4strFrom))
     crs_dest = QgsCoordinateReferenceSystem()
     crs_dest.createFromProj4(str(pyproj4strTo))
     xform = QgsCoordinateTransform(crs_source, crs_dest)
     
     
     tableList = [] #tabela nazw tabel w bazie
     tableList = tableListString.split(',')
     
     import_testowy = False
     if rodz_importu == 'testowyJEW' or rodz_importu == 'testowyOBR' or rodz_importu == 'testowyDZE':
         import_testowy = True
     
     for tabName in tableList:
         if tabName <> 'NONE':
             print tabName
     print srid
     print pyproj4strFrom
     print pyproj4strTo
     print "identyfikator jednostki rejestrowej:", self.id_jed_rej
     print "ilość linii", self.ilosc_linii
     print "rodzaj importu", rodz_importu
     print pgserver, pgbase, pguser, pguserpswd
     
     
     uni = lambda s: s if type(s) == unicode else unicode(s,'utf-8','replace')
     
     try:
         f = open(swde_file, "r")
         if f == 0 or f.closed:
             print u"Przed rozpoczęciem importu musisz wczytać plik"
         else:
             if id_zd == 'NONE': #parametr wybierany przez uzytkownika, jesli jest inny niz NONE
                 self.id_jed_rej  = str(self.id_jed_rej).rstrip() #zostanie uzyty jako wymuszenie nazwy zbioru danych
             else:                       #w innym przypadku uzyta zostanie nazwa jednostki rej wyłuskana przez program
                 self.id_jed_rej = id_zd
             
                 
                 
      
             
             #lista column tablicowych - do innej obróbki niż pozostałe
             arrayCols = ['G5RADR', 'G5RPWL', 'G5RPWD', 'G5RKRG', 'G5RSKD', 'G5RDOK', 'G5RDZE', 'G5ROBJ']
             #słownik kolumn do zmiany nazwy - zmieniamy polskie znaki w nazwie kolumn bo trochę to broi przy pytaniach SQL
             plcharCols =  {u'G5RŻONA':'G5RZONA', u'G5RMĄŻ':'G5RMAZ', u'G5RPWŁ':'G5RPWL', u'G5RWŁ':'G5RWL', u'G5RWŁS':'G5RWLS', u'G5RWŁD':'G5RWLD'}
             g5Cols = {} #słownik zbudowany: {'nazwa_tabeli':Tablica_Column[]} - posluzy do inicjacji tabel - obiektow robdbtable 
             #inicjalizacja  bazy danych
             rdbase = RobDBBase(pgserver, pgbase, pguser, pguserpswd,1)
             rdg5Table = {}  #słownik zawiera następującą strukturę: {'nazwa_tabeli': Obiekt_rdbtable}
             
             #okreslenie rodzaju importu
             
             if rodz_importu == 'zwykly' or rodz_importu == 'aktualizacja':
                 Cols = ['G5IDJ', 'G5PEW', 'G5NAZ', 'G5DTW', 'G5DTU','G5RKRG']#g5jew
                 g5Cols['G5JEW'] = Cols
                 Cols = [ 'G5IDD',  'GEOM',    'NR', 'G5IDR', 'G5NOS', 'G5WRT', 'G5DWR', 'G5PEW', 'G5RZN', 'G5DWW', 'G5RADR', 'G5RPWL', 'G5RPWD', 'G5RKRG', 'G5RJDR', 'G5DTW', 'G5DTU'] #g5dze
                 g5Cols['G5DZE'] = Cols
                 Cols = [ 'G5NRO', 'G5PEW', 'G5NAZ', 'G5DTW', 'G5DTU', 'G5RKRG', 'G5RJEW', 'IDJEW'] #g5obr
                 g5Cols['G5OBR'] = Cols
                 Cols = ['G5PLC', 'G5PSL', 'G5NIP', 'G5NZW', 'G5PIM', 'G5DIM', 'G5OIM', 'G5MIM', 'G5OBL', 'G5DOS', 'G5RADR', 'G5STI', 'G5DTW', 'G5DTU'] #g5osf
                 g5Cols['G5OSF'] = Cols
                 Cols = [ 'G5STI', 'G5NPE', 'G5NSK', 'G5RGN', 'G5NIP', 'G5NZR', 'G5NRR', 'G5NSR', 'G5RADR', 'G5DTW', 'G5DTU'] #g5ins
                 g5Cols['G5INS'] = Cols
                 Cols = ['G5RZONA',  'G5RMAZ', 'G5DTW', 'G5DTU'] #g5mlz
                 g5Cols['G5MLZ'] = Cols
                 Cols = [ 'G5STI', 'G5NPE', 'G5NSK', 'G5RGN', 'G5NIP', 'G5RSKD', 'G5RADR', 'G5DTW', 'G5DTU'] #g5osz
                 g5Cols['G5OSZ'] = Cols
                 Cols = ['G5TJR', 'G5IJR', 'G5RGN', 'G5RWL', 'G5RWLS', 'G5RWLD', 'G5ROBR', 'G5DTW', 'G5DTU' ] #g5jdr
                 g5Cols['G5JDR'] = Cols
                 Cols = [ 'G5UD', 'G5RWLS', 'G5RPOD', 'G5DTW', 'G5DTU'] #g5udz
                 g5Cols['G5UDZ'] = Cols
                 Cols = [ 'G5RWD', 'G5UD', 'G5RWLD', 'G5RPOD', 'G5DTW', 'G5DTU'] #g5udw
                 g5Cols['G5UDW'] = Cols
                 Cols = [ 'G5OFU', 'G5OZU', 'G5OZK', 'G5PEW', 'G5RDZE', 'G5DTW', 'G5DTU'] #g5klu
                 g5Cols['G5KLU'] = Cols
                 Cols = [ 'G5IDT', 'G5OZU','G5OFU', 'G5PEW', 'G5RKRG', 'G5ROBR', 'G5DTW', 'G5DTU'] #g5uzg
                 g5Cols['G5UZG'] = Cols
                 Cols = ['G5KDK', 'G5DTD', 'G5DTP', 'G5SYG', 'G5NSR', 'G5OPD', 'G5RDOK', 'G5DTW', 'G5DTU'] #g5dok
                 g5Cols['G5DOK'] = Cols
                 Cols = ['G5TAR', 'G5NAZ', 'G5KRJ', 'G5WJD', 'G5PWJ', 'G5GMN', 'G5ULC', 'G5NRA', 'G5NRL', 'G5MSC', 'G5KOD', 'G5PCZ', 'G5DTW', 'G5DTU']#g5adr
                 g5Cols['G5ADR'] = Cols
                 Cols = ['G5IDB', 'G5FUZ', 'G5WRT', 'G5DWR', 'G5RBB', 'G5PEW', 'G5PEU', 'G5RZN', 'G5SCN', 'G5RADR', 'G5RPWL', 'G5RPWD', 'G5RKRG', 'G5RJDR','G5RDZE', 'G5DTU', 'G5DTW']#g5bud
#.........这里部分代码省略.........
开发者ID:robbur,项目名称:qgisswde2,代码行数:103,代码来源:swde_to_postgis_class.py


注:本文中的qgis.core.QgsCoordinateReferenceSystem.createFromProj4方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。