﻿{"id":3223,"date":"2016-05-20T15:03:29","date_gmt":"2016-05-20T14:03:29","guid":{"rendered":"http:\/\/www.sigterritoires.fr\/?page_id=3223"},"modified":"2023-04-21T11:24:58","modified_gmt":"2023-04-21T09:24:58","slug":"blog-danita-graser","status":"publish","type":"page","link":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/","title":{"rendered":"Blog d&rsquo;Anita Graser"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/anitagraser.com\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">https:\/\/anitagraser.com<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><ul><!--via SimplePie with RSSImport--><li> <small>29 septembre 2026<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2026\/09\/29\/qgis-tabbed-ribbon-ui-experiments\/\" title=\"QGIS tabbed ribbon UI experiments\">QGIS tabbed ribbon UI experiments<\/a><br \/>A long-standing feature request in the QGIS repo has been an option for a ribbon-style GUI to replace the plethora of toolbars that usually characterize the top rows of any QGIS window. A couple of months ago Eithan published an experimental \u201cRibbon Toolbar\u201d plugin for QGIS 3 that implemented a first version of this idea. I recently picked up the threads, ported the plugin to QGIS 4 and continued refining the structure of the tabs and ribbons, cleaning up truncated labels, design logical groups, and making icons for the most commonly used functions (based on my subjective experience, not objectively measured) large \/ more prominent: The new updated version 0.5 is now available from the QGIS Plugin Repo for you to give it a spin. Please note, however, that the code is NOT intended to be production-ready. Consider this a click-dummy that should facilitate discussion. This version doesn\u2019t implemented any way yet to customize the ribbons. Of course, this could be added at a later stage. In any case, the user can, of course, switch back to good old toolbars at any time. Overall, the design is heavily inspired by LibreOffice\u2019s ribbon theme option and targets new users \/ teaching situatio &#8230; <\/li><li> <small>18 septembre 2026<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2026\/09\/18\/how-to-qgis-4-2-on-linux-mint-sept-26\/\" title=\"How to QGIS 4.2 on Linux Mint (Sept \u201926)\">How to QGIS 4.2 on Linux Mint (Sept \u201926)<\/a><br \/>For a while now, my preferred way of installing QGIS has been from conda-forge. However, while we\u2019re waiting for QGIS 4 to become available on conda-forge, there are alternatives: Option 1: Flatpak In the Software Manager, you can find QGIS from Flathub in two different versions: stable and lts. And stable should give you 4.2 (even if the Software Manager preview shows an older one): Option 2: Meet the official QGIS Docker Images First off, you\u2019ll need Docker. If you haven\u2019t installed it yet, it\u2019s directly available from the Linux Mint Software Manager: From there on, we just switch to the Terminal for the rest. If you get \u201cpermission denied while trying to connect to the docker API\u201d when running any of the following commands, you may have to add your user account to the docker group: sudo usermod -aG docker $USERnewgrp docker # or just log out and back in Afterwards, it should be straightforward to get the image from Docker Hub, e.g.: docker pull qgis\/qgis:4.2.2-questing And once it\u2019s downloaded, we can launch QGIS: xhost +local:dockerdocker run &#8211;rm -it &#8211;name qgis \\ -v \/tmp\/.X11-unix:\/tmp\/.X11-unix \\ -e DISPLAY=$DISPLAY \\ qgis\/qgis:4.2.2-questing qgis Voil\u00e1, QGIS 4! To persist y &#8230; <\/li><li> <small>14 septembre 2026<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2026\/09\/14\/movingpandas-is-moving-to-codeberg\/\" title=\"MovingPandas is moving to Codeberg\">MovingPandas is moving to Codeberg<\/a><br \/>I\u2019ve been testing Codeberg for over a year now, with Trajectools being the largest repo that has already moved its headquarters from Github to Codeberg. I have been very happy with the experience so far and \u2013 at the same time \u2013 I couldn\u2019t help but notice the further decline of Github performance. Therefore, in the upcoming weeks, I am planning to move the remaining MovingPandas repos. For anyone who wants to contribute, this means that: All further development will move to Codeberg. Codeberg LLM usage policies apply GH repos will remain as read-only mirrors for now. Issue trackers and pull requests on GH will be deactivated. &#8230; <\/li><li> <small>9 ao\u00fbt 2026<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2026\/08\/09\/movingpandas-0-23-released\/\" title=\"MovingPandas 0.23 released!\">MovingPandas 0.23 released!<\/a><br \/>The new MovingPandas release 0.23 has just landed in pypi and conda-forge and I want to share with you two highlights: New HTML representations The new HTML representations for Trajectory &#038; TrajectoryCollection objects aim to make interactive data exploration in notebooks more convenient by providing commonly required descriptive data summaries and data previews in a structured way. Before 0.23 New in 0.23 Trajectory distance measures The second highlight of this release are three new trajectory distance measure functions, covering: Frechet distance, Dynamic Time Warping (DTW), and Longest Common Subsequence (LCSS) These are in addition to the already existing minimum distance and Hausdorff distance. You can see them in action in the updated Measuring distances tutorial. &#8230; <\/li><li> <small>26 juillet 2026<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2026\/07\/26\/new-open-basemaps-for-austria\/\" title=\"New Open Basemaps for Austria\">New Open Basemaps for Austria<\/a><br \/>For many years now, we have been enjoying the basemap.at service with it\u2019s various basemap options (color, gray, with\/without labels, \u2026) in WMTS and vector tiles. Basemap.at Standard WMTS in QGIS (instructions here) For a few weeks now, there is an additional service by BEV: Their cartographic models \u201cKartographischen Modelle (KM)\u201d are now available as raster (KM-R) in COG-TIFF\u00a0format. Adding the COG-TIFF URI The downloads come with proper instructions: KM_QGIS_Anleitung_202603 including tips to switch to bilinear resampling for better rendering: BEV KM-R in QGIS Some vector (KM-V) in GeoPackages with QGIS projects providing the layer style and label settings are already available for the Stichtag 30.01.2026 downloads. And they look awesome: BEV KM-V project defaults And without labels KM-V downloads are provided in tiles, so it\u2019s not quite as simple as grabbing the COG URI: It\u2019s worth noting though, that the KM-V GeoPackages are still a work in progress and not all tiles are available for download yet. I\u2019ll keep an eye on the downloads to see when the rest of the tiles become available. Until then, I leave you with a couple of examples of the Gro\u00dfglockner (highest mountain in Aust &#8230; <\/li><li> <small>11 juillet 2026<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2026\/07\/11\/belem-salzburg-and-onwards\/\" title=\"Bel\u00e9m, Salzburg, and onwards\">Bel\u00e9m, Salzburg, and onwards<\/a><br \/>It\u2019s been a couple of busy weeks, with the QGIS 4.2 release and meetings and conferences all over the place before a few, hopefully quieter, weeks of summer break. QGIS The Austrian QGIS user group met online on 25 June to exchange experiences with different webmapping solutions, ranging from QGIS+Lizmap to QGIS Cloud. A few days later, QGIS 4.2 was released on 3 July 2026. This release is named Bel\u00e9m do Par\u00e1, after the Brazilian city that hosted both FOSS4G and a QGIS user meeting back in 2024. MundoGEO has the details on the naming, if you\u2019re curious about the backstory. Worth noting: 4.2 \u201cBel\u00e9m do Par\u00e1\u201d will be the next LTR, so if you\u2019re using the long-term release, this is the one to watch for. What I found interesting while designing the Bel\u00e9m splash screen was that historic maps of Bel\u00e9m don\u2019t have north at the top. Instead, they\u2019re rotated with north pointing either left or right. A nice little reminder that \u201cnorth-up\u201d is just a convention and not a law of cartography. Historic map of Bel\u00e9m used in the QGIS 4.2 splash screen. Source: https:\/\/commons.wikimedia.org\/w\/index.php?title=File:Planta_da_Cidade_de_Belem_do_Gram_Par%C3%A1_(ca._1773).jpg AGIT 2026 This week, I made my &#8230; <\/li><li> <small>10 janvier 2026<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2026\/01\/10\/notebooks-in-qgis\/\" title=\"Notebooks in QGIS\">Notebooks in QGIS<\/a><br \/>Finally it\u2019s here: Jupyter notebooks inside QGIS. I don\u2019t know about you but I\u2019ve been hoping for someone to get around to doing this for quite a while. Qiusheng Wu published the first version of the Notebook plugin on 26 Dec 2025. Late Christmas present?! For the setup, there\u2019s a handy tutorial by Hans van der Kwast and, additionally, Qiusheng published an intro video: Development is going fast (version 0.3.0 at the time of writing) so there will be new features when you install \/ update the plugin compared to both the tutorial and the video. The user interface is pretty stripped down with just a few buttons to add new code or markdown cells and to run them. And there is a neat drop-down menu with all kinds of ready-made code snippets to get you started: For other functionalities, for example, to delete cells, you need to right-click on the cell to access the function through the context menu. And, as far as I can tell, there is currently no way to rearrange cells (moving them up or down). I also haven\u2019t quite understood yet what kinds of outputs are displayed and which are not because \u2013 quite often \u2013 the cell output just stays empty, even though the same code generates output on &#8230; <\/li><li> <small>3 d\u00e9cembre 2025<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2025\/12\/03\/qgis-to-geopandas-part-3\/\" title=\"QGIS to (Geo)Pandas \u2013 part 3\">QGIS to (Geo)Pandas \u2013 part 3<\/a><br \/>The journey continues: QgsArrowIterator is now merged! This makes it possible to iterate over\u00a0QgsFeatures as Arrow batches. This is where we are now, quoting Dewey Dunnington: import geopandas from nanoarrow.c_array import allocate_c_array import qgis from qgis.core import QgsVectorLayer # Create a vector layer layer = QgsVectorLayer(\u00ab\u00a0tests\/testdata\/zonalstatistics\/polys.shp\u00a0\u00bb, \u00ab\u00a0layer_name\u00a0\u00bb, \u00ab\u00a0ogr\u00a0\u00bb) schema = qgis.core.QgsArrowIterator.inferSchema(layer) it = qgis.core.QgsArrowIterator(layer.getFeatures()) it.setSchema(schema, 1) c_array = allocate_c_array() schema.exportToAddress(c_array.schema._addr()) it.nextFeatures(5, c_array._addr()) print(geopandas.GeoDataFrame.from_arrow(c_array)) #> lev3_name geometry #> 0 poly_1 MULTIPOLYGON (((100.37934 -0.96049, 100.37934 &#8230; #> 1 poly_2 MULTIPOLYGON (((100.37944 -0.96044, 100.37955 &#8230; #> 2 poly_3 MULTIPOLYGON (((100.37938 -0.96049, 100.37949 &#8230; print(geopandas.read_file(\u00ab\u00a0tests\/testdata\/zonalstatistics\/polys.shp\u00a0\u00bb)) #> lev3_name geometry #> 0 poly_1 POLYGON ((100.37934 -0.96049, 100.37934 -0.960&#8230; #> 1 poly_2 POLYGON ((100.37944 -0.96044, 100.37955 -0.960&#8230; #> 2 poly_3 POLYGON ((100.37938 -0.96049, 100.37949 -0.960&#8230; Further improvemen &#8230; <\/li><li> <small>31 octobre 2025<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2025\/10\/31\/qgis-to-geopandas-follow-up\/\" title=\"QGIS to (Geo)Pandas follow-up\">QGIS to (Geo)Pandas follow-up<\/a><br \/>The conversation around Looking for better ways to convert between QGIS VectorLayer and (Geo)DataFrame is continuing over at https:\/\/fosstodon.org\/@underdarkGIS\/115442614331293320 What I\u2019ve learned so far: QgsVectorLayer.as_geopandas() has landed in QGIS master on 13 Oct 2025. There\u2019s also QgsVectorLayer.field_to_numpy() which will be useful for many applications and has landed on 29 Oct 2025. QgsArrowIterator is in the works right now. Exciting times for spatial data science tooling &#8230; <\/li><li> <small>26 octobre 2025<\/small><a target=\"__blank\" href=\"https:\/\/anitagraser.com\/2025\/10\/26\/looking-for-better-ways-to-convert-between-qgis-vectorlayer-and-geodataframe\/\" title=\"Looking for better ways to convert between QGIS VectorLayer and (Geo)DataFrame\">Looking for better ways to convert between QGIS VectorLayer and (Geo)DataFrame<\/a><br \/>Plugin developers who want to use (Geo)Pandas-based functionality in their plugins regularly face the challenge of converting QGIS vector layers to (Geo)DataFrames. There is currently no built-in convenience function. In Trajectools, so far, I have been performing the conversion manually, looping through all features and taking care of tricky column types, such as datetimes and geometries: def df_from_layer_trajectools(layer,time_field_name=\u00a0\u00bbt\u00a0\u00bb): # Original Trajectools 2.7 version names = [field.name() for field in layer.fields()] data = [] for feature in layer.getFeatures(): my_dict = {} for i, a in enumerate(feature.attributes()): if names[i] == time_field_name and isinstance(a, QDateTime): a = a.toPyDateTime() my_dict[names[i]] = a pt = feature.geometry().asPoint() my_dict[\u00ab\u00a0geom_x\u00a0\u00bb] = pt.x() my_dict[\u00ab\u00a0geom_y\u00a0\u00bb] = pt.y() data.append(my_dict) df = pd.DataFrame(data) return df It works (mostly), but it\u2019s far from fast. For the 25 million Geolife points, it takes 4 minutes: In an attempt to speed-up (and make the conversion more robust, e.g. regarding datetime\/timezone conversion and null values), I\u2019ve spent some time at SDSL2025 with Joris Van den Bossche trying a workaround that wri &#8230; <\/li><\/ul><\/p>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/anitagraser.com<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3191,"menu_order":50,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_total_topic_count_hidden":0,"_bbp_total_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-3223","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"https:\/\/anitagraser.com\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"google-site-verification\" content=\"ByXHZUbGNn7RNv-Xk5A-ysTZrM65VLIO2RxfSJ2nIEQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Blog SIG &amp; Territoires | le portail des professionnels du SIG\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Blog d\u2019Anita Graser | Blog SIG &amp; Territoires\" \/>\n\t\t<meta property=\"og:description\" content=\"https:\/\/anitagraser.com\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-05-20T14:03:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-04-21T09:24:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/atilio.francois\/\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@SigTerritoires\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Blog d\u2019Anita Graser | Blog SIG &amp; Territoires\" \/>\n\t\t<meta name=\"twitter:description\" content=\"https:\/\/anitagraser.com\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@SigTerritoires\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/blog-danita-graser\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sigterritoires.fr\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/#listItem\",\"name\":\"Autres blogs SIG\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/#listItem\",\"position\":2,\"name\":\"Autres blogs SIG\",\"item\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/blog-danita-graser\\\/#listItem\",\"name\":\"Blog d&rsquo;Anita Graser\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/blog-danita-graser\\\/#listItem\",\"position\":3,\"name\":\"Blog d&rsquo;Anita Graser\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/#listItem\",\"name\":\"Autres blogs SIG\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/#person\",\"name\":\"Atilio Francois\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/blog-danita-graser\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f76dc2a720162999bce81d6c99b6d7b9517d6600ad7ceb5ed5268f02cefaa0ee?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Atilio Francois\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/blog-danita-graser\\\/#webpage\",\"url\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/blog-danita-graser\\\/\",\"name\":\"Blog d\\u2019Anita Graser | Blog SIG & Territoires\",\"description\":\"https:\\\/\\\/anitagraser.com\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/index.php\\\/autres-blogs-sig\\\/blog-danita-graser\\\/#breadcrumblist\"},\"datePublished\":\"2016-05-20T15:03:29+02:00\",\"dateModified\":\"2023-04-21T11:24:58+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/#website\",\"url\":\"https:\\\/\\\/www.sigterritoires.fr\\\/\",\"name\":\"Blog SIG & Territoires\",\"description\":\"le portail des professionnels du SIG\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.sigterritoires.fr\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Blog d\u2019Anita Graser | Blog SIG & Territoires","description":"https:\/\/anitagraser.com","canonical_url":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"ByXHZUbGNn7RNv-Xk5A-ysTZrM65VLIO2RxfSJ2nIEQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.sigterritoires.fr#listItem","position":1,"name":"Home","item":"https:\/\/www.sigterritoires.fr","nextItem":{"@type":"ListItem","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/#listItem","name":"Autres blogs SIG"}},{"@type":"ListItem","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/#listItem","position":2,"name":"Autres blogs SIG","item":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/#listItem","name":"Blog d&rsquo;Anita Graser"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.sigterritoires.fr#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/#listItem","position":3,"name":"Blog d&rsquo;Anita Graser","previousItem":{"@type":"ListItem","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/#listItem","name":"Autres blogs SIG"}}]},{"@type":"Person","@id":"https:\/\/www.sigterritoires.fr\/#person","name":"Atilio Francois","image":{"@type":"ImageObject","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/f76dc2a720162999bce81d6c99b6d7b9517d6600ad7ceb5ed5268f02cefaa0ee?s=96&d=mm&r=g","width":96,"height":96,"caption":"Atilio Francois"}},{"@type":"WebPage","@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/#webpage","url":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/","name":"Blog d\u2019Anita Graser | Blog SIG & Territoires","description":"https:\/\/anitagraser.com","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/www.sigterritoires.fr\/#website"},"breadcrumb":{"@id":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/#breadcrumblist"},"datePublished":"2016-05-20T15:03:29+02:00","dateModified":"2023-04-21T11:24:58+02:00"},{"@type":"WebSite","@id":"https:\/\/www.sigterritoires.fr\/#website","url":"https:\/\/www.sigterritoires.fr\/","name":"Blog SIG & Territoires","description":"le portail des professionnels du SIG","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/www.sigterritoires.fr\/#person"}}]},"og:locale":"fr_FR","og:site_name":"Blog SIG &amp; Territoires | le portail des professionnels du SIG","og:type":"article","og:title":"Blog d\u2019Anita Graser | Blog SIG &amp; Territoires","og:description":"https:\/\/anitagraser.com","og:url":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/","article:published_time":"2016-05-20T14:03:29+00:00","article:modified_time":"2023-04-21T09:24:58+00:00","article:publisher":"https:\/\/www.facebook.com\/atilio.francois\/","twitter:card":"summary","twitter:site":"@SigTerritoires","twitter:title":"Blog d\u2019Anita Graser | Blog SIG &amp; Territoires","twitter:description":"https:\/\/anitagraser.com","twitter:creator":"@SigTerritoires"},"aioseo_meta_data":{"post_id":"3223","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-21 13:56:48","updated":"2025-06-04 15:59:36","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.sigterritoires.fr\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/\" title=\"Autres blogs SIG\">Autres blogs SIG<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tBlog d\u2019Anita Graser\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.sigterritoires.fr"},{"label":"Autres blogs SIG","link":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/"},{"label":"Blog d&rsquo;Anita Graser","link":"https:\/\/www.sigterritoires.fr\/index.php\/autres-blogs-sig\/blog-danita-graser\/"}],"jetpack_shortlink":"https:\/\/wp.me\/P6XU0A-PZ","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/pages\/3223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/comments?post=3223"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/pages\/3223\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/pages\/3191"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=3223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}