Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oziexplorer .map file generation while exporting large map picture #424

Open
GoogleCodeExporter opened this issue Dec 15, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

Based on Nik4 (https://github.com/Zverik/Nik4), I suggest adding a new feature 
to make the generated large PNG files directly in Oziexplorer, by adding these 
(or similar) code lines to the maps.py file.


def prepare_ozi(minx, miny, maxx, maxy, mwidth, mheight, name):
    """Create georeferencing file for OziExplorer"""
    def deg(value, is_lon):
        degrees = math.floor(abs(value))
        minutes = (abs(value) - degrees) * 60
        return '{:4d},{:3.5F},{}'.format(int(round(degrees)), minutes, ('W' if is_lon else 'S') if value < 0 else ('E' if is_lon else 'N'))
    points = "\n".join(['Point{:02d},xy,     ,     ,in, deg,    ,        ,N,    ,        ,E, grid,   ,           ,           ,N'.format(n) for n in range(3,31)])
    return '''OziExplorer Map Data File Version 2.2
GMapCatcher-mod1
{}
1 ,Map Code,
WGS 84,WGS 84,   0.0000,   0.0000,WGS 84
Reserved 1
Reserved 2
Magnetic Variation,,,E
Map Projection,Mercator,PolyCal,No,AutoCalOnly,No,BSBUseWPX,No
Point01,xy,    0,    0,in, deg,{},{}, grid,   ,           ,           ,N
Point02,xy, {:4d}, {:4d},in, deg,{},{}, grid,   ,           ,           ,N
{}
Projection Setup,,,,,,,,,,
Map Feature = MF ; Map Comment = MC     These follow if they exist
Track File = TF      These follow if they exist
Moving Map Parameters = MM?    These follow if they exist
MM0,Yes
MMPNUM,4
MMPXY,1,0,0
'''.format(name, deg(maxy, False), deg(minx, True), mwidth - 1, mheight - 1, 
deg(miny, False), deg(maxx, True), points) \
    + "MMPXY,2,{},0\n".format(mwidth) \
    + "MMPXY,3,{},{}\n".format(mwidth, mheight) \
    + "MMPXY,4,0,{}\n".format(mheight) \
    + 'MMPLL,1,{:4.6f},{:4.6f}\n'.format(minx, maxy) \
    + 'MMPLL,2,{:4.6f},{:4.6f}\n'.format(maxx, maxy) \
    + 'MMPLL,3,{:4.6f},{:4.6f}\n'.format(maxx, miny) \
    + 'MMPLL,4,{:4.6f},{:4.6f}\n'.format(minx, miny) \
    + "MM1B,{:4.4f}\n".format((40075000/360*(maxx-minx)) / mwidth * math.cos(math.radians((maxy+miny)/2))) \
    + "MOP,Map Open Position,0,0\n" \
    + "IWH,Map Image Width/Height,{},{}\n".format(mwidth, mheight)


<HR>

with open(self.tPoint['FileName'] + '.map', 'w') as f:
        f.write(prepare_ozi(self.m['xLow'], self.m['yLow'], self.m['xHigh'], self.m['yHigh'], self.sbWidth.get_value_as_int(), self.sbHeight.get_value_as_int(), self.tPoint['FileName']))

        self.m['xLow']=lowCoord[1]
        self.m['yLow']=highCoord[0]
        self.m['xHigh']=highCoord[1]
        self.m['yHigh']=lowCoord[0]

Original issue reported on code.google.com by [email protected] on 11 Feb 2015 at 11:53

Attachments:

@GoogleCodeExporter
Copy link
Author

Original comment by heldersepu on 12 Feb 2015 at 3:51

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant