IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2024/06/21
dr|z3d one sec, zzz, I'll have a cleaned up svg map for you to play with.
cumlord For sure, but flattening the water would look nice I think
dr|z3d that's basically the cartosvg worldmap with some minor optimizations to presentation and easier to read source.
dr|z3d not great, but it has the tagged countries and hover tooltips enabled.
dr|z3d ok, no javascript, no html, not much inline styling, just the svg -> cake.i2p/file/SWstYbnenL_p37xsLCwZ8iaIsQ9blpiNYxRVQN1Nq_RLexEb1TaB/map3.svg
dr|z3d retains the country id tags.
dr|z3d how does 35KB for a png sound, zzz?
dr|z3d that's how you do 2 color, cumlord ^
dr|z3d this one swaps out the country name ids for 2 letter country codes.
dr|z3d name ids were also dubious, you can't have spaces in id tags.
dr|z3d with the country codes, possible to reference elements in the country table and display the (translated) country name on a tooltip.
dr|z3d tz, republic of needs fixup in that svg. otherwise should be good.
dr|z3d dunno if you missed scrollback, zzz, but if you did: cake.i2p/file/vzWGlV3oJS_APP6G1KFF4nnrmZW7Kw4lhBu6NCD4a_UIJ2zhPFYZ/map5-cc.svg (2 letter country codes, tk(?) republic of needs fixup) and png as per your dimensions/cropping/projection: cake.i2p/file/UHrBa1vYWT_71eNDpZDkE1OEf0ySRKuoMk2QaT5Ja_W9givrsoxj/g51866.png (35K)
zzz yeah i got them. they all need fixing of something but will pick one and see how it looks
dr|z3d the png you should be able to swap right in.
zzz its the wrong size but the crop looks right
dr|z3d wrong size? I took your dimensions. or thought I did.
zzz 1600x848, I need 1200x636
dr|z3d maybe it's scaled up, looking at your gitlab image. but it should be correct dimensions.
dr|z3d yup, if you scale that down, it'll be correct.
dr|z3d better if you do that in java, not with the image itself, then you get the benefit of a higher resolution image. but up to you. 1600x848 == 1200x636 scaled.
zzz I think we're on the right track here, it's much better with one-color ocean and no grid lines, what do you think?
dr|z3d I think so, grid lines and topological data don't do us any favors.
zzz you started with cartosvg for these?
dr|z3d for the bitmap I chopped up the svg and jigsawed it back together.
dr|z3d for the svg, I used their mercator map example and got rid of the crap, converted country ids to two letter codes to make them easier to leverage.
zzz yeah it's useless with country names
dr|z3d yeah, that's what I figured.
zzz there's three messed up countries, one between kp and rs, then tz, then the last one
dr|z3d one sec.
zzz don't need the fix now ))
dr|z3d might as well fix it now, then it's done.
zzz could you do one where the country borders are visible to see what that looks like?
dr|z3d would need to refactor the svg to do that, they're doing something a "bit weird" with the country paths.
zzz cant just add something to #countries style section?
zzz yeah I don't get any of the paths, it's much different than what either batik or jfreesvg does
dr|z3d no, that's the bit weird part. if you stroke the country paths, you get a bunch of lines emanating from the top left of the image.
dr|z3d I'll have to take another look at the original and see what they're doing.
zzz then you may as well not have the countries section in there at all
dr|z3d no, you want those for tooltipping etc.
zzz maybe
dr|z3d it may be related to the fact that some of the countries aren't contiguous land masses.
dr|z3d or it could be something to do with the (lack of) embedded javascript in our svg that they have in theirs.
zzz but we also may need centroid coordinates, possibly converted from my data; borders aren't sufficient to draw lines between countries
dr|z3d centroid coords being the center point for any given country?
zzz yeah, that's my mercator.txt
zzz converted from google lat/long data
dr|z3d probably not required, that's just a javscript calc that looks at the path and decides where the center is.
dr|z3d but who knows, maybe helpful.
zzz I don't think you want js doing center calculations
dr|z3d anyways, here's the original map, country names still exist, I've just cleaned it up, made it scale properly..
dr|z3d but it retains the javascript etc so you've got borders, tooltips.
dr|z3d hmm, apparently the javascript isn't required for tooltips and borders.
zzz lower case m is relative
zzz h and v are relative
zzz but I see a lot of m0 0z which seeems like a no-op
zzz so it looks like legal but heavily optimized paths
zzz you should throw it into inkscape and try to figure out why the country borders are messed up
dr|z3d believe me, I've done that. I think those paths are connecting non-contiguous land masses for countries.
dr|z3d and javascript is required for the tooltips.
dr|z3d because the js is embedded in the svg, umatrix doesn't detect it.
zzz I'm playing with it in inspector now
zzz but not always. US and Canada are fine. Argentina is not
zzz trying to do a fill on argentina doesn't work either
dr|z3d yeah, it's a bit janky.
dr|z3d #jd_mvpfapz path.ssc-0-4#Argentina {
dr|z3d fill: #f00;
zzz it's fine in mercator.svg but it's all sorts of borked in map5-cc.svg
zzz back up and figure out what went wrong
dr|z3d oh, I know what's different. aside from the country codes, I stripped the classes from the paths.
dr|z3d (and the javascript)
zzz did you do any sort of global replace or sed on it because that may have broken something
dr|z3d yeah, plenty of that.
dr|z3d that's why I'm looking at the latest mercator.svg revision I posted up on cake.
zzz with js disabled, mercator.svg is still fine
zzz so somewhere along the way you jakked up map5-cc.svg, it's unusable
zzz it's not because of discontiguous countries
dr|z3d yeah, except for the tooltips.
zzz and it's not js that's fixing up your lines from 0,0
dr|z3d sure, bunch of stuff got borked.
dr|z3d so just forget about that, I'll work on mercactor.svg so we don't lose any functionality or visuals.
dr|z3d it served it's purpose, the main one being a template for the png.
zzz yup
dr|z3d do we want the separate colors for the different regions? I'm thinking no.
zzz re: tooltips, I thought maybe you could just put title=foo in there, but svg is not html. you can do <title>united states</title> though, that works, just tried it
dr|z3d yeah, title should work apparently if you nest it inside the path.
zzz it does
dr|z3d obviously that doesn't come with styling per se, but I think you can target svg>title{...} to style it.
zzz maybe
dr|z3d or maybe not. doesn't wfm.
zzz that SO article also talks about js getBoundingClientRect() to find things, but again that's going to mess up for countries like US with alaska and hawaii way out there, that's why we need the hardcoded centroid coordinates from google
zzz agreed, no region colors
dr|z3d ok, see how you like this...
dr|z3d how/if
dr|z3d that's sort of where we were before with the cc map, minus the two letter ccs, with geo-borders.
zzz yeah that's pretty nice
dr|z3d *thumbs up*
dr|z3d colors will get tweaked, cruft removed without breaking stuff.
zzz we're just playing around, don't work too hard on it
dr|z3d ok, just want to clean a few things up. will make it easier for you to work with.
dr|z3d ok, colors tweaked, inline styles moved to stylesheet which is now correctly located in the <defs> section at the top, region classes removed.
dr|z3d and main fapz id renamed to geomap.
T3s|4 dr|z3d: your latest map and the tooltips look nice
dr|z3d thanks, T3s|4, coming along :)
dr|z3d ok, rev4. absolutely zero need for the animations, they just make the map load look jank.
dr|z3d we want instant load. which we now have.
zzz fapz was a head scratcher, yes animations were jank
dr|z3d ok, final revision for now. some basic formatting for the javascript to make it slightly easier to read, and removal of the animation javascript stuff.
dr|z3d ok, definitely the last revision for now. javascript formatting was still opaque, should be better now, but of course the javascript's still been minified/obfuscated, can't do much about that: cake.i2p/file/sHxrfbaoit_POrJhq25HCq5NulgEf0wJRvRnbxxvO_pUrAztQk0w/mercator6.svg
dr|z3d ok, absolutely the last revision for now. unformatted javascript sorted: cake.i2p/file/1gqdhQ93Mq_jHlT9z76HhntI1OsMuwY7Og4Sj1YPW_7IGsEJGqfC/mercator7.svg
zzz how would a combined base+overlay svg be generated? would we render the whole thing thru SVGGraphics2D every time?
zzz or would the "base" svg be static, and it contains an href for the "overlay" part to viewmap.jsp where we puke out the lines and circles and text directly as svg, skipping SVGGraphics2D completely?
zzz or does an XHR fetch and "inject" the "overlay" part via JS?
zzz or is the overlay part a full sub-svg-document that it gets via href and we do generate it with SVGGraphics2D?
zzz you want a sample overlay-only svg to play with it?
zzz all I have is png right now but I could switch it up