# (26) General vertical perspective projection

Next, we present a recent extension to the -JG projection option which allows the user to specify a particular altitude (this was always at infinity before), as well as several further parameters to limit the view from the chosen vantage point. In this example we show a view of the eastern continental US from a height of 160 km. Below we add a view with a specific tilt of 55 and azimuth 210; here we have chosen a boresight twist of 45. We view the land from New York towards Washington, D.C.

At this point the full projection has not been properly optimized and the map annotations will need additional work. Also, note that the projection is only implemented in coast and grdimage. We hope to refine this further and extend the availability of the full projection to all of the GMT mapping programs.

    #!/usr/bin/env bash
    #		GMT EXAMPLE 26
    #
    # Purpose:	Demonstrate general vertical perspective projection
    # GMT modules:	coast
    #
    gmt begin ex26
    	# first do an overhead of the east coast from 160 km altitude point straight down
    	latitude=41.5
    	longitude=-74
    	altitude=160

    	PROJ=-JG${longitude}/${latitude}/10c+z${altitude}
    	gmt coast -Rg $PROJ -B5g5 -Glightbrown -Slightblue -W -Dl -N1/1p,red -N2/0.5p -Y12c

    	# now point from an altitude of 160 km with a specific tilt and azimuth and with a wider restricted
    	# view and a boresight twist of 45 degrees
    	tilt=55
    	azimuth=210
    	twist=45
    	Width=30
    	Height=30

    	PROJ=-JG${longitude}/${latitude}/12c+z${altitude}+a${azimuth}+t${tilt}+w${twist}+v${Width}/${Height}
    	gmt coast $PROJ -B5g5 -Glightbrown -Slightblue -W -Ia/blue -Di -Na -X1i -Y-10c
    gmt end show

General vertical perspective projection.