
    h$%                         d dl Z d dlZd dlmZ d Zd dl Z d dlZd dlmZ d dl	m
Z
 d dlZd dlmZ d dlZd dlZddZd Zd Zd	 Zd
 Zy)    N)convert_from_pathc                     t        | d      }|d   }t        j                  t        j                  |      t        j
                        }|S )N,  )dpir   )r   cv2cvtColornparrayCOLOR_RGB2BGR)pdf_pathpages	pil_imagecv_images       I/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/pydep/visualise.pypdf_to_imager      sA    hC0E aI ||BHHY/1B1BCH O    )Image)BytesIOc           
         |sd|z
  }d}d}d}d}||z  }||dt        j                  |d      dz  z
  d	t        j                  |d
      z  dz  z
  dt        j                  |d      z  dz  z
  z  z  }	dt        j                  d||z  z
  d      z
  dt        j                  d||z  z
  d      z   z  }
d	|
z  dz  dt        j                  |
d	      z  dz  z
  }dt        j                  |
d      z  dz  dt        j                  |
d
      z  dz  z
  }dt        j                  |
d	      z  dz  }dt        j                  |
d
      z  dz  }|	|t        j                  d|	z        z  z   |t        j                  d
|	z        z  z   |t        j                  d|	z        z  z   |t        j                  d|	z        z  z   }|t        j                  dt        j                  |t        j                  |      z  d      z
  d      z  }|d||z  z
  z  t        j                  dt        j                  |t        j                  |      z  d      z
  d      z  }|t        j                  |      z  |z  }d|z
  }|||z  z  }||z  dz  }t        j                  t        j                  |      d      }|t        j                  t        j                  |      d      z  }dd	|z  z   d|z  z   d
|z  |z  z
  d|z  z
  t        j                  |d
      z  dz  }d d!|z  z   d"|z  z   d#|z  |z  z   d$|z  z
  d	|z  |z  z
  t        j                  |d      z  d%z  }|||z  z  }dd|z  z   |z   t        j                  |d	      z  d&z  }dd|z  z
  d'|z  z   d	t        j                  |d      z  z
  d|z  z   dt        j                  |d      z  z   t        j                  |d      z  d(z  }||z
  |z   t        j                  |      z  }|d)z  t         j
                  z  }d)||||z   |z   z  z
  z  t         j
                  z  }|s| }| d*kD  xr d| z  d+z
  xs d,|z
  } || fS )-Ni Ra g=?gMߚ{?gx#?      g      @      g      P@      g      p@g      ?   g      @@      7          `   iI  i      g      ?i  
   	      =   Z   i*  -      i  g      @   x      r   g     f@g      @)mathpowsintancospi)!zoneeastingnorthingnorthernHemisphereaee1sqk0arcmueicacbcccdphi1n0r0fact1_a1dd0fact2t0Q0fact3fact4lof1lof2lof3_a2_a3latitude	longitudes!                                    r   utmToLatLngrV       sK   h&AAD	B
R-C	Q!Q#--DHHQN0BT0IIAPTPXPXYZ\]P^L^afLffg	hB
dhhAE	W.
.1txxQUg7W3W	XB	
R!b488B?*T1	1B	dhhr1o		"R$((2q/%9B%>	>B	txxA		#B	Q	#	%BTXXa"f%%%TXXa"f-=(==TXXaRTfEU@UUXZ]a]e]efgjlfl]mXmmD	
TXXq488Q$%7!<<I	IB	
a!a%i488Q1txx~3E)J%JgW	WB$"$E
7
C
b/C#IME	$((4.!	$B	$+	+BRZ"r'!AFRK/!d(:dhhsA>NNQSSE"r'\C"H$rBw|3cDj@1r6B;NRVRZRZ[^`aRbbehhE"r'?DBJOtxxQ//#5DBJb 1txxA#66TABRTVWDXX\`\d\dehjk\llorrD$;$
/C
)dgg
CdUeeme&;<<=GH9(2TE!19cS@Ii  r   c           	          d}|t        j                  |      z  }|t        j                  t        j                  t         j                  dz  t        j                  |       dz  z               z  }||fS )Nr   r   r   )r/   radianslogr2   r4   )latlonscalexys        r   latlon_to_mercatorr_   S   sZ    ES!!A$''A+S0AA0E"EFGGAa4Kr   c           	          d}t        j                  | |z        }t        j                  dt        j                  t        j                  ||z              z  t         j                  dz  z
        }||fS )Nr   r   )r/   degreesatanexpr4   )mxmyr\   r[   rZ   s        r   mercator_to_latlonrf   Y   sX    E
,,rEz
"C
,,q499TXXb5j%9::TWWq[H
IC8Or   c                     t        j                  |       }d|z  }t        |dz   dz  |z        }t        dt        j                  t        j                  |            t         j
                  z  z
  dz  |z        }||fS )Ng       @g     f@g     v@g      ?)r/   rX   intasinhr2   r4   )lat_deglon_degzoomlat_radnxtileytiles          r   deg2numrq   _   so    ll7#GtA5E)A-.Etzz$((7"34tww>>#EIJE%<r   c           
         t        |dz   dz        dz   }|dk\  }i }i }| d   j                         D ];  \  }	}
