• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.
  • We, the systems administration staff, apologize for this unexpected outage of the boards. We have resolved the root cause of the problem and there should be no further disruptions.

Making big PDF maps

robject and J Greely,

You guys rock! I appreciate the work you two are doing here, and the fact that you are sharing it with us.


Thanks,
Flynn
 
Originally posted by Marvo:
Lucky for me I have access to a plotter at work!
Let me know how it turned out. I figure I'll make another domain-scale map once I've typed in all the xboat routes and regional borders (and written the region-drawing code...).

-j
 
Greetings!

This is incredibly awesome and exciting. Thanks so much!

One suggestion: can you zip up all the stuff, or perhaps per Quadrant, or something? The goal would be to reduce the number of downloads...

(I have cable at home, so I don't mind large downloads; in fact, I prefer em'!)

Thanks in advance,
Dan
 
Massive update here, adding support for allegiance borders and filled regions, allowing me to mark the Vargr Invasions and Aslan Conquests areas from my Spinward Marches source map. There's also a fully-commented example of a metadata file showing how to use these features. About the only thing I have left to add is a method for printing text at arbitrary locations on the page, so you can label the borders and regions. Well, that and a way to keep colors from creeping onto the B&W maps when the defaults are overridden...

And since dancha asked nicely, I added per-sector zip files.


Note that I haven't actually typed in the routes, borders, or regions for all of Gateway Domain yet, so those maps are not as fully-annotated as Spinward Marches.

-j
 
With the help of a friend, I was able to get all of the xboat routes and allegiance borders typed in for all four sectors in Gateway Domain, and have used the new version to update the complete domain map.

I haven't had time to regenerate and upload all the other maps yet, and the color choices are subject to drastic revision (not to mention adjusting them all for B&W printing), but the domain-level map is cool.

-j
 
Thank you, Mr Greely. This just keeps getting better and better...


Enjoy,
Flynn

Now I just need to learn how to put API2::PDF onto my machine...
 
Originally posted by Flynn:
Now I just need to learn how to put API2::PDF onto my machine...
I have a Windows machine in my office, so I just did the following:

</font>
  • download ActivePerl 5.8.4 from activestate.com and install it (I grabbed the MSI version)</font>
  • Run Perl Package Manager, which opens a cmd window.</font>
  • Type "install PDF::API2".</font>
  • Open a fresh cmd window, cd to the directory containing the script and SEC files, and run "perl sec2pdf [options]".</font>
I verified that I was able to create an annotated by-quadrant map of Spinward Marches by typing "perl sec2pdf -a -b -B -h -c -tquadrant -d SpinwardMarches.sec -o spinward.pdf".

I've uploaded the SEC and metadata files for all five sectors, along with the latest version of the script. I'll put better usage instructions up and add a more detailed explanation of the various options next time I get a chance.

-j
 
In looking over the output, I did have a few comments:

1) First, wow! Nice work! I love the ability to lay out borders and shade regions. That's very cool! Wish it were automated, but hey, one step at a time, right?

2) I personally like robject's presentation of World Name over UWP, as opposed to the current UWP over World Name. Have you tried it out personally to see how it looks on your implementation? If so, how did it look, in your opinion?

3) I also like that robject's code has the capacity for presenting only a certain area that you can define by what's included in the sector file. This way you can focus on a region of space that does not conveniently fit within a subsector or a quadrant, such as if you wanted to create a map of a Cluster that crosses several subsector borders. (The Linkworlds Cluster comes to mind as an example.) I'd probably rarely need this functionality, but it's cool, nonetheless.

All in all, though, this is a very impressive effort. Thank you so much for making that available to us.

With Regards,
Flynn
 
Originally posted by Flynn:
1) First, wow! Nice work! I love the ability to lay out borders and shade regions. That's very cool! Wish it were automated, but hey, one step at a time, right?
I'm working on it as a separate script that writes them out in the metadata-file format, so you can fine-tune them, avoiding the "three dozen single-system borders scattered across the sector" problem. Ditto for routes.

2) I personally like robject's presentation of World Name over UWP, as opposed to the current UWP over World Name.
It didn't look as good to me, largely because Courier gets pretty spindly at small sizes, and I didn't like how the UWP looked in Helvetica. I did, however, pull all of the positioning code together, and left hooks to add another command-line option that will allow you to change everything about how the map is laid out. There's a commented sample buried in the code right now, but after the next update you'll be able to write your own, specifying where data is located in the hex, its color, font, size, etc.

So, if you wanted the seriously traditional white print on a black background, you could have it, or if you wanted the UWP printed at the top of the hex, whatever. Heck, I could even add an option to rotate the text to print alongside the upper-left edge of the hex if people wanted it; it would be pretty trivial.

3) I also like that robject's code has the capacity for presenting only a certain area that you can define by what's included in the sector file.
Well, it's not automatic, but with the version I uploaded just now, you can specify a custom map size ("--type 6x7", where the number of columns must be even, and wide pages require the use of the new --landscape option), and when printing a single-page map (without the --all option), you can also specify the hex to start in ("--firsthex 0308", where the starting column must be odd). There's a tiny glitch in the landscape mode where the outer map border doesn't print completely, but other than that, it looks good.

How's that?


-j
 
Okay, now it's automatic. I added the --auto (-A) switch, to record the bounding-box of the sector data as you read it in and size the map to fit.

And for people who don't want to scan back through the thread looking for my site, it's here.

-j
 
Thank you, Mr Greely!


I think Your program is very good, and could be very important and useful to traveller players and referees. Therefor, I have added a link to Your site at my astrography website.
http://zho.berka.com/data/

Cheers
/BeRKA
 
Mr. Greely,

