a qgis mapserver exporter · rt mapserver exporter „rt” = regione toscana első elérhető...

24
A QGIS MapServer Exporter plugin továbbfejlesztése Barancsuk Ádám–Sándor Csaba ViaMap Kft. 4. Nyílt forráskódú térinformatikai mukaértekezlet • 2015. november 27.

Upload: others

Post on 26-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

A QGIS MapServer Exporterplugin továbbfejlesztése

Barancsuk Ádám–Sándor CsabaViaMap Kft.

4. Nyílt forráskódú térinformatikai mukaértekezlet • 2015. november 27.

Page 2: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Motiváció● Újbuda önkormányzatának térinformatikai rendszerének webes

felülete (http://terinfo.ujbuda.hu)

● Eredetileg Intergraph (ma: Hexagon) GeoMedia WebMap

● 2015: FOSS4G átállás

QGIS Desktop MapServer 6.4 GeoExt?

2/20

Page 3: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

RT MapServer Exporter● „RT” = Regione Toscana

● Első elérhető verziója: 0.2.1 2012. december

● Eredeti fejlesztő: Faunalia

● Cél: projektek átvitele QGIS Desktop és MapServer között

● Metaadatok

● Rétegdefiníciók

● Adatforrások

● Stílusok3/20

Page 4: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

SLDProbléma

● Adatbázis-alapú térképezés

● A térvonatkozású adatok alapvetően függetlenek azok kartográfiai megjelenésétől

● Szoftverenként különböző lehetőségek és elképzelések

Megoldás

● SLD (Styled Layer Descriptor)

● Gazdája az OGC (Open Geospatial Consortium)

● XML-alapú leírónyelvszabvány

● 2007: kettéválik

● Symbology Encoding (SE)

● Styled Layer Descriptor

?

4/20

Page 5: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

SLD támogatás elméletben...● SLD 1.0 (2002)

● MapServer 4.2-től (2004)● http://mapserver.org/ogc/sld.html

● QGIS 1.8-tól (2012. június)● Stílusok alapvetően QML-ben (szintén XML, de saját séma)

5/20

Page 6: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

…és gyakorlatban

QGIS 2.10 MapServer 6.4(via RT MapServer Exporter 0.4.0)

6/20

Page 7: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

?

7/20

Page 8: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

AlgoritmusJárjuk be a rétegek és rétegstílusok által alkotott fát

Konvertáljunk minden vonatkozó stílust a MapServer által használt formátumba

● Különböző elképzelések arról, hogy mi a réteg, mi a stílus stb.

Hibák javítása

8/20

Page 9: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Új funkciók● „Stílusréteg” (QgsSymbolLayerV2)

● Egy LAYER több CLASS-t tartalmazhat, feleltessük meg a stílusrétegeket egy-egy CLASS-nak

Többrétegű stílusok

9/20

Page 10: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Új funkciók

Vonal („sraffozás”):

SYMBOL NAME 'hatch-symbol-test' TYPE HATCHEND

CLASS STYLE SYMBOL 'hatch-symbol-test' COLOR 255 0 0 ANGLE 45 SIZE 10 WIDTH 3 ENDEND

Vonal/pont kitöltési minták

10/20

Page 11: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Új funkciók

Pont kitöltés:

STYLE ANGLE 45 GAP 18.8976 COLOR 0 0 255 SIZE 11.3386 SYMBOL "rectangle₁BG00I9GVJ"END # STYLE

Vonal/pont kitöltési minták

11/20

Page 12: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Új funkciók

QGIS: raszteres szimbólum

➢ SVG-szimbólumok mint raszteres szimbólumok tartalmazói

➢ Raszterek beágyazhatóak vagy hivatkozhatóak

SVG- és betűszimbólumok

?

12/20

Page 13: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Új funkciókCímkézés

13/20

Page 14: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

További javítások● Vonalvastagságok, méretek:

● QGIS: mm vagy px

● MapServer: csak px

● utils.sizeUnitToPx(sl.width(), sl.widthUnit())

● Betűméretek:

● QGIS: pt

● MapServer: csak px● pt != px

Méretek (betűméretek, vonalvastagságok stb.)

14/20

Page 15: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

További javítások● Vonalvégek

● Szaggatott vonalak

– MapServer 6.4-ben nem lehet közvetlenül exportálni (mapscript problémák)

● „Well known markers”

● Metaadatok

15/20

Page 16: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

További javításokFelhasználói felület

16/20

Page 17: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

További javítások

● Tesztkörnyezet: alapvetően *NIX-környezetbe szánva

● Makefile + Shell + Python● Cél: kimenetek

összehasonlítása

Tesztek és dokumentáció

17/20

Page 18: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Ami még visszavan...● További szimbólumtípusok (színátmenetek, vonalmenti jelek,

vektormező-típusú megjelenítés stb.)

● Attribútumfüggő tulajdonságok támogatása

● Mit tartogat a jövő SLD-szempontból?

18/20

Page 19: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

A közösségi szoftverfejlesztésről...● Eredeti repó: GitHub-on

● PR elküldése: 2015. augusztus közepe

● Tesztelés

● Problémák

● Közreműködők (nyelvi, hozzáállásbeli különbségek)

● Hová kerüljenek a bug reportok a PR elfogadása előtt?

● PR a PR-hez

● Attribution problémák

● PR elfogadása: 2015. november eleje

...avagy életem első (komoly) Pull Requestje

19/20

Page 20: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele

Eredmény

QGIS 2.10

20/20

MapServer 6.4(via RT MapServer Exporter

0.5.0)

Page 21: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele
Page 22: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele
Page 23: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele
Page 24: A QGIS MapServer Exporter · RT MapServer Exporter „RT” = Regione Toscana Első elérhető verziója: 0.2.1 2012. december Eredeti fejlesztő: Faunalia Cél: projektek átvitele