/[thuban]/branches/WIP-pyshapelib-bramz/devtools/create_epsg.py
ViewVC logotype

Contents of /branches/WIP-pyshapelib-bramz/devtools/create_epsg.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2734 - (show annotations)
Thu Mar 1 12:42:59 2007 UTC (18 years ago) by bramz
File MIME type: text/x-python
File size: 1721 byte(s)
made a copy
1 # Copyright (c) 2003 by Intevation GmbH
2 # Authors:
3 # Jan-Oliver Wagner <[email protected]>
4 #
5 # This program is free software under the GPL (>=v2)
6 # Read the file COPYING coming with Thuban for details.
7
8 """
9 Convert the epsg file of proj into a python .proj file.
10
11 Call it like:
12 $ python create_epsg.py > epsg.proj
13
14 This tool assumes the original file of proj ('epsg') to
15 be present in the standard location of a system wide
16 installation, i.e. in /usr/share/proj/epsg.
17 If it is somewhere else, just adapt the path in the code
18 below.
19
20 The entries in the source file look like this:
21
22 # Anguilla 1957 / British West Indies Grid
23 <200> +proj=tmerc +lat_0=0.000000000 +lon_0=-62.000000000 +k=0.999500 +x_0=40000 0.000 +y_0=0.000 +ellps=clrk80 +units=m no_defs <>
24 """
25
26 __version__ = "$Revision$"
27
28 # this function is copied from Thuban/Model/xmlwriter.py
29 def escape(data):
30 """Escape &, \", ', <, and > in a string of data.
31 """
32 data = data.replace("&", "&amp;")
33 data = data.replace("<", "&lt;")
34 data = data.replace(">", "&gt;")
35 data = data.replace('"', "&quot;")
36 data = data.replace("'", "&apos;")
37 return data
38
39 print '<?xml version="1.0" encoding="UTF-8"?>'
40 print '<!DOCTYPE projfile SYSTEM "projectionlist.dtd">'
41 print '<projectionlist>'
42
43 epsg = open('/usr/share/proj/epsg', 'r').readlines()
44
45 for line in epsg:
46 if line[0] == '#':
47 title = line[2:-1]
48 if line[0] == '<':
49 elements = line.split(' ')
50 epsg_nr = elements[0][1:-1]
51 print ' <projection epsg="%s" name="%s">' % (epsg_nr, escape(title))
52 for p in elements[1:-3]:
53 print ' <parameter value="%s"/>' % escape(p[1:])
54 print ' </projection>'
55
56 print '</projectionlist>'

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26