Again, you come through with a fan's request.
Thank you very much. I will add you to my website's link page, as well, and I would also make the following suggestion: You might consider editing your profile and adding the link to your website into your signature. That way, it's on every message you post and you don't have to worry about making reference to it.

Thank you for all your hard work,
Flynn
 
My main web site is already linked to my profile, which has a link to the sec2pdf page (well, two links at the moment, one in the blog, one in the Projects section).

As for the script itself, I've still got a bit of tinkering to do. It needs text fields, the layout-file option (and commented example), a printed map legend, traditional port symbols, and there's an annoying corner case in the recently-added "auto" code that does peculiar things to filled regions.

Maybe I'll get to some of that this weekend if the trick-or-treaters don't come out in large numbers (they'd better; I bought fifty pounds of candy for them...).

-j
 
Fixed the filled-region bug I created when I added the manual and automatic map-subsetting. I figured it out when I decided to shade the Shanape Link Worlds mini-campaign setting (from the Referee's Screen package) on the Ley Sector maps. I also took advantage of the new features to generate a custom Linkworlds map as an example of how they're used.

While I was doing so, I spotted an amusing typo in Gateway to Destiny, and fixed it in my SEC files. The system named LonGTCop in GtD is called Longstop on the Linkworlds campaign map, which makes a lot more sense. The error appears to have been created by someone attempting a global search and replace in the original data files, most likely while tinkering with the labels for the Glimmerdrift Trade Consortium regions.


-j
 
hello,

I abused that region shading system and mapped Spinward Main:

</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"># Spinward Main
region 0129 0130 0230 0231 0332 0333 0433 0533 0532 0632 0732 0731 0830 0930
0931 1031 1131 1130 1131 1132 1232 1332 1331 1430 1429 1329 1429 1529
1628 1627 1626 1526 1525 1424 1325 1225 1126 1026 0927 1026 1126 1225
1325 1324 1223 1123 1022 0922 0822 0723 0724 0624 0625 0526 0527 0627
0727 0627 0528 0427 0426 0326 0325 0425 0526 0625 0624 0724 0723 0622
0723 0822 0922 0921 0820 0721 0620 0720 0820 0921 1020 1121 1221 1121
1020 0921 0922 1022 1123 1223 1324 1424 1524 1523 1522 1523 1524 1525
1526 1626 1727 1826 1825 1824 1924 2024 2124 2224 2324 2323 2322 2321
2420 2419 2319 2418 2417 2317 2416 2415 2414 2314 2313 2212 2112 2011
1912 1811 1711 1611 1511 1411 1311 1210 1110 1010 1011 0912 0911 0810
0710 0610 0511 0512 0412 0512 0511 0610 0710 0810 0911 1010 1110 1209
1210 1311 1411 1511 1510 1511 1611 1711 1810 1809 1808 1807 1806 1706
1705 1604 1705 1805 1806 1807 1808 1909 1910 1810 1811 1912 2011 2111
2110 2111 2112 2212 2313 2314 2414 2514 2613 2612 2512 2411 2311 2410
2510 2509 2408 2309 2308 2207 2308 2408 2509 2510 2410 2411 2512 2612
2712 2811 2912 2913 2812 2712 2612 2613 2514 2414 2415 2416 2417 2418
2519 2520 2620 2720 2620 2621 2521 2420 2321 2322 2323 2324 2325 2425
2426 2527 2627 2728 2827 2927 3026 3025 3024 2924 2824 2924 3024 3124
3123 3022 3021 3020 3019 3119 3118 3017 2918 2818 2918 3017 3016 3015
3016 3017 3118 3218 3119 3019 3020 3021 3022 3123 3223 3124 3024 3025
3026 2927 2827 2828 2728 2627 2527 2426 2327 2426 2425 2325 2224 2125
2024 1924 1824 1825 1826 1927 1826 1727 1728 1729 1628 1529 1429 1430
1531 1631 1731 1631 1632 1733 1632 1533 1433 1434 1435 1436 1537 1637
1737 1736 1635 1634 1635 1736 1836 1937 2036 2035 1935 1934 1935 2035
2036 2137 2236 2336 2236 2237 2138 2038 1939 1938 1937 1836 1737 1637
1537 1436 1337 1237 1238 1339 1340 1339 1238 1138 1037 0938 0838 0739
0638 0539 0538 0637 0638 0739 0838 0837 0938 1037 1138 1237 1337 1436
1435 1434 1433 1533 1532 1531 1430 1331 1332 1232 1233 1133 1132 1031
0931 0830 0731 0732 0632 0533 0534 0433 0333 0332 0231 0230 0130 0129</pre>[/QUOTE]Some observations:
- Describing long, narrow regions can be quite tedious...
- Script doesn't handle island topology (hex 2037).

Suggestion:
New metadata file directive that takes simple list of hex numbers and fills them with some color.

Mikko
 
Actually, it seems that the script CAN handle islands. Just add this line after the Spinward Main definition:

region 2037 white


Amazing program...

Mikko
 
Originally posted by syrja:
I abused that region shading system and mapped Spinward Main:
Glad to hear it! Features that can be abused to do other things are the best kind.


Describing long, narrow regions can be quite tedious...
Yes, I know. It's a bit disturbing to find yourself in a hex for the third time, and a real nuisance to generate the map and find you typed 2034 instead of 2024. I think I'm going to add code to warn you when a border hex isn't actually next to the others in the list.

New metadata file directive that takes simple list of hex numbers and fills them with some color.
I think I'll stick with the existing "region 0405 blue" method, because at some point I want to speed things up by only printing regions that cross the current page, and being able to list a random assortment of hexes on a single line complicates that.

-j
 
Back
Top