1

My situation is this: I've purchased some PDF maps that I converted some time ago into some software (MudMap) and I now no longer have the PDFs and I want to convert them back.

My problem is this: From the software, I've got the data file which is about 23MB and the xml file which describes tile information etc. I don't care about the metadata as I just want the map image so my question is with the data file only. As I said, it's 23MB. If I rename it to image extensions, it opens with image viewers but it is only 256x256px and only shows a section of the map - a section that looks like it would only 256px of the whole image. Opening the image in a text editor shows some repeating text elements with "IHDR" so I guess the file is related to a PNG format...??

So my question is: Simply, how can I view the full image. Does the PNG format (or others) have a capability to store additional image information hidden out of view? Or does the file itself set the boundaries of it's viewable area. Finally, is there software out there that reads these files?

4
  • Have you tried opening the file in QGIS?
    – Liam G
    Commented Sep 28, 2016 at 2:15
  • Hi, I just tried. I tried to open in in the Georeferencer, but the image shown is the same what I see in other image viewers - that little 256x256 portion.
    – Warren
    Commented Sep 28, 2016 at 4:43
  • If it's a geo PDF I think you can add it as a layer, try adding as raster
    – Liam G
    Commented Sep 28, 2016 at 4:46
  • No luck - same little image...
    – Warren
    Commented Sep 28, 2016 at 4:50

2 Answers 2

0

After some more experimenting, I have found that the PNG file is simply several raw data files joined together.

The file data starts off with:

‰PNG

followed by the junk you see when you open an image in a text editor. At the end of some junk, you see a comma and then ‰PNG again. And if I use the ‰PNG as a delimiter (which I have done below), I get separate tiles!!!

<?php 
$png = file_get_contents('data.png');
$tiles = preg_split("@(?=‰PNG)@", $png);
$i=0;
foreach ($tiles as $img) {
   echo $i.'<br/>';
   $myfile = fopen('newfile'.$i.'.png', "w");
   fwrite($myfile, $img);
   fclose($myfile);
   $i++;
} 
echo 'done';
?>

I will now ask a separate question about how best to stitch them together.

0

If you could give the tiles 'slippy map' numbers then Mobile Atlas Creator would combine them into a single PNG (and many other formats as well)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.