|
d   \  }}t        ||||      \  }}||f||	<   t        ||      \  }}||g||	<   = |j	                         D cg c]  }|d   	 }}|j	                         D cg c]  }|d   	 }}t        |      t        |      }}t        |      t        |      }}||z
  }||z
  }d|z  }d|z  }||z
  }||z   }||z
  }||z   }t        d|      \  } }!t        d|      \  }"}!t        |d      \  }!}#t        |d      \  }!}$d}%t        |"|#|%      \  }&}'t        | |$|%      \  }(})|&dz  }&|(dz  }(|'dz  }'|)dz  })|(|&z
  dz   }*|)|'z
  dz   }+d},t        j                  d	|,|*z  |,|+z  f      }-t        |&|(dz         D ]  }.t        |'|)dz         D ]}  }/d
|. d|/ d}0	 t        j                  |0      }1|1j                          t        j                  t!        |1j"                              }2|.|&z
  |,z  }3|/|'z
  |,z  }4|-j%                  |2|3|4f         d}5dt&        j(                  z  |5z  }6|6d|%z  z  }7|6 dz  |&|7z  z   }8|8|*|7z  z   }9|6dz  |'|7z  z
  }:|:|+|7z  z
  };|r||z  nd}<d}=|=|<z  }>t+        j,                  |=|>f      \  }?}@|@j/                  |-|8|9|;|:gd       |@j1                  ||       |@j3                  ||       |@j5                  d       t+        j6                  d       | d   D ]  }A|Ad   }Bt9        |B      dk  rBD 	cg c]
  }	||	   d    }C}	BD 	cg c]
  }	||	   d    }D}	Ad   }Et;        j<                  d|E      }F|Fr<t;        j>                  dFjA                  d            D Gcg c]  }GtC        |G       }H}Gnd }HtC        Ad         }I@jE                  CDd|IHrHnd         |j                         D ]#  \  }	}J@jG                  |Jd   |Jd   |	dddd       % | d   j                         D ]z  \  }K}Lt9        |L      dk\  stI        Ld   tJ              s)t9        Ld         dk(  s;Ld   \  }}t        ||||      \  }}t        ||      \  }}@jG                  ||Kd ddd!"       | |?jM                  d#       t!               }M|?jO                  |Md$d%dd&'       |MjQ                  d       t        j                  |M      }Nd( }O |O|      }P |O|      }Qd&}Rd)}Sd*}Tt        |Sd+z  |Rz        }Ut        |Td+z  |Rz        }Vt        j                  d	|U|Vfd,      }Wg d-}X|XD cg c]  }t        |Uz         }Y}U|Yd   z
  |Yd   z
  |Yd<   PQNg}Zd}[tS        |Z      D ]  \  }\}]|]	[Y\   z  }[t        Y\   ]jT                  z  V|]jV                  z        }^t        |]jT                  |^z        t        |]jV                  |^z        f}_|]jY                  |_t        jZ                  j\                        }`[|Y|\   |_d   z
  dz  z   }a|V|_d   z
  dz  }bWj%                  |`|a|bf       |[|Y|\   z  }[ dd l/}c|cj^                  ja                         jc                  d.      }dWje                  d/|dz   d0z   d1R2       y c c}w c c}w #  Y xY wc c}	w c c}	w c c}Gw c c}w )3Nr.   r   r   r   coordinatesg?      RGBzNhttps://s3.ap-south-2.amazonaws.com/prod-assets.mypropertyqr.in/survey_border//z.pngr   r   r%   )figsizegffffff?)extentalphaequalofflinesdashesz\[\s*(.*?)\s*\]z\d+strokewidthblack)color	linewidthr~   redcenter)fontsizer   havasubdivision_listr$   blue)r   r   r   r   )padpngtightr   )formatbbox_inches
