On 7/15/2021 6:22 PM, Aditya Mahajan wrote:
On Thu, 15 Jul 2021, Hans Hagen wrote:

On 7/14/2021 4:43 PM, Gavin wrote:
Hello ConTeXters,

I’d like to use the mp-geo Metapost package with ConTeXt to draw simple
globes viewed from various directions. The package is here:

        https://melusine.eu.org/syracuse/poulecl/mp-geo/

It looks like the last update was 2008 and I don’t read French, so I though
my chances of getting anything to work were pretty small. However, I was
pleasantly surprised that this MWE found the mp-geo package, the necessary
Metapost files in the ConTeXt installation, and the data files.

\starttext
\startMPcode
input mp-geo;
figure(-10u,-10u,10u,10u);
Mercator(3,48,30);
fin;
end
\stopMPcode
\stoptext

While all of the files were found, it did not produce a globe. Instead I got
an error complaining about an invalid character in the data files. This error
is repeated for about 20 files (a small fraction of the total). I put the
first error and its data file below. All the others are identical with
different .dat files.

Maybe it’s just an encoding mismatch or a hidden character I can easily
delete or replace. On the other hand, maybe I shouldn't even be attempting
this? 2008 is a long time ago in ConTeXt time. Feel free to tell me this
project is crazy, but if you have an idea how I can make this work, I’d really
appreciate it! It looks like a fun package.
Looks interesting (I didn't know about it, also the surface stuff).
Anyway, the message relates to scantokens not liking what gets read from
a file, quite probably a missing file (I'll make it return a different
message but still one needs to be aware of the fact that fiel reading in
mp is kind of weird so it really expects a file).

Actually the data files are fairly simple:

no_of_points
<list of coordinates>

So, it would be much simpler to read and parse it via lua rather than scantokens. Rest of 
the code simply determines a "view" of what to show. So, it can be a good 
exercise in lua-MP interface.

I was wondering about that too. I admit that I looked into maps years ago but never could find quality data files.

\starttext

\startluacode
    function mp.maptopath(filename)
        local t = { cycle = true }
for x, y in string.gmatch(io.loaddata(filename),"%(([%+%-%d]+),([%+%-%d]+)%)") do
            t[#t+1] = { tonumber(x), tonumber(y) }
        end
        mp.inject.path(t)
    end
\stopluacode

\startMPpage
    draw lua.mp.maptopath("slovenia.dat") ;
\stopMPpage

\startMPpage
    draw lua.mp.maptopath("usa1.dat") rotated 90 ;
\stopMPpage

\startMPpage
    draw lua.mp.maptopath("usa2.dat") ;
\stopMPpage

\stoptext

way to low quality ... we also want multiple shapes i guess .. i wonder if someone knows where to get good free data

(projections are more your turf)

Hans


-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to