{
 "metadata": {
  "name": "Chapter 2"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": "PHOTOGRAPHIC SURVEYING"
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.1, Page 215"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#Finding azimuth of a,b,c\n\n# Initialization of Variable\nfrom math import pi\nfrom math import atan\nf =120.80 # focal length\na = -35.52 # elevation of A\nb =8.48 # elevation of B\nc =48.26 # elevation of C\n\n#calculation\nalphaa = atan (a/f);\nalphab = atan (b/f);\nalphac = atan (c/f);\nphi =(354+30/60) *pi /180; # azimuth o f camera\nphia =phi - alphaa -360* pi /180; # azimuth o f a\nphib = phia + alphab; # azimuth o f b\nphic = phia + alphac ; # azimuth o f c\n\n#result\nprint   \" azimuth of a in ( degrees ) \",round(phia /pi *180,2)\nprint  \" azimuth of b in ( degrees ) \",round(phib /pi *180,2)\nprint   \" azimuth of c in ( degrees ) \",round(phic /pi *180,2)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " azimuth of a in ( degrees )  10.39\n azimuth of b in ( degrees )  14.4\n azimuth of c in ( degrees )  32.16\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.2,Page 216"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#Finding distance AP and AQ and reduced elevation of A\n\n#initialisation of variable\nfrom math import pi\nfrom math import atan,sin,sqrt\nf =150.0; # focal length of camera\nap =20.2 # elevation of a from p\naa1 =16.4; # distace to the right\naq =35.2 # elevation of a from q\nPQ =100.0; # distace of PQ\nRL =126.845; # r educed level of instrument\n\n#calculation\nalphap = atan (ap/f);\nalphaq = atan (aq/f);\nP=pi /3- alphap ; # angle P\nQ =40* pi /180 - alphaq ; # angle Q\nA=pi -P-Q; # angle A;\nAP=PQ* sin (Q)/sin(A);\nAQ=PQ* sin (P)/sin(A);\nPa1 = sqrt (ap **2+ f **2) ;\nAA1 = aa1 *AP/ Pa1 ;\nRLa =RL+AA1; # reduced level of A\n\n#result\nprint  \" distance of AP (m)  \",round(AP,2);\nprint \"distance of AQ (m) \",round(AQ,2);\nprint \" reduced level of A in (M) \",round(RLa,2)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " distance of AP (m)   45.9\ndistance of AQ (m)  80.6\n reduced level of A in (M)  131.82\n"
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.3,Page 218"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding focal length\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\ntheta =(44+30/60) *pi /180; # angle b/w two points\nx1 =68.24; #distance of 1st point\nx2 =58.48; #distance of 2nd point\n\n#calculation\nf=( x1+x2)/ tan ( theta ) /2+ sqrt (( x1+x2) **2/4/( tan ( theta ))\n**2+ x1*x2);\n\n#result\nprint \" focal length of lens in (mm) \",round(f,2);",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " focal length of lens in (mm)  156.69\n"
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.4, Page 240"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding representative fraction\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\n# part 1\n\nH =1200.0;#altitude\nh =80.0; #elevation of hill\nf =15.0/100.0;\n\n#calculation\nR80 =f/(H-h);\nprint \" representative fraction of hill is ( time s) \",round(R80,5);\n\n# part 2\n#initialisation of variable\nh =300.0; #elevation of hill\n\n#calculation\nR300 =f/(H-h);\n\n#result\nprint \" representative fraction of hill is ( time s) \",round(R300,5) ;",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " representative fraction of hill is ( time s)  0.00013\n representative fraction of hill is ( time s)  0.00017\n"
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.5,Page 240"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding height above sea level\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nR =1.0/8000.0;\nh =1500.0;\nf =20.0/100.0;\n\n#calculation\nH=h+f/R;\n\n#result\nprint \" height above sea level in (m)  \",round(H,3);",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " height above sea level in (m)   3100.0\n"
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.6,Page 241"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding height above sea level\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nh =500.0; #elevation of point\nf =20.0/100.0; # focal length\nv =8.65/100.0; # vertical distance of photograph\nho =2000.0; # horizontal distance of photograph\nR=v/ho; # representative  fraction\nh1 =800;\n\n#calculation\nH=h+f/R;\nS=(H-h1)/f /100; # scale of photograph\n\nprint \" height above sea level in (m)  \",round(H,2);\nprint \" 1cm in photograph represents centimetres  \",round(S,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " height above sea level in (m)   5124.28\n 1cm in photograph represents centimetres   216.214\n"
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.7, Page 241"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding height above sea level\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nm =1.0/50000.0; #map scale\npd =10.16; # photo distance\nmd =2.54; #map distance\nf =16.0/100.0;\nh =200;\n\n#calculation\nR=pd/md*m; # representative  fraction\nH=h+f/R;\n\n#result\nprint \" height above sea level in (m) \",round(H,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " height above sea level in (m)  2200.0\n"
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.8,Page 242"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding distance between A and B\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nf =20 # f o c a l l e n g t h\nxa =2.65; # x coordinate of a\nxb = -1.92; # x coordinate of b\nya =1.36; # x coordinate of a\nyb =3.65; # y coordinate of b\nH =2500.0;\nha =500.0; # elevation of a\nhb =300.0; # elevation of b\n\n#calculation\nXa =(H-ha)/f*xa;\nXb =(H-hb)/f*xb;\nYa =(H-ha)/f*ya;\nYb =(H-hb)/f*yb;\nAB= sqrt ((Xa -Xb) **2+( Ya -Yb)**2);\n\n#result\nprint \" distance between A & B in (m)  \",round(AB,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " distance between A & B in (m)   545.213\n"
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.9,Page 243"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding flying distance between A and B\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nf =20.0 # focal length\nxa =2.65; # x coordinate of a\nxb = -1.92; # x coordinate of b\nya =1.36; # y coordinate of a\nyb =3.65; # y coordinate of b\nha =500.0; # elevation of a\nhb =300.0; # elevation of b\nABg =545.0;\nab =5.112;\n\n#calculation\nhab =ha /2+ hb /2;\nHapp =hab+ ABg *f/ab\nXa =( Happ -ha)/f*xa;\nXb =( Happ -hb)/f*xb;\nYa =( Happ -ha)/f*ya;\nYb =( Happ -hb)/f*yb;\nAB= sqrt ((Xa -Xb) **2+( Ya -Yb)**2);\nHact =ABg/AB *( Happ - hab )+ hab ;\n\n#result\nprint \" actual flying height of A & B in (m)  \",round(Hact,3);",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " actual flying height of A & B in (m)   2499.706\n"
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.10,Page 243"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding relief displacement\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\n\nf =20.0/100.0;\nSd =1.0/10000.0;\nh =250.0; # elevation\nr =6.44;\n\n#calculation\nH=f/Sd;\nd=r*h/H;\n\n#result\nprint \"relief displacement of the point in ( cm) \",round(d,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "relief displacement of the point in ( cm)  0.805\n"
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.11,Page 244"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding relief distance\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nh =50.0; # elevation\nH =2500.0 -1250.0;\nr =6.35;\n\n#calculation\nd=r*h/H;\n\n#result\nprint  \"releif displacement of the point in ( cm) \",round(d,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "releif displacement of the point in ( cm)  0.254\n"
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.12,Page 244"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding height of tower\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nf =20.0/100.0; # focal length\nl =250; #length of line\nlp =8.5/100.0; #length of line in photograph\n\n#calculation\nH=l*f/lp; # height of camera above datum\nr =6.46; # distace of image of top o f the towe r\nd =0.46; # releif displacement\nh=d*H/r;\n\n#result\nprint \" height of tower above its base in (m) \",round(h,2)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "41.89  height of tower above its base in (m) \n"
      }
     ],
     "prompt_number": 28
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.13,Page 267"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding no. of photographs\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nl =20/100; # length of photograph\nw =20/100; # breadth of photograph\nPl =0.6; # longitudinal  lap\nPw =0.3; # side lap\ns =100*20;\n\n#calculation\nL=(1 - Pl)*s;\nW=(1 - Pw)*s;\nAr=L*W /1000/1000;\nN =100/ Ar;\nA= round (N);\n\n#result\nprint \"no . o f photographs to be taken \",A+1;\n",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "no . o f photographs to be taken  90.0\n"
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.14,Page 267"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding no. of photographs\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nPl =0.6; # longitudinal lap\nPw =0.3; # side lap\nL1 =10000.0;\ns =100.0*20.0;\n\n#calculation\nL2=L1;\nN1=L1 /((1 - Pl)*s) +1;\nA1= round (N1);\nif N1 -A1 <0:\n    N1=A1;\nelse :\n    N1=A1+1;\n\nN2=L2 /((1 - Pw)*s) +1;\nA2= round (N2);\nif N2 -A2 <0:\n    N2=A2\nelse :\n    N2=A2+1;\n\nN=N1*N2;\n\n#result\nprint \"no . of photographs to be taken \",N;",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "no . of photographs to be taken  126.0\n"
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.15,Page 268"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding no. of photographs\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nPl =0.6; # longitudinal lap\nPw =0.3; # side lap\nL1 =12500.0;\ns =100.0*20.0;\nL2 =8000.0;\n\n#calculation\nN1=L1 /((1 - Pl)*s) +1;\nA1= round (N1);\nif N1 -A1 <0:\n    N1=A1;\nelse :\n    N1=A1+1;\n\nN2=L2 /((1 - Pw)*s) +1;\nA2= round (N2);\nif N2 -A2 <0:\n    N2=A2\nelse :\n    N2=A2+1;\n\nN=N1*N2;\n\n#result\nprint \"no . of photographs to be taken \",N;",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": "no . of photographs to be taken  119.0\n"
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.16,Page 268"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding no. of photographs,height of datum\n\n#initialisation of variable\n#part1\nfrom math import pi,tan,sqrt,sin\nf =30.0/100.0; # focal length\nh =400.0; #elevation of datum\nr =12000.0; # ratio\ns =120.0*20.0;\nL2 =24000.0;\nL1 =30000.0;\nPl =0.6; # longitudinal lap\nPw =0.3; # side lap\n\n#calculation\nH=h+r*f;\n\n#result\nprint \" height above datum in (m)  \",round(H,2);\n\n# part 2\n#calculation\nW=(1 - Pw)*s;\n\n#result\nprint \" ground width covered in each photograph (m) \",round(W,2);\n\n# part 3\nN2=L2 /((1 - Pw)*s) +1;\nA2= round (N2);\nif N2 -A2 <0:\n    N2=A2\nelse :\n    N2=A2+1;\n\n#result\nprint \"no . of flights required \",N2;\n\n#part 4-9\n#calculation\nAsf =L2 /(N2 -1) ; # actual spacing between flights\nSfl = Asf /600; # spacing of flight lines\ngd =(1 - Pl)*s; # ground distance\nEi=gd /55.5; # exposure interval\nEi= round (Ei);\nAgs =55.56* Ei;# adgusted ground distance\nN1=L1/ Ags +1;\nA1= round (N1);\nif N1 -A1 <0:\n    N1=A1;\nelse :\n    N1=A1+1;\nN=N1*N2;\n\n#result\nprint \"actual spacing in m\",Asf\nprint \"spacing of flight lines in cm\",round(Sfl,2)\nprint \"exposure interval in s\",Ei\nprint \"adjusted ground distance in m\",round(Ags)\nprint \"no . of photographs to be taken per flight line\",N1\nprint \"no . of photographs to be taken \",N;",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " height above datum in (m)   4000.0\n ground width covered in each photograph (m)  1680.0\nno . of flights required  16.0\nactual spacing in m 1600.0\nspacing of flight lines in cm 2.67\nexposure interval in s 17.0\nadjusted ground distance in m 945.0\nno . of photographs to be taken per flight line 33.0\nno . of photographs to be taken  528.0\n"
      }
     ],
     "prompt_number": 15
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.17,Page 301"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding error in height \n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nf =150.0/1000.0; # focal length\nr =20000.0; #ratio\nPl =0.6; # longitudinal  lap\nl =23.0/100.0; # l e n g t h\nw =23.0/100.0; # width\n\n#calculation\nB=(1 - Pl)*l*r; # base length\nH=f*r;\nh =0;\ndh =(H-h) **2/ B/f *0.1/1000;\n\n#result\nprint \" error in height in (m)  \",round(dh,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " error in height in (m)   3.261\n"
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.18,Page 302"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding parallax height of the chimney\n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nH =600.0;\nf =150.0/1000.0;\nb =6.375/100.0;\nh1 =0.0;\nh2 =120.0; # height of chimney\n\n#calculation\ns=H/f;\nB=s*b; # datum elevation\np1=B*f *1000/(H-h1);\np2=B*f *1000/(H-h2);\ndelp =p2 -p1;\ndelh =H* delp /1000/( b+ delp /1000) ;\n\n#result\nprint \" parallax height of the chimney in (m)\",round(delh,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " parallax height of the chimney in (m) 120.0\n"
      }
     ],
     "prompt_number": 17
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.19,Page 303"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding difference in elevation \n\n#initialisation of variable\nfrom math import pi,tan,sqrt,sin\nB =200.0;\nf =120.0;\np2 =52.52; # parallax for top pole\np1 =48.27; # parallax for bottom pole\n\n#calculation\ndelh =(p2 -p1)/p2/p1*B*f;\n\n#result\nprint \" difference in elevation  of two points in (m)  \",round(delh,3)\nprint \"there is again  a miscalculation in the step of calculating elevation thus there is a change in the answer\"",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " difference in elevation  of two points in (m)   40.234\nthere is again  a miscalculation in the step of calculating elevation thus there is a change in the answer\n"
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": "Example 2.20,Page 303"
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "#finding difference in elevation \n\n#initialisation of variable\n# part 1\ndelp =1.48/1000.0;\nH =5000.0;\nh =500.0;\nb =90.0/1000.0; #mean principal base\n\n#calculation\ndh =(H-h) **2* delp /((H-h)* delp +b*H);\n\n#result\nprint \" difference in height between two points in(m)  \",round(dh,3)\n\n# part 2\n#variable decleration\ndelp =15.5/1000.0;\n\n#calculation\ndh =(H-h) **2* delp /((H-h)* delp +b*H);\n\n#result\nprint \" difference in height between two points in(m)  \",round(dh,3)",
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": " difference in height between two points in(m)   65.629\n difference in height between two points in(m)   603.896\n"
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": "",
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}