[CS4/JS] Where Am I!? A World Map script

Here's one I originally wrote for InDesign, but Illustrators may like it as well!
This is a Javascript implementation of a program I had on the hard disc of several consecutive computers, going back to the late '80s. This version was an implementation in C, which in turn was based upon a Pascal program: CARTOG.PAS, accompanying "Mapping the World in Pascal" by Robert Miller and Francis Reddy, BYTE, December 1987, page 329
What does it do? It draws a world map. That's all
Written for CS4 (but it might work other versions). Simply run the script and enter stuff into the dialog -- it ought to do the rest automatically. If you want to see your own location from outer space, go to LATITUDE et LONGITUDE de quelques Villes (which was the first comprehensive listing I found; there are lots of others) and see if your hamlet is listed. You can enter coordinates either as positive/negative values, or follow them with "E" or "W" and "N" or "S". Only decimal notation is supported; minutes & seconds was too much work.
The image is grouped into one and consists of the background circle, all land masses in a group of their own, and optionally the meridians, also grouped. If you ungroup once, you can color and move the land and meridians around. Ungroup again to get ten zillion tiny objects, so you can play Tectonics 1-0-1 and shift the continents around the globe.
Note: the calculations for the larger continents, in particular Asia, sometimes clash with my math. If so, you'll see stray lines and a messed up image ... No cure for that, except trying with slightly different coordinates.
Download Instructions:
Download from my website: http://www.jongware.com/binaries/whereami.zip
The package contains the script, which you can move into your Illustrator Scripts folder to be able to run it from File -> Scripts, and three icons; these you should put in your own Documents folder. Sorry about that -- it seems there is no good way to make sure the script can find the images otherwise! If you forgot that or just don't want to mess up your documents, it'll still work, but with a nagging message "Wot no img!?".

After you got a nice view of the world, you can ungroup, scale, move, and size all elements at will. It may be necessary to use the Pathfinder to combine all loose islets and stuff into one solid object -- otherwise, you might see the dividing line between Europe and Asia. It also gets easier to fill stuff.
This image, inspired on a classic, took me a couple o'minutes of tinkering ... And of course the world is centered on the place where I live

