igormagellan / tiramisu Goto Github PK
View Code? Open in Web Editor NEWRenderTheme for OAM
License: Other
RenderTheme for OAM
License: Other
Hi,
I am the author of Cartograph Maps (https://www.cartograph.eu/v3/) which uses Mapsforge/VTM.
Can I add your theme as a download option to the Cartograph app? You can also directly contact me here: https://www.cartograph.eu/v3/contact/
Thanks!
Hi @IgorMagellan & Thx for taking over @maki ;)
Quick patch to add Hillshading support (tested and working find on Orux, mapsforgesrv & Cruiser)
++NoNo
diff --git a/Tiramisu.xml b/Tiramisu.xml
index 2125062..ac4549f 100644
--- a/Tiramisu.xml
+++ b/Tiramisu.xml
@@ -356,6 +356,8 @@ version="5" map-background="#ffffff" map-background-outside="#ffffff">
<rule cat="tms_terrain" e="way" k="natural" v="sea"> <area fill="#85a7ff" /> </rule>
<rule cat="tms_terrain" e="way" k="natural" v="nosea"> <area fill="#ffffff" /> </rule>
+<!-- Hillshading -->
+ <hillshading zoom-min="8" zoom-max="18" magnitude="64"/>
<!-- landcover -->
First of all, thank you to have added french translation !
But about it, "Contour line" should be said in french "Courbes de niveau" (rather than "Lignes de contour" that is not meaningful in french)
Be aware : Two occurences to modify in Tiramisu.xml : layer id="tms_contours" and layer id="tms_contours-lz"
Another slight modification : about layer id="tms_culture", french translation to "Trucs culturels" is OK, but not very "correct". "Eléments culturels" would be a lot better !
Lines 2684, 2687 and 2688 of file Tiramisu.xml in Tiramisu 4.2 contain duplicate attribute k, e.g.
<caption cat="tms_landnames" k="name" ... k="name" ... />
in line 2684.
This causes Java error messages and exceptions like
ParseError at [row,col]:[2684,190]
Message: http://www.w3.org/TR/1999/REC-xml-names-19990114#AttributeNotUnique?caption&k
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2684,190]
Message: http://www.w3.org/TR/1999/REC-xml-names-19990114#AttributeNotUnique?caption&k
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(Unknown Source)
at ...
Some SVG files of Tiramisu 4.2 contained in subfolder res cause Java exceptions:
Could not load SVG svgSalamander:/-402132102
java.lang.IllegalStateException: Unexpected element while parsing cmd 'c' encountered token '1e-5.071676' rest=1e-5.07167 (index=198 in input=m5.7229 294.59c-.035957-3e-5-.071728.0143-.097181.0388-.0254.0245-.04019.0591-.040164.0938v1.5913c-2.64e-5.0347.014552.0693.040164.0938.025665.0245.061225.0389.097181.0388h.50083c.035957 1e-5.071676-.0143.097129-.0388.0254-.0246.040217-.0591.04019-.0938v-1.5913c2.64e-5-.0347-.014552-.0693-.04019-.0938-.025665-.0246-.061172-.0389-.097129-.0388z)
at com.kitfox.svg.pathcmd.PathParser.nextFloat(PathParser.java:139)
at com.kitfox.svg.pathcmd.PathParser.parsePathCommand(PathParser.java:219)
at com.kitfox.svg.SVGElement.parsePathList(SVGElement.java:811)
at com.kitfox.svg.SVGElement.buildPath(SVGElement.java:816)
at com.kitfox.svg.Path.build(Path.java:87)
at com.kitfox.svg.Path.updateTime(Path.java:151)
at com.kitfox.svg.Group.updateTime(Group.java:313)
at com.kitfox.svg.Group.updateTime(Group.java:313)
at com.kitfox.svg.Group.updateTime(Group.java:313)
at com.kitfox.svg.SVGRoot.updateTime(SVGRoot.java:400)
at com.kitfox.svg.SVGDiagram.updateTime(SVGDiagram.java:257)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:653)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:529)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:514)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.getResourceBitmap(AwtSvgBitmap.java:38)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.getResourceBitmapImpl(AwtSvgBitmap.java:61)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.<init>(AwtSvgBitmap.java:66)
at org.mapsforge.map.awt.graphics.AwtGraphicFactory.renderSvg(AwtGraphicFactory.java:219)
at org.mapsforge.map.rendertheme.XmlUtils.createBitmap(XmlUtils.java:69)
at org.mapsforge.map.rendertheme.renderinstruction.RenderInstruction.createBitmap(RenderInstruction.java:130)
at org.mapsforge.map.rendertheme.renderinstruction.Symbol.getBitmap(Symbol.java:108)
at org.mapsforge.map.rendertheme.renderinstruction.Symbol.<init>(Symbol.java:61)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.startElement(RenderThemeHandler.java:266)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.processRenderTheme(RenderThemeHandler.java:113)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.getRenderTheme(RenderThemeHandler.java:65)
at org.mapsforge.map.rendertheme.rule.RenderThemeFuture$RenderThemeCallable.call(RenderThemeFuture.java:60)
at org.mapsforge.map.rendertheme.rule.RenderThemeFuture$RenderThemeCallable.call(RenderThemeFuture.java:43)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NumberFormatException: For input string: "1e-5.071676"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseFloat(Unknown Source)
at java.lang.Float.parseFloat(Unknown Source)
at com.kitfox.svg.pathcmd.PathParser.nextFloat(PathParser.java:133)
... 28 more
Could not load SVG svgSalamander:/128293502
java.lang.IllegalStateException: Unexpected element while parsing cmd 'c' encountered token '-2e-4.011271' rest=-2e-4.0112 (index=1038 in input=m4.271 288.51c-.037383-.002-.074081.004-.10749.0165-.066813.0243-.13263.0751-.1819.17363l-.016536.0413-.049609-.008c-.10389-.0162-.18068.008-.23978.0496-.0591.0416-.10439.10809-.13229.19017-.055809.16414-.037166.38696.041341.53743.040013.08.11868.18814.21497.29766.048144.0548.10089.11171.1571.16536.056208.0537.11337.10196.17363.14883.058539.0455.11515.0826.17363.11575.00312.002.00516.006.00826.008.055025.0306.11372.0553.16536.0744.1164-.0924.26018-.14851.42168-.15709.00799-.0197.018309-.0354.024791-.0579.033721-.1162.045813-.26799.041341-.42168-.00894-.30738-.094456-.64199-.17363-.79375-.079693-.15939-.24391-.30342-.40514-.35553-.040309-.013-.078372-.023-.11576-.0248zm1.5544.0579c-.038666.001-.082508.003-.12402.0165-.041516.014-.083889.0334-.12402.0579-.040135.0245-.079997.0588-.11576.091-.071517.0643-.12932.13634-.16536.21498-.073078.15944-.13586.4945-.13229.80202.0007938.0769.00701.15136.016537.22324.00953.0748.021775.1391.041341.19844.00765.0232.016087.0379.024792.0579.092101.0432.1748.10575.23978.1819.00511-2e-4.011271.00053.016536 0 .00238-.00021.00595.00026.00826 0 .04531-.005.095655-.0192.14883-.0413.11185-.0465.23847-.13232.35553-.23151.11894-.10078.22368-.21678.31419-.33073.044865-.0562.090821-.10619.12402-.15709.033202-.0509.056097-.1006.074414-.14056.019341-.0422.030192-.0838.041341-.13229.010345-.0431.021458-.0876.024791-.1323.0001826-.003-.0001561-.006 0-.008.00294-.0446.0045-.0895 0-.13229-.00529-.0452-.018838-.0932-.033073-.13229-.028485-.0781-.073686-.13616-.13229-.17364-.058605-.0375-.13509-.0527-.23978-.0331l-.041302.008-.024791-.0413c-.025956-.0454-.058727-.074-.09095-.0992-.032224-.0252-.063884-.0472-.099219-.0579s-.068821-.01-.10749-.008zm-2.6954 1.3229c-.046307.00052-.094782.008-.14056.0165-.045778.009-.090599.0168-.13229.0331-.041693.0163-.081698.0348-.11576.0579-.068112.0462-.11929.0992-.14056.16537-.010636.0331-.019632.0743-.016536.11575.00159.0207.010398.0352.016536.0579.00622.0251.011986.0469.024791.0744l.024792.0413-.033073.0331c-.0195.0179-.035512.0394-.049609.0579-.014102.0185-.023813.0308-.033073.0496-.020585.0396-.030313.0767-.033073.11576-.00265.037-.00106.0703.00826.10749.00907.0398.024977.0757.049609.11575.022992.0374.049795.0736.082682.10749.065778.0678.14623.12675.23151.16536.04264.0193.089789.0332.13229.0414.17316.0333.51376.0107.81029-.0661.14826-.0384.2864-.092.38861-.1571.011218-.007.014579-.0175.024792-.0248-.00966-.0464-.016536-.10003-.016536-.14883 0-.11245.034406-.21314.082682-.30592-.00106-.002.00106-.007 0-.008-.033454-.0437-.077105-.0893-.12402-.13229-.0027-.003-.00553-.006-.00825-.008-.050673-.0457-.10601-.0887-.16536-.13229-.12428-.0912-.26555-.17578-.39688-.23978s-.25272-.10743-.339-.12403c-.043283-.008-.085984-.009-.13229-.008zm3.6132.28938c-.18157.0134-.50916.11805-.77721.26459-.13403.0733-.25632.15286-.339.23978.013388.0535.024791.10736.024791.16536 0 .0884-.019632.17733-.049609.25632.018944.0215.03257.0452.057878.0661.093332.0772.22083.14951.3638.20671.071485.0286.14803.0533.22324.0744.15042.0422.29992.0723.42168.0827.060878.005.11427.003.1571 0 .042857-.002.087302-.005.13229-.0165.13497-.0343.27126-.11266.35553-.20671.030144-.0336.050996-.0638.066146-.0992.015055-.0329.022172-.0637.024791-.0992.00534-.071-.013758-.15443-.082682-.23978l-.033073-.0331.024792-.0413c.058407-.0875.071636-.16814.057878-.23978-.00725-.0377-.020399-.0727-.041341-.10748-.019209-.0332-.04236-.061-.074414-.091-.12821-.11999-.34353-.19491-.51263-.1819zm-1.8025.10749c-.33484 0-.59531.24537-.59531.56224s.26224.58704.59531.58704c.31686 0 .57878-.27017.57878-.58704s-.26007-.56224-.57878-.56224zm-.60358.96738c-.036214.00053-.072705-.001-.11576.008-.11673.0262-.25636.0867-.38861.16536-.26449.15726-.52004.39065-.62012.53744-.049808.0731-.086932.16489-.10749.25631-.010927.0486-.015505.0928-.016536.14056-.00159.0451.0001455.0829.00825.12403.016272.0822.054385.15178.10749.19843.053102.0467.12331.0777.23151.0744h.049609l.016536.0413c.035526.0969.09112.15013.1571.1819.032988.0159.068649.029.10749.0331.038838.004.080854-.00079.12402-.008.086339-.0148.17765-.0484.25632-.0992.03933-.0254.074856-.0594.10749-.091.032631-.0315.059936-.0635.082682-.0992h.00826c.024924-.0366.048564-.0844.074414-.14056.077549-.16839.15533-.41019.19017-.63665.012091-.0786.015399-.15085.016536-.22325.00159-.0699.00132-.13171-.00825-.19017-.00318-.0195-.012092-.0321-.016537-.0496-.10451-.0562-.19871-.12641-.26458-.22325zm1.0831.12403c-.12653.1171-.29649.19017-.47956.19017-.022463 0-.044222-.006-.066146-.008-.015055.0442-.03062.0899-.041341.14056-.00159.006-.00683.0103-.00826.0165-.011774.059-.019182.11741-.024792.1819-.026816.30567.014314.65162.074414.81855.017277.0411.040346.0845.066146.12403.025797.0396.050766.0724.082682.10748.031917.0351.071853.0717.10749.0992.035634.0276.070535.0491.10749.0661.075507.0349.14641.0494.21497.0331.068567-.0164.13566-.0646.19844-.1571l.024792-.0331.049609.008c.1004.0292.17468.0177.23978-.0165.032549-.0171.06268-.0451.09095-.0744.028271-.0294.054676-.0602.074414-.0992.060375-.1195.085471-.26913.066146-.40515-.00579-.0447-.018468-.0851-.033073-.12402-.017436-.0436-.041963-.0927-.074414-.14883-.03094-.0539-.065498-.10558-.10749-.16536-.083979-.11955-.18771-.24827-.29766-.35554-.041944-.0409-.088514-.0733-.13229-.10748-.014684-.0107-.026662-.0231-.041341-.0331-.031398-.0229-.060124-.0392-.09095-.0579zm.76068.34726c.16118.21181.28748.46698.29766.73587.00159.0448-.00333.0869-.00826.1323-.00482.048-.011748.0922-.024792.14056-.00185.001.0002646.006 0 .008-.00826.0373-.019394.0741-.033073.10749-.013679.0334-.032044.0609-.049609.0909-.035864.0624-.072959.11439-.11576.16536-.055028.23111-.11525.4573-.1819.68627-.13381.46054-.28793.91538-.45475 1.3642-.082952.2232-.16868.44191-.25632.66146.00855.005.02413.01.041341.0165.038052.0146.087178.0217.13229.0496.00587.004.010795.004.016536.008.078743.0333.16462.0649.24805.0992.37141-.93264.71122-1.8818.92604-2.8525.0005292-.003-.0005291-.006 0-.008.036227-.19647.067186-.39224.066146-.58705-4.77e-5-.0481-.00407-.0934-.00826-.14056-.012568-.14148-.044048-.27786-.10749-.40514-.027765-.037-.046733-.0726-.066146-.10749-.01823-.0332-.032882-.0602-.057878-.0827-.1294-.0132-.24619-.0481-.3638-.0827z)
at com.kitfox.svg.pathcmd.PathParser.nextFloat(PathParser.java:139)
at com.kitfox.svg.pathcmd.PathParser.parsePathCommand(PathParser.java:219)
at com.kitfox.svg.SVGElement.parsePathList(SVGElement.java:811)
at com.kitfox.svg.SVGElement.buildPath(SVGElement.java:816)
at com.kitfox.svg.Path.build(Path.java:87)
at com.kitfox.svg.Path.updateTime(Path.java:151)
at com.kitfox.svg.Group.updateTime(Group.java:313)
at com.kitfox.svg.Group.updateTime(Group.java:313)
at com.kitfox.svg.SVGRoot.updateTime(SVGRoot.java:400)
at com.kitfox.svg.SVGDiagram.updateTime(SVGDiagram.java:257)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:653)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:529)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:514)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.getResourceBitmap(AwtSvgBitmap.java:38)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.getResourceBitmapImpl(AwtSvgBitmap.java:61)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.<init>(AwtSvgBitmap.java:66)
at org.mapsforge.map.awt.graphics.AwtGraphicFactory.renderSvg(AwtGraphicFactory.java:219)
at org.mapsforge.map.rendertheme.XmlUtils.createBitmap(XmlUtils.java:69)
at org.mapsforge.map.rendertheme.renderinstruction.RenderInstruction.createBitmap(RenderInstruction.java:130)
at org.mapsforge.map.rendertheme.renderinstruction.Symbol.getBitmap(Symbol.java:108)
at org.mapsforge.map.rendertheme.renderinstruction.Symbol.<init>(Symbol.java:61)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.startElement(RenderThemeHandler.java:266)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.processRenderTheme(RenderThemeHandler.java:113)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.getRenderTheme(RenderThemeHandler.java:65)
at org.mapsforge.map.rendertheme.rule.RenderThemeFuture$RenderThemeCallable.call(RenderThemeFuture.java:60)
at org.mapsforge.map.rendertheme.rule.RenderThemeFuture$RenderThemeCallable.call(RenderThemeFuture.java:43)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NumberFormatException: For input string: "-2e-4.011271"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseFloat(Unknown Source)
at java.lang.Float.parseFloat(Unknown Source)
at com.kitfox.svg.pathcmd.PathParser.nextFloat(PathParser.java:133)
... 27 more
svgSalamander:/-535669237
java.lang.IllegalStateException: Unexpected element while parsing cmd 'c' encountered token '1e-4.41503' rest=1e-4.41503 (index=863 in input=m1.2477 294.44c-.34568 0-.66725.20166-.99608.31128v1.0117s.49803-.32662.99608-.32687c.49803-.00025.99608.49804 1.7431.49804.74705 0 .9829-.48076 1.4941-.49804.49803.00025.74705.49804 1.4941.49804.74708 0 1.2451-.49804 1.7432-.49804.34944 0 .99608.32687.99608.32687v-1.0117c-.31956-.12292-.6691-.31128-.99608-.31128-.74708 0-1.2451.49829-1.7432.49804-.49803-.00025-.74705-.49804-1.4941-.49804-.74708 0-.99608.49829-1.4941.49804-.49805.00025-.99608-.49804-1.7431-.49804zm5.4784-3.8674c-.55012 0-.9961.44595-.9961.99608s.44598.99608.9961.99608c.5501 0 .99608-.44595.99608-.99608s-.44598-.99608-.99608-.99608zm-.93385-1.4941c-.078767 0-.21606.0463-.28014.0779l-1.9922.96495c-.26517.12555-.36163.51148-.18677.74706l.60698.82485-2.3501 1.821c.56227.11405.98417.46711 1.4007.46691.49805.00025.74705-.49804 1.4941-.49804.74705 0 .99608.49779 1.4941.49804.20561 1e-4.41503-.0871.63812-.18676l-2.1011-3.0505 1.5097-.76265c.2998-.14991.28009-.407.24903-.5603-.029448-.14532-.2087-.3424-.48249-.3424z)
at com.kitfox.svg.pathcmd.PathParser.nextFloat(PathParser.java:139)
at com.kitfox.svg.pathcmd.PathParser.parsePathCommand(PathParser.java:219)
at com.kitfox.svg.SVGElement.parsePathList(SVGElement.java:811)
at com.kitfox.svg.SVGElement.buildPath(SVGElement.java:816)
at com.kitfox.svg.Path.build(Path.java:87)
at com.kitfox.svg.Path.updateTime(Path.java:151)
at com.kitfox.svg.Group.updateTime(Group.java:313)
at com.kitfox.svg.Group.updateTime(Group.java:313)
at com.kitfox.svg.SVGRoot.updateTime(SVGRoot.java:400)
at com.kitfox.svg.SVGDiagram.updateTime(SVGDiagram.java:257)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:653)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:529)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:514)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.getResourceBitmap(AwtSvgBitmap.java:38)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.getResourceBitmapImpl(AwtSvgBitmap.java:61)
at org.mapsforge.map.awt.graphics.AwtSvgBitmap.<init>(AwtSvgBitmap.java:66)
at org.mapsforge.map.awt.graphics.AwtGraphicFactory.renderSvg(AwtGraphicFactory.java:219)
at org.mapsforge.map.rendertheme.XmlUtils.createBitmap(XmlUtils.java:69)
at org.mapsforge.map.rendertheme.renderinstruction.RenderInstruction.createBitmap(RenderInstruction.java:130)
at org.mapsforge.map.rendertheme.renderinstruction.Symbol.getBitmap(Symbol.java:108)
at org.mapsforge.map.rendertheme.renderinstruction.Symbol.<init>(Symbol.java:61)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.startElement(RenderThemeHandler.java:266)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.processRenderTheme(RenderThemeHandler.java:113)
at org.mapsforge.map.rendertheme.rule.RenderThemeHandler.getRenderTheme(RenderThemeHandler.java:65)
at org.mapsforge.map.rendertheme.rule.RenderThemeFuture$RenderThemeCallable.call(RenderThemeFuture.java:60)
at org.mapsforge.map.rendertheme.rule.RenderThemeFuture$RenderThemeCallable.call(RenderThemeFuture.java:43)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NumberFormatException: For input string: "1e-4.41503"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseFloat(Unknown Source)
at java.lang.Float.parseFloat(Unknown Source)
at com.kitfox.svg.pathcmd.PathParser.nextFloat(PathParser.java:133)
... 28 more
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.