{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "# Chapter 11: Tacheometric Surveying"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "### section 11.7 , pg 413, problem 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RL of instrument axis= 764.345 m\n",
      "RL of D= 784.042 m\n",
      "Distance of CD=147.097m\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "retiftoi=100\n",
    "fplusd=0.15\n",
    "s1=2.450-1.150\n",
    "thetha1=5+(20/60)\n",
    "v1=(100*1300*math.sin(10+(40/60))/2)+(0.15*math.sin(5+(20/60)));\n",
    "s2=1.5\n",
    "thetha2=8+(12/60)\n",
    "V2=21.197\n",
    "d2=147.097\n",
    "RL=750.500+1.8+12.045                                \n",
    "RLD=RL+V2-1.5\n",
    "print \"RL of instrument axis=\",RL,\"m\"\n",
    "print \"RL of D=\", RLD,\"m\"\n",
    "print \"Distance of CD=147.097m\"                                 \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### section 11.7, pg 415, problem 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RL of axis when isnt. at P= 265.109\n",
      "RL of A= 280.38\n",
      "RL at B= 298.021\n",
      "RL of B= 296.571\n",
      "Distance between A and B= 118.009\n"
     ]
    }
   ],
   "source": [
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "v1=7.534\n",
    "v2=16.871\n",
    "v3=15.326\n",
    "RLatp=255.750+v1+1.825\n",
    "RLofA=265.109+v2-1.6\n",
    "RLatB=280.380+v3+2.315\n",
    "RLofB=298.021-1.450\n",
    "D3=118.009\n",
    "print \"RL of axis when isnt. at P=\", RLatp\n",
    "print \"RL of A=\", RLofA\n",
    "print \"RL at B=\", RLatB\n",
    "print \"RL of B=\", RLofB\n",
    "print \"Distance between A and B=\", D3\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### section 11.7 , pg 413, problem 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10.494\n",
      "RL of axis when isnt. at A= 462.449\n",
      "RL of A= 461.104\n",
      "RL at B= 487.151\n",
      "RL of B= 485.601\n",
      "RL of C 510.533\n"
     ]
    }
   ],
   "source": [
    "\n",
    "from __future__ import division\n",
    "import math\n",
    "\n",
    "\n",
    "v1=10.494\n",
    "d1=108.989\n",
    "V2=24.807\n",
    "d2=176.514\n",
    "v3=25.652\n",
    "d3=145.477\n",
    "RL=450.500+1.455+v1                               \n",
    "RLofA=462.449-1.345\n",
    "RLofB=462.449+24.807-1.655\n",
    "RLatB=487.151\n",
    "RLofC=RLofB+v3-2.250+1.53\n",
    "print v1\n",
    "print \"RL of axis when isnt. at A=\", RL\n",
    "print \"RL of A=\", RLofA\n",
    "print \"RL at B=\", RLatB\n",
    "print \"RL of B=\", RLofB\n",
    "print \"RL of C\", RLofC\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ch-11 page 416   pb-4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "in 1st observation\n",
      "('v1,d1=', 9.386067902413853, 119.26130043570826)\n",
      "in 2nd observation\n",
      "('v2,d2=', 26.26555359446006, 145.25041419362984)\n",
      "('RL of A=', 159.18106790241387)\n",
      "('RL of B=', 175.81555359446008)\n",
      "('difference of level AB=', 104.0330138511747, 'meters')\n",
      "('gradient of AB is 1 in', 6.254056529136824)\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "c=100;\n",
    "h=1.55;\n",
    "rlo=150;\n",
    "ra1=1.155;ra2=1.755;ra3=2.355;\n",
    "rb1=1.250;rb2=2;rb3=2.750;\n",
    "t1=30.5;t2=75.5;\n",
    "a1=4.5;a2=10.25;\n",
    "\n",
    "print('in 1st observation')\n",
    "v1=c*(ra3-ra1)*(math.sin(9*(math.pi/180)));\n",
    "v1=v1/2;\n",
    "d1=c*(ra3-ra1)*(math.cos(a1*(math.pi/180)))*(math.cos(a1*(math.pi/180)));\n",
    "print('v1,d1=',v1,d1);\n",
    "\n",
    "print('in 2nd observation');\n",
    "\n",
    "v2=c*(rb3-rb1)*(math.sin(20.5*(math.pi/180)));\n",
    "v2=v2/2;\n",
    "d2=c*(rb3-rb1)*(math.cos(a2*(math.pi/180)))*(math.cos(a2*(math.pi/180)));\n",
    "print('v2,d2=',v2,d2);\n",
    "\n",
    "rl=rlo+h;\n",
    "rla=rl+v1-ra2;\n",
    "rlb=rl+v2-rb2;\n",
    "\n",
    "print('RL of A=',rla);\n",
    "print('RL of B=',rlb);\n",
    "\n",
    "t=t2-t1;\n",
    "AB=math.sqrt((d1*d1+d2*d2)-2*(d1*d2*(math.cos(t*(math.pi/180)))));\n",
    "print('difference of level AB=',AB,'meters');\n",
    "\n",
    "dab=rlb-rla;\n",
    "gab=AB/dab;\n",
    "print('gradient of AB is 1 in',gab);\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ch-11 page 418   pb-5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('v1,v2=', 31.256671980047464, 31.1867536226639)\n",
      "('h1,h2=', 2.0188558936750263, 1.5699268991777582)\n",
      "('RL of A=', 418.7244721262775)\n",
      "('RL of B=', 419.24331947815836)\n",
      "('distance between A an B is', 323.2978586242886)\n",
      "('gradient of PA is 1 in ', 5.567473732648181)\n",
      "('gradient of PB is 1 in ', 4.68342893110529)\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "h=1.5;\n",
    "a1=10;a2=12;\n",
    "c=100;\n",
    "ra1=1.150;ra2=2.050;ra3=2.950;\n",
    "rb1=0.855;rb2=1.605;rb3=2.355;\n",
    "rlp=450.5;\n",
    "\n",
    "\n",
    "\n",
    "v1=c*(ra3-ra1)*(math.sin(a1*(math.pi/180)));\n",
    "\n",
    "v2=c*(rb3-rb1)*(math.sin(a2*(math.pi/180)));\n",
    "\n",
    "h1=ra2*(math.cos(a1*(math.pi/180)));\n",
    "h2=rb2*(math.cos(a2*(math.pi/180)));\n",
    "\n",
    "print('v1,v2=',v1,v2);\n",
    "print('h1,h2=',h1,h2);\n",
    "\n",
    "rlai=rlp+h;\n",
    "\n",
    "rla=rlai-v1-h1;\n",
    "rlb=rlai-v2-h2;\n",
    "\n",
    "print('RL of A=',rla);\n",
    "print('RL of B=',rlb);\n",
    "\n",
    "d1=c*(ra3-ra1)*(math.cos(a1*(math.pi/180)))-ra2*(math.sin(a1*(math.pi/180)));\n",
    "d2=c*(rb3-rb1)*(math.cos(a2*(math.pi/180)))-rb2*(math.sin(a2*(math.pi/180)));\n",
    "\n",
    "dab=d1+d2;\n",
    "print('distance between A an B is',dab);\n",
    "gpa=d1/(rlp-rla);\n",
    "gpb=d2/(rlp-rlb);\n",
    "\n",
    "print('gradient of PA is 1 in ',gpa);\n",
    "print('gradient of PB is 1 in ',gpb);\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ch-11 page 419   pb-6\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(96.98463103929541, 158.78462024097664, 117.67570175629913)\n",
      "('latitudes of AB,BC,CD=', 83.56478621811925, -121.63607598835735, -83.20928669276485)\n",
      "('depatures of AB,BC,CD ', 49.22342087003188, 102.06478649968226, -83.20928669276483)\n",
      "(121.28057646300294, -68.07892067694931)\n",
      "('Bearing of DA=', 29.30698225670086)\n",
      "('length DA=', 139.08169422226874)\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "c=100;\n",
    "ra1=1.25;ra2=1.75;ra3=2.25;\n",
    "rb1=0.95;rb2=1.75;rb3=2.55;\n",
    "rc1=1.55;rc2=2.15;rc3=2.75;\n",
    "a1=10;a2=5;a3=8;\n",
    "\n",
    "ab=c*(ra3-ra1)*(math.cos(a1*(math.pi/180)))*(math.cos(a1*(math.pi/180)));\n",
    "bc=c*(rb3-rb1)*(math.cos(a2*(math.pi/180)))*(math.cos(a2*(math.pi/180)));\n",
    "cd=c*(rc3-rc1)*(math.cos(a3*(math.pi/180)))*(math.cos(a3*(math.pi/180)));\n",
    "\n",
    "print(ab,bc,cd);\n",
    "\n",
    "lab=ab*(math.cos(30.5*(math.pi/180)));\n",
    "lbc=-bc*(math.cos(40*(math.pi/180)));\n",
    "lcd=-cd*(math.cos(45*(math.pi/180)));\n",
    "print('latitudes of AB,BC,CD=',lab,lbc,lcd);\n",
    "\n",
    "dab=ab*(math.sin(30.5*(math.pi/180)));\n",
    "dbc=bc*(math.sin(40*(math.pi/180)));\n",
    "dcd=-cd*(math.sin(45*(math.pi/180)));\n",
    "print('depatures of AB,BC,CD ',dab,dbc,dcd);\n",
    "\n",
    "lc=-(lab+lbc+lcd);\n",
    "ls=-(dab+dbc+dcd);\n",
    "\n",
    "print(lc,ls)\n",
    "k=-ls/lc;\n",
    "t=math.atan(k);\n",
    "t=t*(180/(math.pi));\n",
    "\n",
    "print('Bearing of DA=',t);\n",
    "DA=math.sqrt(lc*lc+ls*ls);\n",
    "print('length DA=',DA);\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ch-11 page 419   pb-7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Distance AC=', 158.62738402665204)\n",
      "('Distance BD=', 189.49088179672577)\n",
      "('total latitude of C=', 18.46481737819161)\n",
      "('total depature of C=', 21.113710931586226)\n",
      "('total latitude of D=', 9.659924163502069)\n",
      "-15.6914002615\n",
      "('total depature of D=', 308.2914002614939)\n",
      "('length CD=', 329.52276617048415, 'meters')\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "h1=1.48;h2=1.42;c=100;\n",
    "ra1=0.77;ra2=1.60;ra3=2.43;\n",
    "rb1=0.86;rb2=1.84;rb3=2.82;\n",
    "a1=12.166;a2=10.5;\n",
    "la=112.82;da=106.4;\n",
    "lb=198.5;db=292.6;\n",
    "ac=c*(ra3-ra1)*(math.cos(a1*(math.pi/180)))*(math.cos(a1*(math.pi/180)));\n",
    "bd=c*(rb3-rb1)*(math.cos(a2*(math.pi/180)))*(math.cos(a2*(math.pi/180)));\n",
    "\n",
    "print('Distance AC=',ac);\n",
    "print('Distance BD=',bd);\n",
    "lac=-ac*(math.cos(53.5*(math.pi/180)));\n",
    "tlc=la+lac;\n",
    "print('total latitude of C=',tlc);\n",
    "\n",
    "dac=ac*(math.sin(53.5*(math.pi/180)));\n",
    "da=-da;\n",
    "tdc=da+dac;\n",
    "print('total depature of C=',tdc);\n",
    "\n",
    "lbd=-bd*(math.cos(4.75*(math.pi/180)));\n",
    "tld=lb+lbd;\n",
    "print('total latitude of D=',tld);\n",
    "\n",
    "db=-db;\n",
    "ddb=-bd*(math.sin(4.75*(math.pi/180)));\n",
    "tdd=-(db+ddb);\n",
    "print(ddb)\n",
    "print('total depature of D=',tdd);\n",
    "\n",
    "dx=tdc+tdd;\n",
    "cx=tlc-tld;\n",
    "\n",
    "CD=math.sqrt(dx*dx+cx*cx);\n",
    "print('length CD=',CD,'meters');\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### chapter 11, section 11.8, pg 422, example 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "distance = 262.890670554\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "c=600\n",
    "fplusd=0.5\n",
    "s=3\n",
    "n=6.860\n",
    "distance= (c*s/n)+ fplusd\n",
    "print \"distance =\",distance\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### chapter 11, section 11.8, pg423, eg2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5.142\n",
      "RL of A= 259.692\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "d=65.340\n",
    "x=4.5\n",
    "y= math.tan(x)\n",
    "v=5.142\n",
    "RLofA=255.500+v-0.950\n",
    "print v\n",
    "print \"RL of A=\", RLofA\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### chapter 11, section 11.8, pg423, eg2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "distance between B and BM= 49.706\n",
      "RL of B= 515.398\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "s1=2\n",
    "h1=0.655\n",
    "v1=6.578\n",
    "RL=v1+h1+510.5\n",
    "v2=1.085\n",
    "d2=12.396\n",
    "h2=1.25\n",
    "RLofB=RL-v2-h2\n",
    "d=37.31+12.396\n",
    "print \"distance between B and BM=\",d\n",
    "print \"RL of B=\", RLofB\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### chapter 11, section 11.8, pg423, eg2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n= 15.9100040177\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "\n",
    "import math\n",
    "\n",
    "d=124.45\n",
    "c=1000\n",
    "s=2\n",
    "fplusd=0.3\n",
    "thetha=(5+(6/30))\n",
    "n=1980/d\n",
    "print \"n=\",n\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
