SHPPROJ(1)
π SHPPROJ π
okay bestie, sit down, hydrate, because we're about to talk about shpproj β the lil tool that Reprojects Shapefiles using PROJ. no cap, it's giving coordinate glow-up β¨
πΈ SYNOPSIS πΈ
shpproj in_shp_file out_shp_file [-i=in_proj_file |
-i="in_params" | -i=geographic] [-o=out_info_file |
-o="out_params" | -o=geographic]
β¨ OPTIONS β¨
in_shp_fileβ the name of an existing shapefile. like, the one you already have, the source material, the main character π«Άout_shp_fileβ the name of the new fixed shapefile that will be created. yes bestie, it makes a whole new file, it does not touch your original π-iβ Input projection. and there are three ways to feed it in, pick one:- a projection parameter file
- the parameters directly
geographic
β οΈ plot twist: if your shapefile has an associatedprjfile β same name as the shapefile but ending in".prj"β that one gets used by default, ignoring all your other parameters. so rude but so true.
and if you just... omit the input entirely? it defaults to geographic, unless that default prj file exists. sneaky. π
-oβ Output, same three-source situation: a projection parameter file, parameters directly, orgeographic. if you omit it, it defaults togeographic. easy peasy π
π₯ PROJECTION DETAILS π₯
π PROJECTION PARAMETER FILE π
okay so this file MUST end with the extension ".prj" β not optional, not negotiable, that's the vibe check it has to pass. the format? one projection parameter per line. Parameters can be in any order, so don't stress about lining them up. and the projection parameters are those used to define a PROJ projection. that's it, that's the whole thing β¨
π¦ PROJECTION PARAMETERS π¦
Are the same as used by proj and invproj. iconic crossover event π
use: proj -lu to see available units proj -le to see available ellipsoid
Or visit the PROJ web page at http://www.remotesensing.org/proj for more details. go read, bestie, it's free education π
π« EXAMPLE π«
The following example projects file rowtest to row3, moving data from Stateplane NAD83 zone 1002 to utm zone 16 in meters:
shpproj rowtest row -i="init=nad83:1002 units=us-ft" -o="proj=utm
zone=16 units=m"
shpproj rowtest row3 -o="proj=utm zone=18 units=m" -i="zone=16 proj=utm
units=us-ft"
shpproj rowtest row3 -o="proj=utm zone=18 units=m"
This example uses a prj file and converts to geographic. note that -o=geographic can be ommitted.
shpproj rowtest row3 -i=myfile.prj -o=geographic
π AUTHOR π
shpproj is part of shapelib, maintained by Frank Warmerdam. This guide was created by Eduardo Patoo Kanegae and converted to manpage by Johan Van de Wauw. shoutout to the whole squad, we love a collaborative effort π
π SEE ALSO π
proj(1), dbfadd(1), dbfcat(1), dbfcreate(1), dbfdump(1), dbfinfo(1), shpadd(1), shpcat(1), shpcentrd(1), shpcreate(1), shpdump(1), shpdxf(1), shpfix(1), shpinfo(1), shprewind(1), shptest(1)
go read the whole family, they're all a little bit iconic in their own way π§
and that's the whole page, bestie!! this one's from the shapelib source, dated March 2026 β so go forth, reproject something, and remember: the prj file might be doing stuff behind your back. mwah π
π¦ where this page comes from
- fedora 44: shapelib-tools 1.6.3-1.fc44 Β· (LGPL-2.0-or-later OR MIT) AND GPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms