isogeo / isogeo-plugin-qgis Goto Github PK
View Code? Open in Web Editor NEWIsogeo plugin for QGIS
Home Page: http://help.isogeo.com/qgis/
License: GNU General Public License v3.0
Isogeo plugin for QGIS
Home Page: http://help.isogeo.com/qgis/
License: GNU General Public License v3.0
It currently makes the plugin crash.
Currently, it is displayed with text, under 5 category :
Dans le fichier config.ini ou via les classes QSettings (qui semble mieux intégré donc) : http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/settings.html
Pouvoir choisir la première les paramètres de la première requête qui s'exécute au lancement du plugin.
In the authentification window "Create Isogeo account" and "Request plugin access" not work
Serait-il possible que la liste des résultats s'actualise automatiquement suite au choix d'un paramètre de recherche ou d'un filtre ?
When a radio button is checked, the others are uncheckable, except for "all types".
So the user has to make an extra step to change the data type : if "vector" is checked and he wants to change this to "raster", he has to check "all type", and only then "raster".
In the authentification window the text "Secret" is cut down
For improved security and performances
Currently, if the user id and secret are valid, the plugin doesn't give the possibility to change them (to connect as another user for example).
When the geographical filter is on, changing results page change the request (and the number of results).
When the search function has been updated to includes the filter, the change_page function hasn't.
Plugin crashes at install on the latest version of QGIS.
This is caused by the norvegian character ø in the name of the version.
The plugin tries to log QGIS version which causes an encoding problem (ascii error "Ordinal character not in range").
Of course, this line can be removed, for it is just logging, but a better solution could probably be found.
The plugin freezes at the display of the first result.
The plugin should only display geographical datas in its research results, and so exclude resources and services.
It implies to create a default filters on every research.
Right now, the test in only but basic. There a lots of cases it does not take into consideration.
For example, this metadata has 2 webservices available (3 with the Esri one) but none is proposed within the plugin: http://open.isogeo.com/s/344d51c3edfb435daf9d98d948fa207e/Sbd1w7PgqE8n7LDq3azRqNhiMHZf0/m/754209f115c040a48d43ffc262b16500
They belong to the same share: https://app.isogeo.com/groups/08b3054757544463abd06f3ab51ee491/admin/shares/344d51c3edfb435daf9d98d948fa207e
A l'installation, l'extension provoque un problème avec QGIS.
Message d'erreur :
Impossible de charger l'extension isogeo_search_engine provoque une erreur lors de l'appel de sa méthode classFactory()
Traceback (most recent call last):
File "C:/PROGRA1/QGISWI1/apps/qgis-ltr/./python\qgis\utils.py", line 219, in startPlugin
plugins[packageName] = package.classFactory(iface)
File "C:/Users/julien.moura/.qgis2/python/plugins\isogeo_search_engine__init__.py", line 34, in classFactory
from .isogeo import Isogeo
File "C:/PROGRA1/QGISWI1/apps/qgis-ltr/./python\qgis\utils.py", line 478, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ImportError: No module named isogeoVersion de Python :
2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)]Version de QGIS :
2.8.8-Wien Wien, 22678d9Chemin vers Python : ['C:/Users/julien.moura/.qgis2/python/plugins\processing', 'C:/PROGRA
1/QGISWI1/apps/qgis-ltr/./python', u'C:/Users/julien.moura/.qgis2/python', u'C:/Users/julien.moura/.qgis2/python/plugins', 'C:/PROGRA1/QGISWI1/apps/qgis-ltr/./python/plugins', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\matplotlib-1.3.1-py2.7-win-amd64.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\nose-1.3.3-py2.7.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\tornado-4.0.1-py2.7-win-amd64.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\backports.ssl_match_hostname-3.4.0.2-py2.7.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\certifi-14.05.14-py2.7.egg', 'C:\PROGRA1\QGISWI1\apps\orfeotoolbox\python', 'C:\Program Files (x86)\Python27', 'C:\PROGRA1\QGISWI1\bin\python27.zip', 'C:\PROGRA1\QGISWI1\apps\Python27\DLLs', 'C:\PROGRA1\QGISWI1\apps\Python27\lib', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\plat-win', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\lib-tk', 'C:\PROGRA1\QGISWI1\bin', 'C:\PROGRA1\QGISWI1\apps\Python27', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\PIL', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\jinja2-2.7.2-py2.7.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\markupsafe-0.23-py2.7-win-amd64.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\pytz-2012j-py2.7.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\win32', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\win32\lib', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\Pythonwin', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\Shapely-1.2.18-py2.7-win-amd64.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\six-1.10.0-py2.7.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\wx-2.8-msw-unicode', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\xlrd-0.9.2-py2.7.egg', 'C:\PROGRA1\QGISWI1\apps\Python27\lib\site-packages\xlwt-0.7.5-py2.7.egg', u'C:/Users/julien.moura/.qgis2//python', 'C:\Users\julien.moura.qgis2\python\plugins\mmqgis/forms', 'C:\PROGRA1\QGISWI1\apps\qgis-ltr\python\plugins\fTools\tools', 'C:\Users\julien.moura.qgis2\python\plugins\mmqgis/forms']
As not all user have access to the whole catalog. The plugin should only display the datas the user has the possibility to add to his canvas, be it from a folder, from a database, or with a service.
It implies to create another default filter on every research.
It should be possible for research results to be sorted by :
Formats : http://www.gdal.org/formats_list.html
Doesn't affect the plugin functioning though.
ecw files can't be added to the map canvas through the plugin.
Allow user to consult metadata details in a separated windows.
All metadata field must be rendered.
In order to make betatesters report easier, it should be a good idea to add 2 buttons up to the UI:
Bonjour,
Ci-joint un dossier zippé avec le message d’erreur « msg1.png » qui s’affiche lorsque je lance le plugin, le fichier activity.log et une impression écran des paramètres proxy « parametreproxy.png » .
édité par @Guts pour mettre les PJ directement sans zip
In some cases, WMS maps are not rendered by QGIS.
The problem seems to be when the title of the service contains a UTF8 character, like "é".
It doesn't matter if the script gives another title for the layer, for the problem must come from QGIS built-in method, that fails when parsing the XML documentation.
Raw stack trace:
2016-09-16T10:52:05 1 Erreur de requête de carte (Statut : 200; Réponse :
msWMSLoadGetMapParams(): WMS server error. Unsupported SRS namespace (only EPSG and AUTO currently supported).
; Type : application/vnd.ogc.se_xml; charset=ISO-8859-1; URL : http://ws.carmencarto.fr/WMS/105/ONF_Forets?language=fre&&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&BBOX=-5.58549999999999969,40.92079999999999984,10.75499999999999901,51.44619999999999749&SRS=CRS:84&WIDTH=116&HEIGHT=75&LAYERS=Forets_Publiques&STYLES=&FORMAT=image/jpeg&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96)
2016-09-16T11:02:35 1 Erreur de requête de carte (Statut : 200; Réponse :
Rendering process failed
The specified mark slash was not found!
; Type : text/xml; charset=utf-8; URL : http://noisy.hq.isogeo.fr:6090/geoserver/Isogeo/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=-61.808647396887757,-30.06558436831620185,55.83904539954382784,51.18236058068361416&CRS=CRS:84&WIDTH=830&HEIGHT=573&LAYERS=Isogeo:DEPARTEMENT_2014&STYLES=&FORMAT=image/jpeg&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96)
2016-09-16T11:02:40 1 Erreur de requête de carte (Statut : 200; Réponse :
Rendering process failed
The specified mark slash was not found!
; Type : text/xml; charset=utf-8; URL : http://noisy.hq.isogeo.fr:6090/geoserver/Isogeo/ows?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=-61.808647396887757,-30.06558436831620185,55.83904539954382784,51.18236058068361416&CRS=CRS:84&WIDTH=186&HEIGHT=128&LAYERS=Isogeo:DEPARTEMENT_2014&STYLES=&FORMAT=image/jpeg&DPI=96&MAP_RESOLUTION=96&FORMAT_OPTIONS=dpi:96)
Pour un debug plus efficace : https://docs.python.org/2.7/library/logging.html.
Exemple :
# LOG FILE ##
logger = logging.getLogger()
logging.captureWarnings(True)
logger.setLevel(logging.DEBUG) # all errors will be get
log_form = logging.Formatter('%(asctime)s || %(levelname)s || %(message)s')
logfile = RotatingFileHandler('isogeo_qgis_plugin.log', 'a', 3000000, 1)
logfile.setLevel(logging.DEBUG)
logfile.setFormatter(log_form)
logger.addHandler(logfile)
logger.info('============== Isogeo QGIS plugin =============')
Sometimes, all the plugin's widgets disable themselves for a short time, like when a request is sent, without a request being apparently sent.
Investigating, it seems that this appears when the QLineEdit loses the focus.
Indeed, the search function is connected to a signal emited weither when enter is pressed or when the QLineEdit loses focus. See : http://doc.qt.io/qt-4.8/qlineedit.html#editingFinished
This isn't a problem per se, but the default behaviour of the QLineEdit is to take the focus whenever the user is coming back from the second tab to the first one, where que QLineEdit is.
So the first click of the user on the first tab, when coming back from the second, is interpreted as a click-out of the QLineEdit, no matter if he clicked on a button, or whatever other widget.
This causes the plugin to have some freezes at moments the user could consider "random".
It is not immediately obvious to the standard user what Isogeo is, and what the plugin does.
If the service requires an access to Isogeo, this should be clearly stated in the About, and its conditions outlined.
Thanks.
More human friendly than 1, 2, 3, 4...
@pcav has approved the new version and it's available on the QGIS plugins website (http://plugins.qgis.org/plugins/isogeo_search_engine/) but it's not available through the QGIS Extension Manager (with experimental channel activated of course).
Using QgsVectorLayer and QgsRasterLayer methods matching Isogeo fields:
An option in the tab settings allow to able/disable the feature.
Right now, the code doesn't log enough informations for an efficient debugging.
The plugin has to be available at least in two languages: English and French.
Until now, it's only in French.
When you open the plug-in for the first time, the interface is in English, yet QGis is in French. To switch the plug- in French you have to force the nationality of the system in the Menu Preferences > Option > Languages then close and open QGis
And win a free column
A nice Python plugin shloud be PEP8 compliant.
Lao PyTseu
Fix the geographical filter based on the canvas extent.
It appears that the plugin has a lot of bugs (error windows poping up at every request) when the plugin window has been closed and reopened.
Checking with the previous version in order to identify the problem has shown me that it has been existing for a long time.
It had stayed unnoticed because of my use of plugin-reloader before each launching of the plugin.
Implement a filter based on the extent of a given layer.
This filter had been removed from the plugin (it was in the prototype version) because it would have been redundant with the plugin already filtering on the geographical data.
As the idea has been abandoned, this filter could reintegrate the 'advanced research filters' pannel.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.