From 62dbfeaa286ead35ac43515ca18fb9a05a7cf8ef Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Fri, 9 Jan 2015 16:13:04 -0800 Subject: [PATCH] fix rasterlite plugin + add visual test - closes #2630 --- .../rasterlite/rasterlite_featureset.cpp | 14 +--- ...lite-globe-256-256-1.0-grid-reference.json | 72 ++++++++++++++++++ ...lite-globe-256-256-2.0-grid-reference.json | 72 ++++++++++++++++++ ...erlite-globe-256-256-1.0-agg-reference.png | Bin 0 -> 19070 bytes ...lite-globe-256-256-1.0-cairo-reference.png | Bin 0 -> 18994 bytes ...erlite-globe-256-256-2.0-agg-reference.png | Bin 0 -> 19070 bytes ...lite-globe-256-256-2.0-cairo-reference.png | Bin 0 -> 18994 bytes .../visual_tests/styles/rasterlite-globe.xml | 21 +++++ 8 files changed, 168 insertions(+), 11 deletions(-) create mode 100644 tests/visual_tests/grids/rasterlite-globe-256-256-1.0-grid-reference.json create mode 100644 tests/visual_tests/grids/rasterlite-globe-256-256-2.0-grid-reference.json create mode 100644 tests/visual_tests/images/rasterlite-globe-256-256-1.0-agg-reference.png create mode 100644 tests/visual_tests/images/rasterlite-globe-256-256-1.0-cairo-reference.png create mode 100644 tests/visual_tests/images/rasterlite-globe-256-256-2.0-agg-reference.png create mode 100644 tests/visual_tests/images/rasterlite-globe-256-256-2.0-cairo-reference.png create mode 100644 tests/visual_tests/styles/rasterlite-globe.xml diff --git a/plugins/input/rasterlite/rasterlite_featureset.cpp b/plugins/input/rasterlite/rasterlite_featureset.cpp index ef850780f..db60248ec 100644 --- a/plugins/input/rasterlite/rasterlite_featureset.cpp +++ b/plugins/input/rasterlite/rasterlite_featureset.cpp @@ -114,24 +114,16 @@ feature_ptr rasterlite_featureset::get_feature(mapnik::query const& q) { if (size > 0) { - mapnik::raster_ptr rasterp = std::make_shared(intersect, width, height, 1.0); - mapnik::image_data_rgba8 & image = rasterp->data_; - image.set(0xffffffff); - + mapnik::image_data_rgba8 image(width,height); unsigned char* raster_data = static_cast(raster); unsigned char* image_data = image.getBytes(); - std::memcpy(image_data, raster_data, size); - - feature->set_raster(rasterp); - - free (raster); - + feature->set_raster(std::make_shared(intersect, std::move(image), 1.0)); MAPNIK_LOG_DEBUG(rasterlite) << "rasterlite_featureset: Done"; } else { - MAPNIK_LOG_ERROR(rasterlite) << "Rasterlite Plugin: Error " << rasterliteGetLastError (dataset_); + MAPNIK_LOG_DEBUG(rasterlite) << "Rasterlite Plugin: Error " << rasterliteGetLastError (dataset_); } } diff --git a/tests/visual_tests/grids/rasterlite-globe-256-256-1.0-grid-reference.json b/tests/visual_tests/grids/rasterlite-globe-256-256-1.0-grid-reference.json new file mode 100644 index 000000000..e023c5e7e --- /dev/null +++ b/tests/visual_tests/grids/rasterlite-globe-256-256-1.0-grid-reference.json @@ -0,0 +1,72 @@ +{ + "keys": [ + "" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/grids/rasterlite-globe-256-256-2.0-grid-reference.json b/tests/visual_tests/grids/rasterlite-globe-256-256-2.0-grid-reference.json new file mode 100644 index 000000000..e023c5e7e --- /dev/null +++ b/tests/visual_tests/grids/rasterlite-globe-256-256-2.0-grid-reference.json @@ -0,0 +1,72 @@ +{ + "keys": [ + "" + ], + "data": {}, + "grid": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ] +} \ No newline at end of file diff --git a/tests/visual_tests/images/rasterlite-globe-256-256-1.0-agg-reference.png b/tests/visual_tests/images/rasterlite-globe-256-256-1.0-agg-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..d83fd2345e4120691b10df28930266907c5e6319 GIT binary patch literal 19070 zcmd>F^;;C*+n!yPuBB0sRuPa!q?hhq8WHL4&ZWD%yFnVHmk%fX0D$Mz zl;F}&w=YGl*(9t5)peNVJ^2-Em=!~mJ}F2lS@SD;3TfJENSmb(=^lP(~RcR3w^H< zDWM$l$w*T~D+q3*B?u3f*71VtTWVMv2&l)2s7EPSS_r5l3Bsd=^+H6n!p$v}c=Tf> z;34{E27H>y0`NFtjaXsrNF{fD7(CL@4$fwfF036Z2u~K)i;>h1QGkaS*c$NZr%I@# zE0}v~yBp|OTPS!~Dj0;o4ZX~*^@a6QBn@Kt46`J(QWUkKHQh{2^&CaCvdvudB($;= zw2}nOQWXqiG=0nrTuns`vLy^t;jXswrjd#suG&@}nug&LpHeh^Y%FXoK{@q+%1L7OB9?VwJpQ-+}*vL4a{xb z6-;sztyA3WETwF6f}9Ox%}Nw(a`b}SwXD+g-NG$BJmuW7Jlt)}?7}_l-NQok;5KFY zZs}&WX_lVh@}6bxHsPLL9xlNiIzegHK@p)oZh9VNmY(VE-re z5g|Si*52iDVct3s&EetUUZEM*p_P^qEuLZJVNvPnk>SxPG5X0!&(w;t6kpHC*0iYf z?BvL()J*e?uJV-VjEoGs^g*w*j_B0dwBj6}lAel;((vqomWtTS(mJ=w$(p*x#QI6k z&W(|_jD*gO>b8j=1G$ld+tEM%R&;KpkNl1NewH!2^sVRXuaT{B-l6-^-U|J$HPO%(!wjJdp&INU4uATP#1Q)lkj|Mw?eH_lK+Npa+q zoEnre1o0k*jLL#B=(jS2Qko$2;iUNZ>sBdp*P&L-8F(*YBuu)Fa29RFPt^yr?QM=P zYV3zjKD!J4)UQGHx6duVUR%d!y=?T?Rd=ChvV6GgJZzp6*!UJVk{SDdayUx#N(kV) z9P%ceWklwBjEJc|o-tvG3de|via75>mJ5VE2sUf#k27BPmH#I!>U+uS?RLt_@;U|(xRGB~$12XLgh#73EI&ZwfiRR!);uPl=|Zf-aK6}kLq?f94g zqB98XH0*HtcYbsBSN!5E6=DZs@gwfto>9eoyd1RlyArUNp*+B}e+?G5ms9S1 z#!e5%K%->&82HtX`{mKMcgN2pTOQ8Y@hq_sLG(Afd(934$_|zvBxL|U_rw3fSRHN% zM_X;@*@^r43m*T9t^NJld`%5a^8C>0w)O-4`lVLJ!mz4X80|H2n(N1ugU8$D^=%0d zUQw2T`XR$pspYIuA^MyM86QUAJwaK z|Lqfa824W1yjBM`TZG`y$4Z_l+S(%#`1=DNq}}5DN3P3&iSacWK|&(fLBLrUZb%gL zr*p$(UKghlCE#EwbosCG>65QL!WJLD+RlF_>F`Ob4oveVNKiXIWN0K=r$B<7@IqBa z%`zPc$xNQllJ`CD_Wrvhxjtu27mcU$2OUB06n_)y%8v29vMZ2pC#MoWma03f;74N! zEoZ}urhk2)?0L_jk4ymp@h-7W{RcPiiN6q_WO4oqeU%0cD}y2v-|}2cX45o-`fg~5 z7PWzTJVN!}?xHI1>lF=Ed#~4Vy;fFGk5>s|<%AzxHchV!Q;tzF;-D;Xr%P&()5KfL zX^FWx3kR@euy7`{Pld;x%_V*3wI7QqAe}8?SUx|`VVR=Tp zPgIB!;9>I$JX{(vr7i5fi&tF5-o?0mdO0y4CayQ@sE}jd#hk%Ww~8 zP{wH1HbW zl7~JIM6DjQtG9ZtEVen1e2beD>oeO(*HWxpeQ0wJyqzhStNR^J*%oyFfJJ=09#dZ_ z?|<^O(X>Kduy55PXr}a65u*#y1}Z^px%`w-|M3FUKTm|_9BVs^K7~{HxP#40ZuDN+ z9{2&-el~bYE9J5UPO(L~CT%7=ii&vFqI%E{9J?EB9;h7c^k{j!$I|&%`>S6D0tAZM z_DfCZZhG8~FNoCaMmk>_wAtx3ZQiVi^qGyd+1ETCcZG+)tudLcY2)4h)mYNg(*qiM zbPT-v-RZuW09|2$hDz>(pfm#DZKw4yjs*NDP=z)7KxyEKFt*R&xjYj!(=6okw74gJ z*WTlE3)yQdwI5sag@Rs}TpEJKc?H+Rt`kutLv%*xeeHYrC%A!;dVSK*NX}&Lf*u)% z;?J+HXodX$Ep>35pppoe|D0?;{l*TW*?cZbY`iO(7HnfQ1yEJEhuSSN=<@QzLxExE z`N-?*`G<$2UR+but6v~!=2eCF+3-q`ow)1u@0Dery+2o?i2B>pF^-{!4O$c>+`YpN zFkQGg%TVV${@4?pka-Sp@UUoJa2R#F5!pgKUpf;-m%7G&+<3@{jrrIi(S0~(`r3(= zu+P(Y{`0GlB5R#V-=i0YD2UPRW{Rpx?)6m^N$K+rw|`?Csz@Qiz+-V#m(V-a{BE1G zYR{DevC}OIS<#)qqdfk_6(Nsozo{t2RFP+Cwi%NJg6@wivWdS5h|wQqVu3;t)IFY4 z`7>9G!U8*6FV~?i*xKU!@w5Q$^wa$XWTJw9n)UUmL!RRsQq zTp^dZD0?5S2tB$x?0GT~c2RaC#O^2G#s}%%IWE7S`19E>?9-|y1g7vzEh^x#@HD~a zFt7nC>dztY_wySry!?SLms=Dcsc+V?@Ydd4m^sZpjh8m=ZQZ4%oe#%r0}l@`;$AiD z)$sAUyS*3m5u{drA@cB0P;&60%dZ-R48orjE;&N+SB7%rM$q@}PRI`O%L|8l21XR! z&K(%E%PmHp6k}8YT70pO)MT)xvMyyb&^3>HK@VR`PzS zN5n$2q@-k|6n!fpU*b>w$8a4XynGF7_f{hoQon%hE-HS9mD|J11F9AOt3PqSO9lIl z{c!Vx|MNUt>UbFNTnV`QLkM?R%|X8Ejlh4nMjI~886#`@&jqT76RAW$HvV=ww8=fU z=KenkWLg@BAu>GEIyS09y@>w5vTdE%pn`$h*wVRrtmCWYh3N+AEFAHySLGvLzaqQ+ z&a|Dn_^IC2D4yHSPZSjNc+~Z_ZX8c*R>WVrW%6`uDT~N@UIYZ(-2aumBcxp}BaEdL(yd;)C5HsKleqPHlLUgRsH`ABAu7*a z(Snr1BIq$JtVu$ed75YP|m;Ny@w16 zh>WzHNbE#w=Hf!+@Dm~N)iU5rOyEw?5)%N-98l?qiTUiNTzS~(aa+by0r-%wApp$I z5^ohejiP!rpI5P4@;Hk*%oFN*LPh*aHJOgk`HWU=pU*f`GbbwY~< z2JOM8NEl6@_1-HrS|#HY{m*cP3){aDVO#UObEVc);@LuUlr+-HzVZ2DKUaFipS=yC zAI;<0`0(9%zVNgY$HVz%F`->t)9o-P_OacnNG2GRRA317_F!)WUYt#WU}%Etbht1e zOcGFwDU(j9^k!ssX-|GQGfF3hC1 z^;1nR8HCN~GqAF9yPadeZ*Tvrv!k=9wZz?Ce^LM1+;k{kq;3@-4COKd+s}Nyv{8@E zmio8k?YeEZ^lOShW!=hWBd$Ci?ct%~bJ8j4EM{8O4=2>d+i+ky4=X&Fil2_^u`3WW zw0Io^;3VVV{NawTa$q;2f7yTw95|2sk^XVZ7#ed<#;qQTQ*b|2q4fFz9S=ouWPdk6 zJG=X~hIk9!WboT_f1%k@)^;FXL)49plE{6ZJ*OK8sDR? zsvbpNF0F!F^R}$wie*N zZ#sN&)ceqGPi1+3c$LDn;An+VUzv%Iwu}ia-nT>a|BaqvIzRoT+aZS?1Tuu_htO!0 zWHc@8XFs4IAcM+(+i>>U;_I7hG2XZY#&1d(Ag0bFxj#fVu6sOXf zdg!BLA3y0IM{xsmI{E+hTm(Jc;fgon@~4;p;_dIBy&EAM6aJvnmjH6t`!|bwbyMeq zh#l{v|Cj8^43-ZJ2|?d9;+$<>*!RsR#Tj(C%qU1}d!yY7(OKC;`1(743thJC=2YXW zO}Vuw>QUpx`X<7Zd)pcrKhha17E$m1a^U6@dNF6w{D!fw1hs;x-=9THLUs}sRw(Mn ziw?y7k)dnY5>Z&)CR};E>SKq*8WX@sSC+dU{+ukcTbi1-YNWm;q#?Z^#i0QE8NOG+ z=@hRBQ(j+ryxh(a^5}k;>l70aEAgulHmI8Y?@O!p9(~r>7IgsLqO+2cJa)Be8y?Q? zOV`zawe_ztxH=p%fEDV+LEO&+V+eH#huTJnbX44*s(Xd-?2)KEEECP4tO zZ{3!yq@6Rq>-7FP75$sXuD&#m;GFx5hIh0At z$1!!t%~|Pd-)s%$;o|5}kbfSu(Wn~+A5d7DoA*$U;IlGM@xyIfIa?M9SVS-dVK<$f zo#o{p;`Ghipf*fzW;-yN7Yd1EKrnY(9;<|PH^CrrSwhmjDW-j*S~8r#q0vR0+Gjw{ zws=;f{TPe+(Dc~+^!hV^_vq7Rmpm>AD{v)m*WK!l@W@)%KrQhe0B&wHKB;+~=4R#0 zf%g7OV|8Y+)^yfxplQ;S)nt6d(x7);g&vg3l(_v@vNGTqT$>qZ_T|g7k4CuQ1LfYt zx6sJaV7#FAh=}$%NC?4)_>vJd3#3W=h~1R-p0v0`d_@Iibe|v-5Zm1PiU&`W7%~5S zyZploS=AR`wNH+N(CU1=UHtqU4o7w7)j1Fzk9D4eZu^3_8+k%2%WnUURL~0V>kP#F zJRk5bXA2+mFERY17&?w00XnQ^J+_Yv<^TO>c#3fypLK%n6RR$=nqd*qT!DEDk0`-Z zB$kzpcvj8NyhWdG86&0f(zvQW_;cgHw3URMeu{X_D6|F-3u)%So3r=*TT>JFR9$10 zy4XjoRxzw@6E@ALvLE|?;xgeQi*|fDaF+YKZy%1sUZs@O69!+?^vLxJ=!IXlIs7R= zVsG2|UJWOCm~Z@TKe~5w&3vQ;k(M8v=qqwkeb?fGIM6u2IVPVPc=RY^{n6D0wjla7HHU5R= zj62AFL9@>2J$Sij zr_!SKxH&E0AdNT4dqUaD<>@_tR4jEUeo2%>wiZE%OYq{1X@<}G3K~CQl1h16-O`qd zs^Ix~Vz59Gp4XawtrU{kR*juX(*B3CSv z(X?J!=$SE@o}F7fXj{~XE1xw9n&#SzrR<3Nwm7Q6BBM||SILt-ZvIV>F*88@*?o#q z8tJpRL2SIAadF5YE4Jj#T0K+V=Rq(=co@?}3yXkXhu>a)_O^_pV@-3}*MIvD_qP|C z4?n49tJY4MmYz@+&J^VN;vGj9Xf<+W(0K@RK0#1xd09WXsfb!xL4(wc%uWk0Njwd< z_FfHrCP5FEu}Bp+r%#&{Ek7@bsL1EvOKfHXeK?Nbb45kIvR3lKPjBkpDyzz3Rr1{T zwlujBVRbvlom_Nw&VS?xDZ<+#>ioH5eTEb1K2oRqEF6KeQMdzUl&2O%nCt*$t%T9yNibtgQ0T z+JLW(5kU%TjY0p{@wtP-Fd0p_B56=u{LHGFE%(ff;-^eSzBD)s3k4BiJ6G$SrvS&W zs+u7qOZ$)N8Biu5z`1T4trok94vxFm$}92ilF#A5*I=EEo}C>G6{}}=+yTZyhfOhM z-Og!b0IH1dC4e^TVuIg~!0pRCp;BnLuf`?q!9Rhe=`Zi7G=A*fX>2EMX1W3)l=4@K4> zjA=0vcozO>_d0_b1z8abPcev8{b$rADImA-+_cI7`3h+R3zTE>@%};`!{$FQSBGEc z>q9N*)W}|;N0tQob766j?Ck*L{QfNz|HI-b?U`w>o=)e>)R8h&a{AT_sS-hBOJL~(N~=y_FmGLs#6d$ORQKJ2m* z^M}2r=1@KwIy#Pq_YCD1eWJeVPm|MQo`tEZ z@N|TPb&m!q$?#-Ecuk?7tv7b6{QFPY>FKYa#vwZh{q8D%%!wTyk!gi<2kFWu=3z^y z-7zK5GQLf6rXDUCODLC0GVcLmPI_%_$$BxB!76?KtF#oZ6#PbtoSR2NlzFYOajnsi zmX`g#M_4N#-yhaIA_r{#;;jEIeiqV(RgYz>lhJ(j#9sE0b1)OrVQ8BX0LaYV?KEl| zObE=#Nbeb-tFXxt=nP^mG2w*y<_Qi&u%-@pI4Ir=sH zW)!vIUmkY>1ixeo6#)QXJ+?cp?C`k0FKRMzueNK}|6mlKHK=u(8X`VS&lxR;i#bl+ z{cWc&QTuU&6leJ;a8gl)Ku$S~jc9cvCA&I&Nj>BhoqPnALujf)NYPOWY-?lRy*l?p zj}?}s$KjH7`@D|!cZs-2{x4kbBv7YcR%-4-35n*<(TEX!)(oG&@}Zt z^jn^tQp;sv#mopFOvk}VrQm^#;=*jX#r2v%;8+8m1V4+G3hQuHXlqj~relqq}aIbt1C9ot-|uckwhwd&}Mp^nqs>F&=MiqCFny1KeX`Al{PPj#~I!^Fjhd>i)@1;MfL&8u~ZTrBNG7c9o0+*cxA zIH=}iO%38znZ*ThfH}x%IFS=-9Q-Ori&z6r@u}_kI6?CQ6(z4tk>egRy$7=vX?<|G z*E*PFf~gP^bxd+z5UpMiDgsgSAOyzJ-%8>_eMx|@4qWp=KJ%)kWV<4$VIexG<$d-G z{knD-a&2$E_nwud{0Z?m? zOr_&6J8Naz@%tOwb_f089YUbo5(E-0_{zm=^OXw+{jvDVlrkb4Ee@?xjOP(2nOgj6 zQ@2-*l8TCyi57G5Ov1a{ilH#@{A^N^)2vbV=H}VdLQIcxY(xxnOU@b;UT-=Tz zVmzO-pRuH4%zAJ4Ah=0){fI2t^gDL{c2RmJfB~sQaZz*vY@Q^#DkiY3Ok%ZFQf4xz zx$Jlv3|Nfmod;R5ryK9z$&UuTf@O(Hq>KnsY3~jO_Yi%(;!USin^xN&RE{=R@dZIN zPODs?#4ukDX+Kff_v~Cr6#E-vF|i(h)-AtBs^E}^dzV_DEr9JK+8T+18;vH3v2P4N z6LL_mvm8D^P=0e%K1Ny`Zo_n~^lGdFJ>U9LD+z%@$Sc5#+_2NHLkNp)NXZyp1p!A+ zLjAW=VSa8JZN04}Wxc)mpN#F>-U&6l4mXiwF9DDk4O2n0y0Jp|CYw}-B|?RV$)6w? zXu5{SO@=Ye-1=pyV(jnUWsYrOV7`_imXA!3rAVACp#5gi9C|y4cKk<8F*Vf*jby8; zNVKSFk!^)+ZAgN;DLo*dT1(Gn5&_I+0*0}gbRd#*3qC) z(-e%(BK+@3Wl|Ndq7-bP0JMP^qQU?T2$lb0Kx@v$TrZbY6h7#>iI(?Sait4H%CkFD z8R=X41`rivj)cO_u7dyo#@3xBTFH{5xO(r`3ri;LG;Y?a4L3~VwC|INvVRW`6+j*Oq z_>JbSr<#QcYk#({s;{nYf@_Jh)h?>+Be$*Q6t--_k?Xamr?sj7Nj#ev1qYe6>KhfZ z(-9H08sY=#Y|bFMAT){6F|alx&`4Pgt<$B00fu0@%tpl2NYUDwyuAF`eA{8rBW#%1 z{H(*+I;tv@%>tm!`ab`fD~a`Qv#>BdwZxt+T>96o9j0$TsT;j>Wjhs2kQ}px)UY`> z9Cn>Rj+mjBaeXoCGlf%u9YV5>YaX3Utll=FFa34-2bgaEEqQJl&p;QQHC=Gn45`|n z!y>Pxg#$gW$5sy6A@fisj0-z|8@o{R&q*1rJaJV+q_dNVo0k^w!CW{-A z>$EWH&gx3>w=+CF{o86{H39Mnm zwTure<1CiEge4?qX5Kmh`gOky%-=m{WD?xZR^*e(c_A37p&S_~SZQqPXFOM1#tv{8 zv)qrd&C;HRHdfnowRV)0@WqW!@JoUsX+yBnI!XxLI$2778kTUV^K=|rf^-da)r$Fe z`2@cII^3;o^92$~9tMs??yms4AJ0=w$Y5IHSBSSQI#qSJ6^XVp4}3D52o3I+oSx*G zI6;pbQquH@GDV^%cvu}iv#&ACS}w>F5IcyD@JfnL+TJdg5z##>0juGG3hOZdj3X>N zheHsu?A-wUY7y|Bp$vhaRwQrE`(Jp*x3yREhxR(7Ww6O7C6)CJxAxD3{eCZRZAEz%K zj$Ly62T&6mT>bAv4OpW41jYRkBp*Q!6+%1qQ-15FfN7uo#f@?xw<8uo1t8`#rX2uQ zsVO4(*A8(xMP&>tnz1?3{uBmmY1q+dAswdFD@`8wO9^^6H8Be0?$5243QIXJ)7En% z)IIruQ>^cF2p2DA1VVSX$d3Tv6tZh=Rl_bbC1zG8YX`*27#B@KjB!LB;m<4lx7qi z!5Tn;`0r;8u7W~SnMN*W_?-6ZXP)((S60NxjWA5fm`!@Me{wr4Wp`*ciZ3y{Y+kl~ zVPK9b?`{g8F8Bq!K$X20&!!+l#{kG-ql^&5Cs4;`k~JgSv%$TZ)+urerOJO+bK8Gy zx4xL-j>E(q!VX`E4)A%pOSgzYaG5zi#tA7kH8{M z5>-5yysbSB_gjDN0%LsNb|5T`#xTjryR43*&Yid(gCDV zgM^@QEd?jC>COL)g$Q5h;Y_U@B_cqo3za3P3Oz z5dUWU|5gN%m}T0VO}@TGl(rugHcwVH%Xi00Z^*wglcBi}?61|sLzw^ki3V^Ulu0h; zN<2$^XtHqSV;2fHdZWa=+37rJRbyoV9KQD*G8|6&s2?gxV>RF)_GrB-*A3CXLP`4MO7kew5Y`&ke zbd|{Ah#RG>^`j$Ij{*=>OOp|b%$hD`^2UoG;mK0^C?nei3=UP`8GwcHkmbr$`~+wX zRo!NAP$6N1Fa#X(Y+gRKoP*`(EY1F&;IetE`-Qt+mz|OElqLlyz=@G4h?tc&DQj!2 zvhLxZrd<-Xe5Z@(E1=bvgiEF3ysnoLUutN`@b^#I3<}~BEt;;1nik&q{V#4PCP6j* z4zO#zX9T)Nc(|H); z-)TAh#np*}o`rCuFP!OX+1N)}GJG>We5oGu^~$nUR$RKf5UgPhkpMe8w!DT>}&;#-p2j6G%f}m*051=XH8dSW&Bu_VrKyfBqC4%$fSnilmP`B&&bfxDywSQ z>T2s|OXrinYKaUHYAtm6Q-sCvFUH@|jrB--sV_3jF;rDm$q&0y z2~iVW7enB5CDX(Ybm#-Zp8z0L!l!OzuGL@Y1FGm5IuJxH7m5coAh>r{W67JsOXnfXG6estMc2jZ0N5CT`}^Ybv}eKsnW&B+PyfFmKw?kH z6}Z8f@t)aGuUFf)&0UYpY~Eta3Jjw-J}1rCdNvIJu(C1_%l4m(f9#tL?&#=un4JH8 z$qt80*MEOul~`0A9GQ1 zMeu0kF5%WkV`DEiQvF`Sxj-lo-hb@Z@T7@Ytk45;3OstYC|U&rg9EEUAXf+%9RM}@ zIq5g{>*^@Z*4Nip9_`s$3oP5${170#q-jy;W(G9gWSF!S#Au>7r$3sfufU@ei{ zhs#e)gdt#+B~>lGHVB+H90v=@q3d2{ytJyEUEg0`(;Zl5t z0P*>U?`8v0{UMmLL zBuk$-r8<(u5o4(4ZbZ(6kYr*N#OGPK-A97H9R2}jH{W3)%YP=_yb$?tx48TJk~Vl) z7-O{&Bo(o-8+?6j^^u+82RWQQUeG|Ny{9*Br_ZrKL}h(nC}8_qyn>zm#Si5ED9*ec zhYu*VC-ds>#P}O`5b!_`e3KbcWh53O2H=J>dY+Rc%x0zLnfa%dSiuv^hlhtxOiTjp z!BaF&qXA#U#r=AbY8EXE2ln=PdG;510J1V9x}m*&uTZ^Y#IVIm;}y=~2@HrK=K_AX z@;W;^6G0GI=Mfy)>A^J=G}S09fZ6bFm4f}=)l4^hWUh%K!}o%>j~546$42Z}ef)@n z;7}8%Z1MCsT$x{(>!@#D)-`L<>$<(|1R+bmOK0IBG```|QGL%we?~7N!o0)ZW+fQ1&<9*AF;>I~9C#Qd3iN z;-uvc8tJ^6dVIJ8!3=V~R`Te_t)hEG&6mn&)tlRJ^GsuM&&a>imCF7&CC1Lq6u;vL z9fY_H^n;vE6#ULb>JI6F@E|!A`S^TcZx<_O@UQ}jm)OrhT-!oB@q^Kq-RC~vr2m!DAchLX-eR-{ zQ?dh*+Z`8yWQO#UEga+jTqj$p7jbjGv^%;1Q1IGX%O~9J$d+ejGVVABXSjPFy0+=Q738RYPYf#L1sHW3*S}KmWJybXQ7E<=&!(17 z8vH$@`Ce?~DqpBfmT3Tld`k`{;ZGdsw|UDu%OAD%gmdm64bC^pHex<&Lp z=>_KJAO8Z9F(8aQI;13#G|F9ul8m0MHT+t%u$3A#ifn@+ zi{(`dQa@Lf0>h^iK8UnNHV%a+GGB*jgjF+Y!ETKN1f`@TNr|TUYVNDl;NjVJFa!mF z03$pvEWnAECKC`s1L=0XK`5{VvoHgSWnVQMYxt5wzQIi#8{69{=~h3vi+@TA%%>69 z1$3wM691E9%7cCyI+yye8l{VD$>Pz}NKOfrNWe36ao9UtwtdZ`mU2v&a_h5`x|a2` zlCe2I@mv^vvw@5YyoyVo5G#s6QtA`4h&(~myrUB2ap3v1tSTNX-H;vp+KE@z3?|*s zz6|am3V*~=^zR90^H%rv_44s?F?r>xJ0;zOo)2!+W+lT3VI-ju!y-U~8U|as61_>& zcT5@YrTr<3LhXzU0+0qyRsoI7Zxcs5!ptz#6d!9V+u_gR1jz=4rt-g@ zW>MdEs}^(M-pN&I*N|eMOTYRmdap=J1biSZ{F&`r^mud3_{CrDQ7nm))80p6^uJW= z-dav=eOXo4Z=o4%m*m38>N@VTuhFB`IJS92qc2qBNj;s$Gr4$pS%2{BQZi}Sj65c+ zz6Ox|a?GR%*>{q-zdES!5zZk`$xylc?GmdpSfXMwSJeNuW%wyxrWos5`A~X!;|`#s zAw3De9tbbZEz_A`k3MJr*)PM37 zC0Ck-Bu}on>Lqkz6Qa|ZVM9o$EhqeZbMb^1QFn=0YirD4N;qCI0DRJ*6zaNYnDvzi zU9e~urwe5_CI+A(s5Ad^<$`#?j9b`(URd~D677IxBlsq_pzrM!2s)P3R4}shq&DD{ z^o^m*lo5C10%@zOOb$+zF=>B{>dw#K@%^q%d_V%+k^mwCGh#0%_;xauFfL<+xY)Vp z1@5D>i4<1}CS4{`lFNUg>{FE{KTm=jX@U*6s43%iST8+yBLhJpE9R~yUp<^CIwcq^J8xVn{8jpkj%LuCmRv~EvaYrCPBn|0 z4+jK6zf%dJ@=*SQ%f|Ui>vMWWYNS+g!6y(Q<|;k`(0TM22|*+jVm#u}1n{z0L!l7F zqi8AL5G^~qTM**Zf*<=VXkI5pKm)icuhT*p*^g6JjS6B6tc?N5ea3_4p{Y_+8Y^Kdb?R;+*2gXnIq8p?`wmZRh2p&CMYwoXer{xn6rzIv2Et zD{Dlt^cokdY?;V%0x=YL{uqH`*hP)KWCSJNasq3Tpe3zm!S#}Pj8o5@ei}s5ez@(& zj@~-u609B^)omyU^~z@u$c>5EmOnwf3j#7Cun>UfX49s-+a2pf@r0e^kEfCZE$ zYn_#Vo|FNq7$&zBF?D6SW73+_!C)9IH*T#Q{#E~H7}Mt237)h<8L=KjL=?g6G1!kP z#=YPBn1F|1&kDc;gllm@2xuNst^7Y};MYyDm#^&BmNYgJWlBPll0pJQPcn?}(vdP# z?;=;NVWjnTbrJ(K#0Mt|A}>S6pYp9$asV};wsRx#fyu1#B+@`Q1}|S3qZVmEO}5o; zTwU;b1T9mQIC;y(9s7y5+e9mavoK)xCSU+U`bf2hwGk{JR!Rm!_a<_{q8VMIv13As zJnY%vI@?VSy2+m3o8f{Epiit7#=Q_%gx2XAvk@~8_P6Y zAe}4<8ch8gpgGq5Iqzv~wHIjMaDbN37C&A|F2E1i&zSgfUeN>fznr$>mGs;S$XFKz zZ5F!Ch9B~7On;Aya1mr_F!kA3h}2Bb@=Dbv+pSQcnk#l!;A=p_>>BUO3!LAX@h`9=I}}L zN8V?(p;Uuwn&5^9&{_hvae%I}BQ5w>Pgh-C9LyMcpA5i;7X&FKSHm`f?%3F&Fe34- zNk5ndr=Gne6EpL>_wO>*k1Wx2smk3wXd%ECyNczn0DUazIt+kdZZt|4!H+XQOs>~3 z5GnFxke3c;&>RFZ^ijJlw7{|?m+5?ag_gL*YTvdHbqQa>3g7~Gb&_qB5?%Rk5;2b% zr!iHVaJ&;Iam*k(kvwtGm(a1)lBbrM@zUnm`95uRb*(VX^Fh4C|2UE{xK^k2gTPpL zX7C)P0$-nAI-@@ELHfm%+lT~nPJ4=L2Y``T_XyMYt}ul?EfOIY#E5hQKEwK)uA36Y!%hp| zB=xs%ew|5ykT4trpm{-WHB^25!$ti?0tgX{Sp|e(I$Upvk`p1ja!83xh=Qgbol_Np zV58m^!TfdUBTd%xf<9dN&aW^$%byekw$w71dsgfVGZz=)dsS*5s#ha3nr0w2)kfXd z{mrIt^;>olSdH!&hohg8rLfZB9`RKQU_$Ek0Dxh;2XSLBB`LGAMfo7mo$nZpuOnzv zD4z?us_cAE&6@Em!3H>wH`iP!5Lvj++A1tR=N4=fEmiL~7^Yra)El0_0W4V^I!Gxv z9?lvcnJ6XY<$a^XwLa2iG3yG(<luC1-VpI(6mV_p!G2rhgrOBattf2&&Nz{xi##y)|I z{rkVoRRnnASfDmTPvL;E0 z#Bqz5);NOZ{=%he?bCfGN{5Nc1}Qp8)+|Kej#DhgoLV%1$|Sj@RU+eiX#rA0E*t?(xzJp>bPm#2A|C*7ux?@C z!t9$(xnwtf03}cIngL)))-cUmC>$h-nI^GJL_c9fgFy=izYV@xe|z%}fIe3Rls1~^ zFe$$WkUWS>+`mD*m+uryl6U_1T(~-zy*izx`DgThL}24NB_0ro!fUT6QC}7yRPt#H zN-|7`)v~ZsiRD8n0Vst8=z6GZNEyug#Z`U`&~196KA{k_g#0I|8aq7P1iIPyULozh zO*Ja@O^6{Kf$AF~Fa{AZ_p+Enn;7!sG)BWZP2q+SOlgdyM9zQ#LUVv5lF%XwFTB!n zNHzC;61DUO2HmIPpg^D7)Th>&gsZcZ$`*Yvtj%mBRu&^Mdsx`d22lDYK_{BT%9ko~ zSG#h3GHkp)C=N8x5%jOVH)jwWhRbJ(8)y_WPxzAppDk0eC}gmalD|LA-y>IlC%z6! z87Mi~$z(j$|90RH43ZT#1!bKdjSGKJ%-Bc52Psy)j>PQ$AfoJN(&Sk zM=Tb?_utS1!8|Ol?u`pw{pRXI z`RH-6@O$&%E;ZBZdtGm0?TDn_q!GO4IssEP^X<06XM5A{ZZBhU)}nk36LaL>W@ z?8sy4YR0O^pk`Rte%%VldJ-74qN?w3p}V_F+4u{t8X)kG{?W*Y!$KQwVWGX~xmYI{ zi2?4F%lEqK?5LmysxX3sbr%QRC##F^F$hKdk=?5}!Og`mRF&q;YaeC5lds>&$g;9n zcYp7{mC4g%T|M5a>Qe#w#i`Y0NmRlKF_1g#pBywtSOWr@In{4fArCsWUI(pxk58Ml zz5NAw-cJZ1RmC`u`Uk-J7`fj?PQH5&UnY>*LwC@m3!;T{{I|qUHbeUy(I*yrZ<`kQ z;bf?<7!KF3RRIvJp9AfI;S4E^*Us-3Wg5RYObvGdY9Yf#ZxRJo@=>Mo#;E$9HWT#9 zzNZ2g2Ml{ME~0jU)p;qIQ2`12-nqi)=PJhia0;MZOeya<1ty@4xMekZYPtY00puUq zJ`Dh!?bACdJD9}43XIdu0Q{2v({}i}QEg={WE_Q~op@tXUOsB`lNjg|rJ##pVr=%? zTA=oiD2l{(_XHU;NQ5chZKD?V=-e! z$m1cRp9(`3h;eK7*@8wuq8usBu^I5x838_g1#>j>`1?3UM}r55MdWhxaJ@@kF+ERD zmGAC$dD=QRemuOM_%`B{%k<)?Acf#tQc8Zj<$8a}$y+iq*jnp69lAwn9sU3|Dl>EN zR|M-L4=`23)$w`6t^G^IHH}`lKeTUPjnh|*>eKA1QRDaT3(Y)S`(;Bn30D!Pmfb6G zL{gN_3Q|if5vzf+N%!n;Uv6S{Sd$i4Y1~r71aYWtA_uOU_e=|mRiTwoOE9rgLIF~*I_#A>#u}u z`}+FC4%t65VKSzWn0`jAgy4quQ0FRL1ah+@hFqD%R+qv{o=TJZ^7s!TJs-4dTIV!y z{w@D!XjM*ApmJKUx%Cw&e2wwd1=%F>cHjIX&MMJ)AQOQ7ee;e4vvAW3OYrujNtuq^ za1kSYd2V6By8eFwzz9G0w`elKCA@GR2$ipZ4&XJ20+kh3699-zj{PkFNQ9O^$`&;D zI;>Ws#ZslIKwUfc?c3McR$r;feDOupzon%Gj34UY*Iokv8Ui4Jaeugm?ZvZm4gkP2anxHZ7PJ7Yfyv1UHAYi@SY&cE0>DEo ze)RwXxIkb+Mqgjwp}uZAjez^W2`~zf**}yjhz{5clp2jjlU5KEnapDV{Ms!bG!*BE z34mUEH|UHJU|%N#psfur_FIAH-@`L9(d&HcGB`oW(LMw~(j)8{3V(V5aM%-6eSLdd z>=5~p02NyLkS;JT&I@`#dIbuzO27#Q05KH6$oCCCtpGx~2*A|a>$G>{aJvX}wlOC~ z$2J%jOzH5Njdd!OfXxYp{4seldO+5%A3#7Lm&5jU^!D024?(D_BxL|SLn#43uVp2X z;AK0@32DJ@jX$348{vc^S4EWSIE429)8ybK*(KCoXRG5QF z?gnt*fgU-4q4F~TygJ=iF7oj1?d|QhbXQc>lT&n)(Z~M3zJAf{*`-Ail~y3)bMa!h z?mr#rzz-Z$^mGEq1ppiZptof&hCtANA7a4P51!!(X(g%*PXRwD0Q66W%8AO)05HfA zpBezu7Xkp5M@BEyf%Z-S(7CU>dmo;x9nZxH07^^KLnJz}2LcF)j!$-v-fss0FNx)8 z>UBE%c6L_LBnT;>4flhi57gG?gsAEa0zN-DoEIIR`r89AjmP(Ze%Na5gF2`J%--Gx z9Z_2a$%p{JD2Y-Tv{F7l7PdDOwqV4X-vz+EHBS+M6mWqcj|^v@PIt&s326{|VteO4 zJ7j};G7)CP^nb?)9xCqt@?x`>Pn!85GMsnNX9l){Az7iJ-XM+b0^ zcG%Z9AUGUfXT*INCLYWZ%HxH`50+4#>&A;u7%K78W=@|8&PjevHG0SqBg2HtXNd$J zPMx!=rKOW30rF$tzHYnI>g~an3Vk8^!{{$8T)ldAVd3H|_Zo%!oIv3LJ~99x0Q8R> z1b{J-==i%OS(Y3h>XN$vOe3cYo;i&k5gjmsV}^!FAjiYgI|Hf!1kg#6ATfc?&Yj&( zlTGL!asc>1ps^VY zpp%jPWVgV+o!!088fkVC0gyEYU~~Yu!y#RvGa&SQUy;!WV2JjvOWnIYV$=b|h&;SI zti2ZKfcLo=;G9Ue(_t2{xDa)T11w%V8UWm}?tWKx#OODmxPo5fyHGIzVA?QAd0YTo zzQ|MHF!!~PJ>qmeeD7X+i_Kxu3Os)2lPtpkxY&I~(NO|0eBbv#5=fyVU#MVics*wT zkP^?_rVYB`znPBMO4+TIf$bbOf zfl`Dq0r@jE&O=rE>UZznk2TQF3;~8Qbb z0g&MkrliOQkM;urk50=gyr@lRkgGFey2CTKvp86o6ZB z0}2@n_*nq%+WcIZY|b2+EZ6-7jQ$H8-PoElB6{+ zwb0z(X}8;L+O^q`rxWlRoT$I7c(A}Xg3hA|fDz{7iLwO2{Q#_FWPl)1Uq(C=^|?O) zCI$=#kjU4XGVF)wT$sJZYGMa*eSLkg{*^7n1LlVVzyLmK0LUlix<7uXZUZV0diE-n zfmeVQEfyaFz$L>0gtPLsI_IH!^nks4n@w7FaByTo%3^AVOYj21LjfohS(w6~9Drd2 z9tMEgfs9^@^#Pr70QG~rLbMM6Xl}tE02P4Klp#%<4~5^K|4aZV)b|2F2qYvtI)MKV XZ{zZ=J0>{h00000NkvXXu0mjfc6uz4 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/rasterlite-globe-256-256-1.0-cairo-reference.png b/tests/visual_tests/images/rasterlite-globe-256-256-1.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..d7dd2ff534abce5c98116fc0e2cf443172d7140b GIT binary patch literal 18994 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 XZ{zZ=J0>{h00000NkvXXu0mjfc6uz4 literal 0 HcmV?d00001 diff --git a/tests/visual_tests/images/rasterlite-globe-256-256-2.0-cairo-reference.png b/tests/visual_tests/images/rasterlite-globe-256-256-2.0-cairo-reference.png new file mode 100644 index 0000000000000000000000000000000000000000..d7dd2ff534abce5c98116fc0e2cf443172d7140b GIT binary patch literal 18994 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 + + + 256,256 + -180 0 0 85.0511287798066 + + + + 1 + + rasterlite + globe + ../../data/rasterlite/globe.sqlite + + + +