<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi, i'm tring the python's tutorial<div>but i can't get it working :-/</div><div>i'm on osx (10.5.4 ),</div><div>QMake version 2.01a</div><div>Using Qt version 4.4.0 in /Library/Frameworks</div><div> </div><div>- qgis builded from  svn (revision : 9210)</div><div><br></div><div>i downloaded the svn code in :</div><div>/GIS/QGIS/qgis_unstable</div><div>and configured cmake to build qgis in :</div><div>CMAKE_INSTALL_PREFIX             /GIS/QGIS/qgis_unstable </div><div><br></div><div>these the python QT code i used </div><div>(add vector layer example token from the tutorial :</div><div><a href="http://mapserver.sk/~wonder/qgis/tutorials.tar.gz">http://mapserver.sk/~wonder/qgis/tutorials.tar.gz</a> ) </div><div><br></div><div>#####################################################</div><div><br></div><div><div>import sys, os</div><div><br></div><div>qgis_prefix = '/GIS/QGIS/QGRASS/qgis1.0.0.app/Contents/MacOS/'</div><div>os.environ['QGIS_DEBUG'] = '-1'</div><div>sys.path.insert(0, qgis_prefix + '/share/qgis/python')</div><div>sys.path.insert(0, 'ui')</div><div><br></div><div>from PyQt4 import QtCore, QtGui</div><div>from mainwindow_ui import Ui_MainWindow</div><div>from qgis.core import *</div><div>from qgis.gui import *</div><div><br></div><div><div> </div><div>class MainWindow(QtGui.QMainWindow, Ui_MainWindow):</div><div> </div><div>  def __init__(self):</div><div>    QtGui.QMainWindow.__init__(self)</div><div> </div><div>    self.setupUi(self)</div><div> </div><div>    self.canvas = QgsMapCanvas()</div><div>    self.canvas.setCanvasColor(QtGui.QColor(255,255,255))</div><div>    self.canvas.enableAntiAliasing(True)</div><div>    self.canvas.useQImageToRender(False)</div><div>    self.canvas.show()</div><div> </div><div>    self.layout = QtGui.QVBoxLayout(self.frameMap)</div><div>    self.layout.addWidget(self.canvas)</div><div> </div><div>    self.connect(self.mpActionAddLayer, QtCore.SIGNAL("triggered()"), self.addLayer)</div><div>    self.connect(self.mpActionZoomIn, QtCore.SIGNAL("triggered()"), self.zoomIn)</div><div>    self.connect(self.mpActionZoomOut, QtCore.SIGNAL("triggered()"), self.zoomOut)</div><div>    self.connect(self.mpActionPan, QtCore.SIGNAL("triggered()"), self.pan)</div><div> </div><div>    self.toolbar = self.addToolBar("File");</div><div>    self.toolbar.addAction(self.mpActionAddLayer);</div><div>    self.toolbar.addAction(self.mpActionZoomIn);</div><div>    self.toolbar.addAction(self.mpActionZoomOut);</div><div>    self.toolbar.addAction(self.mpActionPan);</div><div> </div><div>    self.toolPan = QgsMapToolPan(self.canvas)</div><div>    self.toolPan.setAction(self.mpActionPan)</div><div>    self.toolZoomIn = QgsMapToolZoom(self.canvas, False) # false = in</div><div>    self.toolZoomIn.setAction(self.mpActionZoomIn)</div><div>    self.toolZoomOut = QgsMapToolZoom(self.canvas, True) # true = out</div><div>    self.toolZoomOut.setAction(self.mpActionZoomOut)</div><div> </div><div> </div><div>  def zoomIn(self):</div><div>    self.canvas.setMapTool(self.toolZoomIn)</div><div> </div><div>  def zoomOut(self):</div><div>    self.canvas.setMapTool(self.toolZoomOut)</div><div> </div><div>  def pan(self):</div><div>    self.canvas.setMapTool(self.toolPan)</div><div> </div><div>  def addLayer(self):</div><div>    """add a (hardcoded) layer and zoom to its extent"""</div><div> </div><div>    layerPath = "/Users/sasha/Desktop/from-HD/tutorials/data/test.shp"</div><div>    layerName = "test"</div><div>    layerProvider = "ogr"</div><div> </div><div>    layer = QgsVectorLayer(layerPath, layerName, layerProvider)</div><div>    print layer</div><div> </div><div>    if not layer.isValid():</div><div>      return</div><div> </div><div>    QgsMapLayerRegistry.instance().addMapLayer(layer);</div><div> </div><div>    self.canvas.setExtent(layer.extent())</div><div> </div><div>    cl = QgsMapCanvasLayer(layer)</div><div>    layers = [cl]</div><div>    self.canvas.setLayerSet(layers)</div><div> </div><div>def main(argv):</div><div>  app = QtGui.QApplication(argv)</div><div> </div><div>  QgsApplication.setPrefixPath(qgis_prefix, True)</div><div>  QgsApplication.initQgis()</div><div> </div><div>  wnd = MainWindow()</div><div>  wnd.show()</div><div> </div><div>  retval = app.exec_()</div><div> </div><div>  QgsApplication.exitQgis()</div><div>  sys.exit(retval)</div><div> </div><div>if __name__ == "__main__":</div><div>  main(sys.argv)</div><div> </div><div><br></div><div>##########################################</div><div> </div><div>tring to run it, i have that the qt application start,</div><div>but at its sturtup it put up a log like :</div><div><br></div><div><span class="Apple-style-span" style="color: rgb(255, 0, 0); font-family: LuxiMono; ">QgsCoordinateReferenceSystem::findMatchingProj will only work if prj acr ellipsoid acr and proj4string are set!...</span></div><div><br></div><div>tring to add the layer pressing the apposite button, i have :</div><div><br></div><div><span class="Apple-style-span" style="color: rgb(255, 0, 0); font-family: LuxiMono; ">Failed to load </span></div><div><br></div><div>No valid projection. Unable to set map units.</div><div>Failed to load </div><div><qgis.core.QgsVectorLayer object at 0x4786a8></div><div>Failed to load </div><div><br></div><div>the line : </div><div><qgis.core.QgsVectorLayer object at 0x4786a8></div><div>is printed out beacouse i added "print layer" at the layer definition :</div><div><br></div><div>Please can you help me to see what i'm wrong ?</div><div><br></div><div>thanks to all for any suggestion!</div><div><br></div><div>regards,</div><div><br></div><div>Massimo Di Stefano</div><div><br></div><div>(epifanio on irc.freenode.net)</div><div> </div></div></div></body></html>