Similar Messages

  • World Map used in the 2012 WWDC  Keynote?

    Hello.  I'm trying to find the World Map graphic used by Tim Cook in the 2012 WWDC Keynote.  Visible about 5:46 into the keynote video here (http://www.youtube.com/watch?v=bkRUE7S8pQI).
    Specifically, he animates or uses 'magic move' to highlight certain countries he is talking about.  Does anyone know where I can find a world map that would do this in Keynote?
    Thanks in advance.

    iMovie includes some fairly high resolution world maps.
    Go to Applications > iMovie > (Right Click) Show Package Contents > Contents > Resources > Map-*.jpg
    Hold Option (alt) as you drag-and-drop the files you want to use, so it will move a copy.

  • Where do I get a map transition like iMovie,  in which I can put a destination city

    Where do I get a map transition like iMovie,  in which I can put a destination city

    Tom
    I want you to know, Tom, that you are your only reason that I'm still using FCP X and not banging my head against the wall. I hope Apple is compensating you well.
    What do you mean by "export it and import it into FCP?" Neither program has an  export feature. I have already imported my iMovie project to FCP X with the map and it didn't come over correctly. Where the map should be  there is simply a slide saying, "title & subtitle."

  • Is there an App for the iPad that will show my GPS position on a world map, even if I'm at sea?

    Is there and App for the iPad that will show mu GPS position on a world map, even if I'm at sea?
    Thanks,
    Tomac

    BobTheFisherman wrote:
    GPS will show your position anywhere if your device has unobstructed view of the GPS satellites. The issue is that you must find a maps/charts that include all areas of the sea.
    There is no mobile data connection required to use GPS on land or sea. Once again your issue is the availability of downloadable maps/charts for the areas you will be traveling.
    Sorry, but you can't install an app like NAVIGON on an iPad without 3G cellular data connection:
    copied from NAVIGON app:
    ...can be installed on any iPhone3GS, iPhone4, iPhone4S, iPhone5 or iPad device (the navigation function is only available on the iPad WiFi+3G)
    Can I navigate with my mobile phone?
    Answer:In principle yes. For mobile phones there are both Onboardnavigation solutions and Offboardnavigation solutions.
    The following requirements must be fulfilled:
    •     The software must support the mobile phone. NAVIGON software
          always comes with a compatibility list. The software is guaranteed
          to work only for the mobile phones on this list.
    •     The mobile phone must have a GPS receiver. Many new mobile
           phones come with a built-in GPS receiver. Otherwise you can use
           an external GPS receiver which is connected to the mobile phone
           by cable or Bluetooth.
    •     It should be noted that an offboard solution incurs costs for using
          the mobile phone network to communicate with the provider's server.
    Message was edited by: Ingo2711

  • Plotting Senderbase Information on a World Map

    Greetings,
    I have whipped up a quick script some of you may find useful.
    ip2mapplot.py is a Python script for resolving a number of IP addresses to latitude / longitude coordinates and plotting them on a world map
    Below is an image generated from one days worth of Senderbase drops on our Ironport MGAs:
    [img:f531ef1b7c]http://insecure.io/images/a/a6/Map_sbrs_small.jpg[/img:f531ef1b7c]
    Source code is available here: http://research.mince.ac.nz/ip2mapplot.py
    Further instructions here: http://insecure.io/index.php/Code/ip2mapplot
    Cheers,
    si

    Here's what our map looks like with one week's worth of data on hosts with a SBRS of -10 to -4.
    [img:c91b0e4b2a]http://web.acd.ccac.edu/~bpoyner/ironport/ironport-map-small.jpg[/img:c91b0e4b2a]
    [+] Found 691344 unique IP addresses
    [+] Determining unique latitude / longitude points
    [+] Plotting 15037 discrete points on map
    [-] Plotting 14098 points for x < 100
    [-] Plotting 772 points for 100 < x < 500
    [-] Plotting 131 points for 500 < x <2500> 2500
    I don't know if anybody else ran into this issue, but as-is the script provided by si doesn't work with python 2.3. You'll get the following error message:
    [+] Determining unique latitude / longitude points
    Traceback (most recent call last):
    File "./ip2mapplot.py", line 41, in ?
    latlon = count.partition(',')
    AttributeError: 'str' object has no attribute 'partition'
    You have to change partition to split, and change the latlon array reference accordingly.

  • I want to show world map in regions using mapbuilder

    Hi,
    I have uploaded obiee_navteq dump in our database.could you please let me know to spilt in world map in different regions like Europe,Africa,Middle East,Australia,Nroth America....In one map.
    Thanks
    VB

    Do you really need to post three messages with identical topic?
    You have an edit button, you know? That's the icon with a pencil, next to the envelope icon, on the top-right corner of your message (only for the last message of a thread).
    You also have a CODE button above your edit area, it will make code you post much more readable, as asterisks and plus signs are interpreted by the forum...
    i don't know about the differrence between javafx 1.1 and javafx 1.2See [JavaFX 1.2: Features and Enhancements|http://javafx.com/docs/articles/javafx1-2.jsp] for a good start.
    (Funny, I just noticed they write "Java FX" (with a space) in all the titles of the site. Bad for consistency...)

  • Possible to add Multiple Destinations on WORLD MAP?

    Can I add multiple destinations in 1 world map in imovie? Or only the Start and End location? Thanks

    You cannot have multiple destinations in a single map, but you can go from point A to point B to point C to point D, etc. You do this by putting several maps adjacent to each other. So the first map is A to B. The second is B to C. The third is C to D, etc.

  • How to highlight result set data on world map

    Hi,
    I want to show the graphical representation of world map to highlight the countries which having the maximum booking of hotels of our client xyz.
    All the values are coming from the mysql db .
    I want the library which will draw the world map on the Jpanel for the respective result set
    Plz help me for this .
    I generally use the JFreeChart for drawing the other graphs but the Jfreechart don't have the library for the World Map or Destination Graph etc.
    Hint: ( Google Analytic's map is the best example )
    Thanks In Advanced
    Mahesh

    This isn't what you want, but it will get you on the right track. I chose the most complex image I could find so give it a few seconds to read the image and build the paths. The parser is catered to the image I chose, but in general you can probably expect the "path" element to delineate the boundaries for any map svg. The particular image I chose grouped the paths with country ID so I added a little mouse interaction to the GUI. Forgive me for any dumbly coded stuff. I didn't put much effort into streamlining it.
    import org.xml.sax.*;
    import java.awt.*;
    import javax.swing.*;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.helpers.DefaultHandler;
    import java.awt.geom.Path2D;
    import java.util.StringTokenizer;
    import java.net.URL;
    public class WorldMapTest {
        public static void main(String[] args) throws Exception {
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser saxParser = factory.newSAXParser();
            SimpletonPathExtractor handler = new SimpletonPathExtractor();
            saxParser.parse(new URL("http://upload.wikimedia.org/wikipedia/commons/b/b7/World98.svg").openStream(), handler);
            createAndShowGUI(handler.locations);
        public static void createAndShowGUI(final java.util.List<Location> locations) {
            JFrame frame = new JFrame();
            JPanel p = new JPanel() {
                @Override
                public Color getBackground() {
                    return Color.white;
                public void paintComponent(java.awt.Graphics g) {
                    super.paintComponent(g);
                    Graphics2D g2 = (Graphics2D) g;
                    g2.scale(getWidth() / 8000.0, getHeight() / 3859.0);
                    g2.setColor(Color.black);
                    Point p = getMousePosition();
                    if(p != null) {
                        p.x = (int) (p.x * 8000/getWidth());
                        p.y = (int) (p.y * 3859/getHeight());
                    String placeID = null;
                    for (Location loc : locations) {
                        if(p != null && placeID == null && loc.boundry.contains(p)){
                            g2.setColor(Color.LIGHT_GRAY);
                            g2.fill(loc.boundry);
                            placeID = loc.id == null?"Unkown":loc.id;
                            g2.setColor(Color.black);
                        g2.draw(loc.boundry);
                    if (placeID != null) {
                        g2.setColor(Color.green.darker());
                        Font f = g2.getFont();
                        f = f.deriveFont(Font.BOLD,(f.getSize() * 8000f / getWidth()));
                        g2.setFont(f);
                        g2.drawString(placeID, p.x, p.y);
                public java.awt.Dimension getPreferredSize() {
                    return new Dimension(1000,482);
            p.addMouseMotionListener(new java.awt.event.MouseAdapter() {
                @Override
                public void mouseMoved(java.awt.event.MouseEvent e) {
                    ((JComponent) e.getSource()).repaint();
            frame.setContentPane(new JScrollPane(p));
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.pack();
            frame.setVisible(true);
        public static class SimpletonPathExtractor extends DefaultHandler {
            java.util.List<Location> locations = new java.util.ArrayList<>();
            String recentID;
            @Override
            public void startElement(String uri, String localName, String qName, Attributes attr) throws SAXException {
                if("g".equals(qName)) {
                    recentID = attr.getValue("id");
                if ("path".equals(qName)) {
                    int length = attr.getLength();
                    for (int i = 0; i < length; i++) {
                        String attrN = attr.getQName(i);
                        String val = attr.getValue(attrN);
                        if ("d".equals(attrN)) { //path data
                            Path2D path = new Path2D.Double();
                            //assume simple polygonal path
                            StringTokenizer tk = new StringTokenizer(val, "MLzZ ");
                            try {
                                path.moveTo(Double.parseDouble(tk.nextToken()),
                                            Double.parseDouble(tk.nextToken()));
                                while (tk.hasMoreTokens()) {
                                    path.lineTo(Double.parseDouble(tk.nextToken()),
                                                Double.parseDouble(tk.nextToken()));
                                path.closePath();
                            } catch (Exception e) {
                                throw new Error("I'm a simple parser. I can only do "
                                        + "'LineTo' paths!", e);
                            locations.add(new Location(path,recentID));;
            public void endElement(String uri, String localName, String qName) throws SAXException {
                if("g".equals(qName)) {
                    recentID = null;
        public static class Location {
            Path2D boundry;
            String id;
            public Location(Path2D boundry, String id) {
                this.boundry = boundry; this.id = id;
    }

  • Where can I find a mapping of the Mac Powerbook version number (e.g., 3.1) to the dates (e.g., "late 2007") that Apple uses for indicating compatibilty with OS upgrades?

    Where can I find a mapping of the Mac Powerbook version number (e.g., 3.1) to the dates (e.g., "late 2007") that Apple uses for indicating compatibilty with OS upgrades?

    There were no PowerBooks made in 2007. By then Apple had switched over to Intel and they were making MacBook instead.
    If the MacBook is what you really want try http://en.wikipedia.org/wiki/MacBook
    Allan

  • Why don't they have a world map in photos anymore

    Why do they change a good photo location system ie take away the world map. It was so easy to look up photos before. Not at all happy with the latest upgrade!

    Send your feedback to Apple at http://www.apple.com/feedback/iphone.html

  • World Map of Oracle XE Users?

    What about starting a world map of Oracle XE users at http://www.frappr.com ?
    There is already one on HTML DB : http://www.frappr.com/htmldbusers and JDeveloper: http://www.frappr.com/jdeveloperusers.
    See the ongoing thread in the HTML DB forum regarding this issue: World Map of HTML DB Users?
    I guess it will make it easier to connect with people in the same area who share the same interest in XE.
    Greetinx from Germany,
    ~Dietmar.

    OK - we have a Frappr-group now!!!
    http://www.frappr.com/oraclexe
    It's easy to use, you can even add yourself to the map without registering!
    So don't hesitate to add yourself to the map!
    I've taken the OracleXE logo from Technet. If this is not appropriate, please let me know, I'll remove it then.
    Also, I've added the following tags: oracle xe database web htmldb xml sql
    We're pretty easy to find through frappr.
    Any comments / changes are welcome.
    ~Dietmar.

  • Where is BlackBerry App World launcher in BlackBerry OS 6?

    Experts
    Where is BlackBerry App World launcher in BlackBerry OS 6?
    Thanks and regards
    Anil

    jkann wrote:
    I'm getting this message right now too whenever I try to download an app.  Repeated attempts.  I'm located in Washington, USA.  Verizon Wireless, Bold 2.
    Do you have a SIM card in the device (some Verizon devices do come with one inserted, and in the past that might have been the cause of the device being recognized as NOT from the appropriate carrier.
    Remove the SIM card if you do have one (for Verizon, the SIM does nothing for you anyway as long as you are not traveling internationally).
    Let us know.
    1. If any post helps you please click the below the post(s) that helped you.
    2. Please resolve your thread by marking the post "Solution?" which solved it for you!
    3. Install free BlackBerry Protect today for backups of contacts and data.
    4. Guide to Unlocking your BlackBerry & Unlock Codes
    Join our BBM Channels (Beta)
    BlackBerry Support Forums Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Since I have downloaded FF 29, it continually comes up with a world map and wants me to answer some survey.

    When I log into FF29 the home web page gives me a world map which then requires me to answer a survey which I have done once but it keeps repeating. I have had to go to Google Chrome because of the nuisance and wasted time.
    Also FF29 does not seem to recognize PDF forms for printing when they are attachments to emails that I want to print out.

    Gingerbread Man,
    "snippets" are below the Search Bar, like
    <pre><nowiki>What kind of Web do you want? Join Firefox users around the world shaping its future.</nowiki></pre>
    That "map" replaces the Firefox "brandLogo" currently. IIRC, that is either new or something that hasn't been messed with before. I'm not sure though, in most Profiles I use a different Homepage.

  • Mapping script issue

    Hello experts,
    I'm quite new to FDM and Iv'e been trying to write a simple conditional mapping script with no success. for my entity dimension, in most cases, the source is ths same as the target though there are some cases where this does not apply and have to go to a NA_Entity. For example:
    SOURCE     TARGET
    PE00_0001     PE00_0001
    PE00_0002     PE00_0002
    PE00_0003     PE00_0003
    AL00_0001      NA_Entity
    PE00_0004     PE00_0004
    CO_HWE        NA_Entity
    PE00_0005     PE00_0005
    As you can see, all source entities which start with "PE" are equal to the target entity and any other entity not starting with PE should be mapped to the "NA_Entity". I believe it's pretty unefficient to maintain an explicit map so we've decided to create a conditional mapping script (not working yet) which reads as follows:
    If Left(varValues(15),2)="PE"
         Then Result = varValues(15)
    Else Result ="NA_Entity"
    Every time i try to import a file I keep on getting:
    Error: An error occurred importing the file.
    Detail: Invalid Like Clause: For Dimension Map (ENTITY) and Rule (Peps)
    ERROR:
    Code............................................. 4026
    Description...................................... Invalid Like Clause: For Dimension Map (ENTITY) and Rule (Peps)
    Procedure........................................ clsImpProcessMgr.fLoadAndProcessFile
    Component........................................ upsWObjectsDM
    Version.......................................... 1112
    Thread........................................... 5416
    IDENTIFICATION:
    User............................................. admin
    Computer Name.................................... CTARESULDESA2
    App Name......................................... INT_IECI
    Client App....................................... WebClient
    CONNECTION:
    Provider......................................... SQLOLEDB
    Data Server...................................... 10.228.128.168
    Database Name.................................... FDM_INTIECI
    Trusted Connect.................................. False
    Connect Status.. Connection Open
    GLOBALS:
    Location......................................... Argentina-EP
    Location ID...................................... 758
    Location Seg..................................... 3
    Category......................................... Reales
    Category ID...................................... 13
    Period........................................... Nov - 2013
    Period ID........................................ 2013-11-30
    POV Local........................................ False
    Language......................................... 1033
    User Level....................................... 1
    All Partitions................................... True
    Is Auditor....................................... False
    I've followed the script guide and Iv'e tried several scripts, all with no success. The only workaround I've found is maintaining an explicit map where 99% percent of the elements map to themselves and the other 1% map to "NA_Entity", not very maintenance friendly.
    Thank you very much for your help
    Santiago Ruiz.

    You do not mention what release of FDM you are working with, but there should be no need for scripting .
    Explicit mappings are the most efficient from a performance point of view, but in view of what you want to achieve then all you need are two 'Like' mapping entries.
    the first will be mapping PE* to PE*  and the second entry mapping * to 'NA_Entity' to pick up all the other codes.
    Alternatively if you are processing millions of records and have a performance issue, then an alternative might be to change the non 'PE' type records with a script on the import format, but i think the two records should be the easiest.

  • Using Wildcards in Mapping Script

    Hi everybody, im new in FDM and i have some doubts about mapping scripts.
    I have to recreate this Hyperion Translation Rule into FDM:
    ACC_SAP              tm_sap     Reverse Sign         UD4
    N21099Z300     {NULL}     FALSE     CD1
    D31199Z000     {NULL}     FALSE     CD1
    ????99     *     FALSE     CD
    ACC_SAP is the source account
    TM_SAP will be loaded into UD5 (as look up)
    How could i manage with a like mapping?
    I guess using a script but im not sure how to use wildcards within scripts, is it possible?
    Another related question, in a explicit mapping, how can i manage with NULL values if i want to assign them [None] value, do i have to put NULL in th source field?
    BR and thanks

    Thanks KellyDGreen. With the exampl shown is as you say but what if tm_sap has wildcards?
    F.i
    ACC_SAP TM_SAP TARGET_CUSTOM4
    999? 123? 198276
    Suppose that TM_SAP has been stored in UD5. Source dimensions are different from target dimension so i have to do it via script, dont I?
    BR
    Francisco

Maybe you are looking for

  • Excel version for download to Excel

    Hi All, Does anybody know how the Excel version for the download is deternined? I have Excel 2007 installed on my laptop, but the download happens in Excel 97-2003. Thanks, Nathalie

  • PCA Diffrence

    Hi, I am facing one problem in PCA report regarding currency diffrence. In my company code company code currency and PCA Currency is same, ie INR. But if I am comparing GL account Balance in PCA report, ie s_alr_87013340 with GL account Balance, ie.

  • [JDBC Progress Driver]:String data, right truncated.

    Hi everybody, I have a strange error that i just cannot figure out. I have a entitybean with an EJBStore method. In that method I create a PreparedStatement like this String update = "update myTable set commentField = ? where objectnumber = ?"; Prepa

  • Transportation of Mater and Transactional ETL models

    Hi, please consider the scenario,Ex: One cube " ZSD_C06 " contains 6 infoobjects. each info object having 2 data source ( like attibute  and text ). Now, My questions are 1) Is it neccesay to transport the master data ETL model first and then  tranpo

  • TS1538 Why am i getting error 9006 when trying to restore my ipod 5th gen?

    Why am i getting error 9006 when trying to restore my ipod 5th generation?