pad_inchesr   c                 z    | y t        j                  | t         j                        }t        j                  |      S )N)r   r   COLOR_BGR2RGBr   	fromarray)cv_imgrgbs     r   
cv2_to_pilzdraw.<locals>.cv2_to_pil   s/    >ll63#4#45s##r   i  i)  gffffff9@)   r   r   )g?皙?r   z%Y%m%d%H%M%Sz
visualise/z.pdfPDF)
resolution)3rh   itemsrV   r_   valuesminmaxrf   rq   r   newrangerequestsgetraise_for_statusopenr   contentpaster/   r4   pltsubplotsimshowset_xlimset_ylim
set_aspectaxislenresearchfindallgroupfloatplottext
isinstancelisttight_layoutsavefigseek	enumeratewidthheightresize
ResamplingLANCZOSdatetimenowstrftimesave)e
lines_textimg1img2rT   rU   r5   northern_hemispherepoints_latlonpoints_merckvr6   r7   rZ   r[   rd   re   pall_mxall_mymin_mxmax_mxmin_mymax_myr   r   margin_xmargin_yexpanded_min_mxexpanded_max_mxexpanded_min_myexpanded_max_myexpanded_min_lat_expanded_max_latexpanded_min_lonexpanded_max_lonrl   	min_xtile	min_ytile	max_xtile	max_ytilenum_xnum_ytile_px	big_imagextyturlresptile_imgx_posy_posRADIUS
earth_circ	tile_sizeleftrighttopbottomaspect	fig_width
fig_heightfigaxlinecoords_keysxsysdash_strdashes_matchrn   r~   r   possub_key	sub_valuebuf	img_drawnr   img1_pilimg2_pilr   a3_width_mma3_height_mmwidth_px	height_pxcanvasproportionsslot_widthsimages	current_xiimgr\   new_sizeresizedx_offsety_offsetr   	timestampse                                                                                                        r   drawr  f   s   	C1$%)D"a- MK=)//1 "1aDtWh8KLS:a#C-BbA" (..01qad1F1'..01qad1F1[#f+FF[#f+FF VOEf_Fe|Hf}Hx'Ox'Ox'Ox'O -Q@a,Q@a,_a@A,_a@A D ##35EtLIy"#35EtLIyNINININI	!A%E	!A%E G		%'E/7U?!CDIIy1}- 	9q=1 	BbcebffghjgkkopC||C(%%' ::gdll&;<i72i725%.9	 FTWWv%Ja4i(I;?Y22D59$$E
q.9y0
0C59$$F  %Ve^!FIV#JllIz#:;GC IIiufc :#IFKK1KK1MM'HHUO 7# _=){a)45Ak!nQ55)45Ak!nQ55>yy!3X>(*

6<;M;Ma;P(QR1eAhRFRF$}-.	
BgV6Y]^_  ##% V3
AAAUxHUV ));<BBD Yy>Q:ilD#Ac)TU,FW[\F\ )!GX"4(<OPHC'S1FBGGBGaHQWGXY  )CKKEw1#KNHHQK

3I$ $H$H CKL;%+,HL4'#-.IYYux3_EF "K.9:3q8|$:K:A.Q?KN),FIF# $3;Q'IKNSYY.	CJJ0FG		E)*C

U0B,CD**Xu'7'7'?'?@ A! <BB+1Wx23[^#	$  !!%%'00@I
KKY&v-uKEw 21b< 65 S\ ;s1   Z1!Z6A1Z;<[[&[![;[ )T)r   numpyr	   	pdf2imager   r   matplotlib.pyplotpyplotr   PILr   r   ior   r/   r   rV   r_   rf   rq   r   r   r   <module>r     sI    
  '$     	   1!fkFr   