{"action":"created","issue":{"url":"https://api.github.com/repos/faunalia/rt_mapserver_exporter/issues/5","labels_url":"https://api.github.com/repos/faunalia/rt_mapserver_exporter/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/faunalia/rt_mapserver_exporter/issues/5/comments","events_url":"https://api.github.com/repos/faunalia/rt_mapserver_exporter/issues/5/events","html_url":"https://github.com/faunalia/rt_mapserver_exporter/pull/5","id":101595345,"number":5,"title":"Switch away from SLD-based export, use a custom exporter instead","user":{"login":"brncsk","id":1205180,"avatar_url":"https://avatars.githubusercontent.com/u/1205180?v=3","gravatar_id":"","url":"https://api.github.com/users/brncsk","html_url":"https://github.com/brncsk","followers_url":"https://api.github.com/users/brncsk/followers","following_url":"https://api.github.com/users/brncsk/following{/other_user}","gists_url":"https://api.github.com/users/brncsk/gists{/gist_id}","starred_url":"https://api.github.com/users/brncsk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brncsk/subscriptions","organizations_url":"https://api.github.com/users/brncsk/orgs","repos_url":"https://api.github.com/users/brncsk/repos","events_url":"https://api.github.com/users/brncsk/events{/privacy}","received_events_url":"https://api.github.com/users/brncsk/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":31,"created_at":"2015-08-18T07:57:17Z","updated_at":"2015-11-05T18:21:54Z","closed_at":"2015-11-05T17:39:30Z","pull_request":{"url":"https://api.github.com/repos/faunalia/rt_mapserver_exporter/pulls/5","html_url":"https://github.com/faunalia/rt_mapserver_exporter/pull/5","diff_url":"https://github.com/faunalia/rt_mapserver_exporter/pull/5.diff","patch_url":"https://github.com/faunalia/rt_mapserver_exporter/pull/5.patch"},"body":"Given that SLD support is incomplete in both QGis and MapServer, this PR gets rid of the SLD-based exporter and introduces a new method for exporting vector layer styles into a mapfile. While our exporter is still far from perfect, we believe it already provides a more faithful rendering of complex vector styles than what this plugin currently has to offer (see Figures 1 to 3).\r\n\r\n*(The further development of this plugin was sponsored by ViaMap Ltd. in the frame of transferring a municipal GIS system from Intergraph technology to opensource GIS stack. The project was commissioned by the Municipality of 11th District of Budapest, Hungary.)*\r\n\r\n#### Support is added for the following features:\r\n\r\n* Line Pattern Fills and Point Pattern Fills\r\n* Font Marker symbols\r\n* SVG symbols (also with embedded/linked raster images)\r\n* Line cap and line join styles\r\n* Multi-layer fills and lines\r\n* A subset of SLD well-known markers\r\n\r\n#### Other changes introduced by this PR:\r\n\r\n* Line widths and symbol sizes are now computed more accurately\r\n* Enhanced labeling (support for partial labels, etc.)\r\n* A more modular approach to the structure of the source code\r\n* Added basic testing facilities and data in form of a PyQgis script and additional infrastructure for running it in a *NIX environment.\r\n* Options for labeling (*Force* and *Partials*) were removed from the *Advanced* tab. The same effect can be achieved by using the following settings:\r\n  * `FORCE` is enabled by checking the *Labels → Rendering → Show all labels...* checkbox in *Layer Settings* (See Figure 4).\r\n  * `PARTIALS` is enabled by checking the *Show partial labels* checkbox in the *Automated placement settings* dialog box (available by clicking the button in the upper right corner of the *Label* tab in *Layer Settings*; see Figure 5). (Please note that as this setting is applied to all layers in QGis it also will be applied to all layers in the mapfile.)\r\n\r\n#### Our approach also has a couple of shortcomings:\r\n\r\n* As the value of the `SIZEUNITS` setting can only be set per-layer in a mapfile (as opposed to a per-style-attribute approach in QGis), we use millimeters as the default size unit and switch if and only if the layer has a style attribute with \"Map unit\" set as its unit.\r\n* Lots of symbol layer styles and style attributes are unsupported at the moment.\r\n\r\n#### Images for visual comparison:\r\n\r\n**Fig. 1.** – Original QGis project:\r\n\r\n![QGis](http://oi60.tinypic.com/112aoti.jpg)\r\n\r\n**Fig. 2.** – Mapfile exported by the plugin in its current form:\r\n\r\n![Original plugin](http://oi57.tinypic.com/20mw0m.jpg)\r\n\r\n**Fig. 3.** – Mapfile exported by the plugin version in this proposed PR:\r\n\r\n![Proposed PR](http://oi57.tinypic.com/2s9rwc1.jpg)\r\n\r\n**Fig. 4.** – Enabling `FORCE` in the mapfile:\r\n\r\n![Enabling FORCE in the mapfile](http://oi57.tinypic.com/veql94.jpg)\r\n\r\n**Fig. 5.** – Enabling `PARTIALS` in the mapfile:\r\n\r\n![Enabling PARTIALS in the mapfile](http://oi61.tinypic.com/73gdbp.jpg)\r\n"},"comment":{"url":"https://api.github.com/repos/faunalia/rt_mapserver_exporter/issues/comments/154143953","html_url":"https://github.com/faunalia/rt_mapserver_exporter/pull/5#issuecomment-154143953","issue_url":"https://api.github.com/repos/faunalia/rt_mapserver_exporter/issues/5","id":154143953,"user":{"login":"luipir","id":3344634,"avatar_url":"https://avatars.githubusercontent.com/u/3344634?v=3","gravatar_id":"","url":"https://api.github.com/users/luipir","html_url":"https://github.com/luipir","followers_url":"https://api.github.com/users/luipir/followers","following_url":"https://api.github.com/users/luipir/following{/other_user}","gists_url":"https://api.github.com/users/luipir/gists{/gist_id}","starred_url":"https://api.github.com/users/luipir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luipir/subscriptions","organizations_url":"https://api.github.com/users/luipir/orgs","repos_url":"https://api.github.com/users/luipir/repos","events_url":"https://api.github.com/users/luipir/events{/privacy}","received_events_url":"https://api.github.com/users/luipir/received_events","type":"User","site_admin":false},"created_at":"2015-11-05T18:21:54Z","updated_at":"2015-11-05T18:21:54Z","body":"published in qgis repo as 0.5.0 version\r\n\r\nhttp://plugins.qgis.org/plugins/rt_mapserver_exporter/version/0.5.0/\r\n\r\nthank you Ádám\r\n"}}