1m.proj(1) GRASS GIS User's Manual m.proj(1)
2
3
4
6 m.proj - Converts coordinates from one projection to another (cs2cs
7 frontend).
8
10 miscellaneous, projection, transformation
11
13 m.proj
14 m.proj --help
15 m.proj [-iodec] [coordinates=east,north] [input=name] [out‐
16 put=name] [separator=character] [proj_in=string]
17 [proj_out=string] [--overwrite] [--help] [--verbose] [--quiet]
18 [--ui]
19
20 Flags:
21 -i
22 Use LL WGS84 as input and current location as output projection
23
24 -o
25 Use current location as input and LL WGS84 as output projection
26
27 -d
28 Output long/lat in decimal degrees, or other projections with many
29 decimal places
30
31 -e
32 Include input coordinates in output file
33
34 -c
35 Include column names in output file
36
37 --overwrite
38 Allow output files to overwrite existing files
39
40 --help
41 Print usage summary
42
43 --verbose
44 Verbose module output
45
46 --quiet
47 Quiet module output
48
49 --ui
50 Force launching GUI dialog
51
52 Parameters:
53 coordinates=east,north
54 Input coordinates to reproject
55
56 input=name
57 Name of input coordinate file
58 ’-’ for standard input
59
60 output=name
61 Name for output coordinate file (omit to send to stdout)
62
63 separator=character
64 Field separator (format: input[,output])
65 Special characters: pipe, comma, space, tab, newline
66 Default: pipe
67
68 proj_in=string
69 Input projection parameters (PROJ.4 style)
70
71 proj_out=string
72 Output projection parameters (PROJ.4 style)
73
75 This program allows a user to convert coordinates from one projection
76 to another. Coordinates can be read from one file, converted, and re‐
77 sults written to another file. Alternatively, if the input=-, eastings
78 and northings may be passed to the program directly from standard in‐
79 put. If the output option is omitted, the results are sent directly to
80 standard output. In this way m.proj can be used as a simple frontend to
81 the PROJ cs2cs utility. The -i or -o flags make the task especially
82 easy for the common problem of converting to or from lat/long WGS84.
83
84 Note: This program does not transform GRASS maps, it is designed to de‐
85 termine the equivalent coordinate values of an individual position or
86 list of positions. Use v.proj to reproject vector maps or r.proj for
87 raster maps.
88
89 For an introduction to map projections (with PROJ),see the manual page
90 of r.proj.
91
93 cs2cs expects input data to formatted as x y, so if working with lati‐
94 tude-longitude data be sure to send the x value first, i.e., longi‐
95 tude latitude. Output data will be exported using the same convention.
96
97 cs2cs will treat a third data column as a z value (elevation) and will
98 modify the value accordingly. This usually translates into small but
99 real differences in that data column.
100
101 cs2cs does not expect the input stream to contain column headings, only
102 numbers. If your data file has lines you wish to have passed through
103 without being processed, they must start with the ’#’ character.
104
105 If sending m.proj data from standard input, be aware that the data is
106 first stored to a temporary file before being processed with cs2cs. It
107 is therefore not advisable to send m.proj data from an open data
108 stream. The module will stop listening for incoming data after 2 sec‐
109 onds of inactivity. You may use the projection parameters gleaned from
110 m.proj’s verbose mode (--verbose) with cs2cs directly in this case.
111
112 Custom projection parameters can be used via the proj_in and proj_out
113 options. Full documentation of the projection parameter format may be
114 found on the PROJ website. Using these options will fully override the
115 default parameters the module would normally use.
116
117 By using the --verbose verbose flag, the user can see exactly what pro‐
118 jection parameters will be used in the conversion as well as some other
119 informative messages.
120
121 If output is to lat/long, it will be formatted using PROJ’s De‐
122 gree:Minute:Second (DMS) convention of DDDdMM’SSS.SS"H. This can be
123 handy if you wish to quickly convert lat/long decimal degree data into
124 its DMS equivalent.
125 Alternatively, to have m.proj output data in decimal degrees, use the
126 -d flag. This flag can also be used with non-lat/long data to force a
127 higher number of decimal places (the cs2cs default is 2).
128
129 Note that Lat/long output can be converted to GRASS’s DMS convention
130 (DDD:MM:SSS.SSSH) by piping the results of m.proj through the sed
131 stream editor as follows.
132 m.proj -o ... | sed -e ’s/d/:/g’ -e "s/’/:/g" -e ’s/"//g’
133
135 The examples are suitable for the North Carolina sample dataset if not
136 stated otherwise:
137
138 Reproject vector point coordinate pairs to Long/Lat WGS84
139 The m.proj module is designed to work seamlessly with point data ex‐
140 ported from the GIS with v.out.ascii, as the following example shows.
141 # Long/Lat WGS84 output in DMS
142 v.out.ascii bridges | m.proj -o input=-
143 # Long/Lat WGS84 output in decimal degree
144 v.out.ascii bridges | m.proj -o -d input=-
145
146 Reproject Long/Lat WGS84 coordinate pair to current map projection
147 To convert a Long/Lat WGS84 coordinate pair to the current map projec‐
148 tion using the -i flag which sets the target projection parameters au‐
149 tomatically from the current location definition:
150 echo "-78.61168178 33.92225767" | m.proj -i input=-
151 645513.47|19180.31|0.00
152
153 The same, but load points from a file named waypoints.txt and continue
154 on to import the results into a GRASS vector points map in the current
155 map projection:
156 # check file content
157 cat waypoints.txt
158 -78.43977824 33.89587173
159 -78.54944691 33.88964566
160 -78.51078074 33.88141495
161 -77.14037951 35.60543020
162 # reproject points and generate vector map on the fly
163 m.proj -i input=waypoints.txt | v.in.ascii input=- output=test_pnts
164 # verify result
165 v.db.select test_pnts cat|dbl_1|dbl_2|dbl_3
166 1|661427.74|16329.14|0
167 2|651285.43|15586.79|0
168 3|654867.21|14690.64|0
169 4|778074.58|207402.6|0
170
171 Custom projection parameter usage
172 To transform points from a UTM projection (here specified with detailed
173 projection definition rather than using an EPSG code) into the
174 Gauss-Krüger Grid System, importing from and exporting to files:
175 m.proj proj_in="+proj=utm +name=utm +a=6378137.0 +es=0.006694380 \
176 +zone=32 +unfact=1.0" proj_out="+proj=tmerc +name=tmerc \
177 +a=6377397.155 +es=0.0066743720 +lat_0=0.0 +lon_0=9.0 +k=1.0 \
178 +x_0=3500000.0" input=utm.coord.txt output=new.gk.coord.txt
179
180 Projection parameters provided in the above case: +proj (projection
181 type), +name (projection name), +a (ellipsoid: equatorial radius), +es
182 (ellipsoid: eccentricity squared), +zone (zone for the area), +unfact
183 (conversion factor from meters to other units, e.g. feet), +lat_0
184 (standard parallel), +lon_0 (central meridian), +k (scale factor) and
185 +x_0 (false easting). Sometimes false northing is needed which is coded
186 as +y_0. Internally, the underlying PROJ projection library performs
187 an inverse projection to latitude-longitude and then projects the coor‐
188 dinate list to the target projection.
189
190 Datum conversions are automatically handled by the PROJ library if +da‐
191 tum setings are specified on both the input and output projections on
192 the command line. The +towgs84 parameter can be used to define either 3
193 or 7 term datum transform coefficients, satisfying this requirement.
194
195 If a datum is specified there is no need for the +ellps= or underlying
196 parameters, +a=, +es=, etc.
197
198 Another custom parameter usage example:
199 m.proj proj_in="+proj=tmerc +datum=ire65 +lat_0=53.5 +lon_0=-8 +x_0=200000 \
200 +y_0=250000 +k=1.000035" proj_out="+proj=ll +datum=wgs84" input=wpt.txt
201 or without datum transformation:
202 m.proj proj_in="+proj=tmerc +ellps=modif_airy +lat_0=53.5 +lon_0=-8 +x_0=200000 \
203 +y_0=250000 +k=1.000035" proj_out="+proj=ll +datum=wgs84" input=wpt.txt
204
205 In this example no datum transformation will take place as a datum was
206 not specified for the input projection. The datum specified for the
207 output projection will thus be silently ignored and may be left out;
208 all that is achieved a simple conversion from projected to geodetic
209 co-ordinates, keeping the same datum (and thus also the same ellip‐
210 soid).
211
212 For more usage examples, see the documentation for the PROJ cs2cs pro‐
213 gram.
214
216 • Evenden, G.I. (1990) Cartographic projection procedures for
217 the UNIX environment - a user’s manual. USGS Open-File Report
218 90-284 (OF90-284.pdf) See also there: Interim Report and 2nd
219 Interim Report on Release 4, Evenden 1994).
220
221 • PROJ Cartographic Projection Library
222
224 g.proj, r.proj, v.proj, i.rectify, v.in.ascii, v.out.ascii
225
227 M. Hamish Bowman, Dept. Marine Science, Otago University, New Zealand
228 Functionality inspired by the m.proj and m.proj2 modules for GRASS GIS
229 5.
230
232 Available at: m.proj source code (history)
233
234 Accessed: Saturday Jan 21 20:41:00 2023
235
236 Main index | Miscellaneous index | Topics index | Keywords index |
237 Graphical index | Full index
238
239 © 2003-2023 GRASS Development Team, GRASS GIS 8.2.1 Reference Manual
240
241
242
243GRASS 8.2.1 m.proj(1)