Ë
    Î[;j4(  ã                   ó¦
  — d dl Zd dlZd dlmZmZ d dlZd dlmZmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZmZmZmZmZmZmZ ej2                  j5                  deeeeeeg«      d„ «       Zd„ Zd„ Zd	„ Zd
„ Zej2                  j5                  deg d¢feegg d¢g d¢gf ej@                  d d gd dgg«      g d¢f ej@                  d d gdd gg«      g d¢feg d¢feg d¢feg d¢feejB                  ejB                  ejB                  ejB                  gfdejB                  ejB                  ejB                  ejB                  gfg	«      d„ «       Z"ej2                  j5                  dedfdeegdfeegeeggdfeeggeegggdfg«      d„ «       Z#ej2                  j5                  deg d¢f ej@                  d d gd dgg«      g d¢f ej@                  d d gdd gg«      g d¢feg d¢feg d¢feg d¢feejB                  ejB                  ejB                  ejB                  gfdejB                  ejB                  ejB                  ejB                  gfeedgejB                  ejB                  ejB                  ejB                  gfedgg d¢feegg d¢feedgg d¢feedegg d¢fg«      d„ «       Z$ej2                  j5                  dedeegeegeeggeeggeegggg«      d„ «       Z%d„ Z&d„ Z'd „ Z(d!„ Z)d"„ Z*d#„ Z+d$„ Z,d%„ Z-d&„ Z.ej2                  j5                  d' ej@                  d d gd(d gg«       ej@                  d d gd(d gg«      d f ej@                  d d gd)d*gd(d gd+d*gd*d gg«       ej@                  d d*gd*d+gd d(gd*d)gd d gg«      d*f ej@                  d d gd)d*gd(d gd+d*gd*d gg«       ej@                  d*d gd+d*gd(d gd)d*gd d gg«      d*f ej@                  d d gd)d*gd(d gd+d*gd*d gg«       ej@                  d d gd*d)gd d(gd*d+gd d*gg«      d,f ej@                  d d gd(d gg«       ej@                  d d gd)d)gd(d gg«      d-fg«      d.„ «       Z/ej2                  j5                  d/ ej@                  d d gd(d gg«       ej@                  d d gd)d)gd(d gg«      d0d)fg«      d1„ «       Z0ej2                  j5                  d2edfdefd3eefeefeefg«      d4„ «       Z1d5„ Z2d6„ Z3ej2                  j5                  d7g d8¢«      d9„ «       Z4d:„ Z5d;„ Z6d<„ Z7d=„ Z8ej2                  j5                  d> eg d?¢«      d@f edAdBg«      d@f e	dCdDg«      df e
dEdE«      d f e«       d fg«      dF„ «       Z9y)Gé    N)Úassert_allcloseÚassert_array_equal)ÚGeometryCollectionÚ
LineStringÚ
MultiPointÚPointÚPolygon)ÚemptyÚgeometry_collectionÚignore_invalidÚline_stringÚlinear_ringÚmulti_line_stringÚmulti_pointÚmulti_polygonÚpointÚpoint_polygon_testdataÚpolygonÚpolygon_with_holeÚgeomc                 ó8   — t        j                  | «      dk(  sJ ‚y )Nç        )ÚshapelyÚarea©r   s    úgG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\shapely/tests/test_measurement.pyÚtest_area_non_polygonr      s   € ô �<‰<˜Ó Ò$Ð$Ñ$ó    c                  óz   — t        j                  t        t        t        g«      } | j                  «       g d¢k(  sJ ‚y )N)ç      @g      X@g)\�Âõ(ð?)r   r   r   r   r   Útolist©Úactuals    r   Ú	test_arear$   &   s-   € Ü�\‰\œ7Ô$5´}ÐEÓF€FØ�=‰=‹?Ò/Ò/Ð/Ñ/r   c                  óx   — t        j                  t        Ž } g d¢}t        j                  j                  | |«       y )N)gÍ;fž @çÍ;fž ö?r   r   r   r&   )r   Údistancer   ÚnpÚtestingr   ©r#   Úexpecteds     r   Útest_distancer,   +   s,   € Ü×ÑÔ5Ð6€FÚ4€HÜ‡J�J×Ñ˜v xÕ0r   c                  óf   — t        j                  t        d «      } t        j                  | «      sJ ‚y ©N)r   r'   r   r(   Úisnanr"   s    r   Útest_distance_missingr0   1   s&   € Ü×Ñœe TÓ*€FÜ�8‰8�FÔÐÑr   c                  óÒ   — t        dd«      } t        g d¢«      }t        t        j                  dk  «      5  t        j
                  | |«      }d d d «       dk(  sJ ‚y # 1 sw Y   ŒxY w)Né   é   )©r   r   r4   )r2   r2   ©é   é   r   g      ð?)r   r   r   r   Úgeos_versionr'   ©ÚaÚbr#   s      r   Útest_distance_duplicatedr<   6   s[   € Üˆa�‹€AÜÒ+Ó,€AÜ	œ×,Ñ,¨zÑ9Õ	:ô ×!Ñ! ! QÓ'ˆ÷ 
;ð �SŠ=Ð‰=÷	 
;Ð	:ús   ¶AÁA&zgeom,expected)r3   r6   r3   r6   )r   r   r2   r3   r2   )r   r   r   r2   )r   r   r2   r   )r   r   çš™™™™™@r=   )é1   éÿÿÿÿé4   r3   c                 óB   — t        t        j                  | «      |«       y r.   )r   r   Úbounds©r   r+   s     r   Útest_boundsrD   @   s   € ô ”w—~‘~ dÓ+¨XÕ6r   z
geom,shape©é   ©NrE   )r3   rF   )r3   r3   rF   )r3   r2   r3   rF   c                 óL   — t        j                  | «      j                  |k(  sJ ‚y r.   )r   rB   Úshape)r   rI   s     r   Útest_bounds_dimensionsrJ   R   s!   € ô �>‰>˜$Ó×%Ñ%¨Ò.Ð.Ñ.r   )r   r   r3   r6   c                 óB   — t        t        j                  | «      |«       y r.   )r   r   Útotal_boundsrC   s     r   Útest_total_boundsrM   `   s   € ô( ”w×+Ñ+¨DÓ1°8Õ<r   c                 óL   — t        j                  | «      j                  dk(  sJ ‚y rG   )r   rL   rI   r   s    r   Útest_total_bounds_dimensionsrO   w   s#   € ô ×Ñ Ó%×+Ñ+¨tÒ3Ð3Ñ3r   c            	      ó¢   — t        j                  t        t        t        t
        t        t        t        g«      } | j                  «       g d¢k(  sJ ‚y )N)r   ç       @r    g       @g      H@r   gš™™™™™@)
r   Úlengthr   r   r   r   r   r   r   r!   r"   s    r   Útest_lengthrS   …   sA   € Ü�^‰^äÜÜÜÜÜÜð	
ó
€Fð �=‰=‹?ÒBÒBÐBÑBr   c                  ó\   — t        j                  d «      } t        j                  | «      sJ ‚y r.   )r   rR   r(   r/   r"   s    r   Útest_length_missingrU   ”   s"   € Ü�^‰^˜DÓ!€FÜ�8‰8�FÔÐÑr   c                  óH  — t        j                  ddgddgddgddgg«      } t        j                  ddgddgddgg«      }t        t         j                  dk  «      5  t        j                  | |«      }d d d «       t        j                  dd¬«      k(  sJ ‚y # 1 sw Y   Œ&xY w)	Nr   éd   é
   éP   r5   g"ô}‚U\6@gH¯¼šò×z>©Úabs©r   Úlinestringsr   r8   Úhausdorff_distanceÚpytestÚapproxr9   s      r   Útest_hausdorff_distancera   ™   sž   € ä×Ñ˜a ˜V c¨1 X°°C¨y¸2¸s¸)ÐDÓE€AÜ×Ñ˜a ˜X¨¨2 w°°R°Ð9Ó:€AÜ	œ×,Ñ,¨zÑ9Õ	:ô ×+Ñ+¨A¨qÓ1ˆ÷ 
;ð ”V—]‘] <°TÔ:Ò:Ð:Ñ:÷	 
;Ð	:ús   ÁBÂB!c                  óL  — t        j                  ddgddgddgddgg«      } t        j                  ddgddgddgg«      }t        t         j                  dk  «      5  t        j                  | |d¬«      }d d d «       t        j                  dd	¬
«      k(  sJ ‚y # 1 sw Y   Œ&xY w)Nr   rW   rX   rY   r5   çü©ñÒMbP?©ÚdensifygfffffæG@çš™™™™™¹?rZ   r\   r9   s      r   Útest_hausdorff_distance_densifyrg   ¤   s    € ä×Ñ˜a ˜V c¨1 X°°C¨y¸2¸s¸)ÐDÓE€AÜ×Ñ˜a ˜X¨¨2 w°°R°Ð9Ó:€AÜ	œ×,Ñ,¨zÑ9Õ	:ô ×+Ñ+¨A¨q¸%Ô@ˆ÷ 
;ð ”V—]‘] 4¨SÔ1Ò1Ð1Ñ1÷	 
;Ð	:ús   ÁBÂB#c                  óÌ   — t        j                  t        d «      } t        j                  | «      sJ ‚t        j                  t        d d¬«      } t        j                  | «      sJ ‚y )Nrc   rd   )r   r^   r   r(   r/   r"   s    r   Útest_hausdorff_distance_missingri   ¯   sL   € Ü×'Ñ'¬¨tÓ4€FÜ�8‰8�FÔÐÐÜ×'Ñ'¬¨t¸UÔC€FÜ�8‰8�FÔÐÑr   c                  óŽ   — t        j                  t        t        t        j                  ¬«      } t        j
                  | «      sJ ‚y ©Nrd   )r   r^   r   r(   Únanr/   r"   s    r   Útest_hausdorff_densify_nanrm   ¶   s,   € Ü×'Ñ'¬¬u¼b¿f¹fÔE€FÜ�8‰8�FÔÐÑr   c                  ón   — t        j                  t        t        «      } t	        j
                  | «      sJ ‚y r.   )r   r'   r   r
   r(   r/   r"   s    r   Útest_distance_emptyro   »   s&   € Ü×Ñœe¤UÓ+€FÜ�8‰8�FÔÐÑr   c                  ón   — t        j                  t        t        «      } t	        j
                  | «      sJ ‚y r.   ©r   r^   r   r
   r(   r/   r"   s    r   Útest_hausdorff_distance_emptyrr   À   s&   € Ü×'Ñ'¬¬uÓ5€FÜ�8‰8�FÔÐÑr   c                  ór   — t        j                  t        t        d¬«      } t	        j
                  | «      sJ ‚y ©Nçš™™™™™É?rd   rq   r"   s    r   Ú%test_hausdorff_distance_densify_emptyrv   Å   s(   € Ü×'Ñ'¬¬u¸cÔB€FÜ�8‰8�FÔÐÑr   zgeom1, geom2, expectedrW   é2   éÈ   é–   g¸fÀ{­q@ç»fÀ{­Q@c                 óh   — t        j                  | |«      }|t        j                  |d¬«      k(  sJ ‚y ©Nçê-�™—q=rZ   ©r   Úfrechet_distancer_   r`   )Úgeom1Úgeom2r+   r#   s       r   Útest_frechet_distancer‚   Ê   s0   € ôJ ×%Ñ% e¨UÓ3€FØ”V—]‘] 8°Ô7Ò7Ð7Ñ7r   zgeom1, geom2, densify, expectedgü©ñÒMb`?c                 ól   — t        j                  | ||¬«      }|t        j                  |d¬«      k(  sJ ‚y )Nrd   r}   rZ   r~   )r€   r�   re   r+   r#   s        r   Útest_frechet_distance_densifyr„   ó   s1   € ô ×%Ñ% e¨U¸GÔD€FØ”V—]‘] 8°Ô7Ò7Ð7Ñ7r   zgeom1, geom2)NNc                 ó^   — t        j                  | |«      }t        j                  |«      sJ ‚y r.   )r   r   r(   r/   )r€   r�   r#   s      r   Ú5test_frechet_distance_nan_for_invalid_geometry_inputsr†     s(   € ô ×%Ñ% e¨UÓ3€FÜ�8‰8�FÔÐÑr   c            	      ó  — t        j                  t        j                  ddgddgg«      t        j                  ddgddgddgg«      g d¢¬«      } t        j                  g d¢«      }t        j
                  j                  | |«       y )Nr   rW   rw   )rf   ru   r2   rd   )rw   g¤zß¶¾~I@rz   )r   r   r]   r(   Úarrayr)   Úassert_array_almost_equalr*   s     r   Útest_frechet_densify_ndarrayrŠ     sv   € Ü×%Ñ%Ü×Ñ˜a ˜V c¨1 XÐ.Ó/Ü×Ñ˜a ˜V b¨" X°°Q¨xÐ8Ó9Úô€Fô
 �x‰xÒ;Ó<€HÜ‡J�J×(Ñ(¨°Õ:r   c                  óŽ   — t        j                  t        t        t        j                  ¬«      } t        j
                  | «      sJ ‚y rk   )r   r   r   r(   rl   r/   r"   s    r   Útest_frechet_densify_nanrŒ     s,   € Ü×%Ñ%¤k´;ÌÏÉÔO€FÜ�8‰8�FÔÐÑr   re   )r   r?   r3   c                 ó¸   — t        j                  t        j                  d¬«      5  t        j                  t
        t
        | ¬«       d d d «       y # 1 sw Y   y xY w)NzFraction is not in range)Úmatchrd   )r_   Úraisesr   ÚGEOSExceptionr   r   rd   s    r   Ú#test_frechet_densify_invalid_valuesr‘   #  s6   € ä	�‰”w×,Ñ,Ð4NÖ	OÜ× Ñ ¤¬kÀ7ÕK÷ 
P×	OÑ	Oús   ¦!AÁAc                  ór   — t        j                  t        t        d¬«      } t	        j
                  | «      sJ ‚y rt   )r   r   r   r
   r(   r/   r"   s    r   Ú#test_frechet_distance_densify_emptyr“   )  s(   € Ü×%Ñ%¤k´5À#ÔF€FÜ�8‰8�FÔÐÑr   c                  óh   — t        j                  t        t        t        g«      } t        | g d¢«       y )N)rQ   rQ   rf   )r   Úminimum_clearancer   r   r   r   r"   s    r   Útest_minimum_clearancer–   .  s$   € Ü×&Ñ&¬Ô1BÄMÐ'RÓS€FÜ�FšOÕ,r   c                  óŒ   — t        j                  t        t        g«      } t	        j
                  | «      j                  «       sJ ‚y r.   )r   r•   r   r
   r(   ÚisinfÚallr"   s    r   Ú"test_minimum_clearance_nonexistentrš   3  s1   € Ü×&Ñ&¬¬u ~Ó6€FÜ�8‰8�FÓ×ÑÔ!Ð!Ñ!r   c                  ó\   — t        j                  d «      } t        j                  | «      sJ ‚y r.   )r   r•   r(   r/   r"   s    r   Útest_minimum_clearance_missingrœ   8  s$   € Ü×&Ñ& tÓ,€FÜ�8‰8�FÔÐÑr   zgeometry, expected)©r   é   )rž   rX   )rX   rž   )rž   r   r�   rž   )r2   r   )r2   rX   )r3   r3   )rF   r3   r3   c                 óf   — t        j                  | «      }|t        j                  |d¬«      k(  sJ ‚y r|   )r   Úminimum_bounding_radiusr_   r`   )Úgeometryr+   r#   s      r   Útest_minimum_bounding_radiusr¢   =  s-   € ô4 ×,Ñ,¨XÓ6€FØ”V—]‘] 8°Ô7Ò7Ð7Ñ7r   ):Únumpyr(   r_   Únumpy.testingr   r   r   r   r   r   r   r	   Úshapely.tests.commonr
   r   r   r   r   r   r   r   r   r   r   r   ÚmarkÚparametrizer   r$   r,   r0   r<   r]   rl   rD   rJ   rM   rO   rS   rU   ra   rg   ri   rm   ro   rr   rv   r‚   r„   r†   rŠ   rŒ   r‘   r“   r–   rš   rœ   r¢   © r   r   Ú<module>r©      s3  ðÛ Û ß =ã ß NÕ N÷÷ ÷ ó ð  ‡�×ÑØ
àØØØØØðó
ñ%ó
ð%ò0ò
1òò
ð ‡�×ÑØà	’ÐØ
�Ð	¢ªlÐ;Ð<Ø	ˆ×	Ñ	˜q !˜f q¨! fÐ-Ó	.²Ð=Ø	ˆ×	Ñ	˜q !˜f q¨! fÐ-Ó	.²Ð=Ø	’lÐ#Ø	Ò(Ð)Ø	šoÐ.Ø	�—‘˜Ÿ™ §¡¨¯©Ð0Ð1Ø	�—‘˜Ÿ™ §¡¨¯©Ð/Ð0ð
óñ7óð7ð ‡�×ÑØà	�ˆØØ
�Ð	˜vÐ&Ø�+Ð
 ¨%Ð 0Ð	1°9Ð=Ø�;ÐÐ
  G¨UÐ#3Ð"4Ð	5°|ÐDðó	ñ/ó	ð/ð ‡�×ÑØà	’ÐØ	ˆ×	Ñ	˜q !˜f q¨! fÐ-Ó	.²Ð=Ø	ˆ×	Ñ	˜q !˜f q¨! fÐ-Ó	.²Ð=Ø	’lÐ#Ø	Ò(Ð)Ø	šoÐ.Ø	�—‘˜Ÿ™ §¡¨¯©Ð0Ð1Ø	�—‘˜Ÿ™ §¡¨¯©Ð/Ð0Ø
�˜Ð	 §¡¨¯©°·±¸¿¹Ð?Ð@à
�ˆšÐ%Ø
�ˆšÐ&Ø
�˜Ð	š|Ð,Ø
�˜˜kÐ	*ªLÐ9ðóñ&=ó'ð&=ð ‡�×ÑØ
àØØ	�ÐØ
�Ð	 ¨Ð/Ð0Ø�+Ð
Ð	 7¨EÐ"2Ð!3Ð4ðó	ñ4ó	ð4òCòò
;ò2òòò
ò
ò
ð
 ‡�×ÑØð  ˆG×Ñ ! Q ¨#¨q¨Ð 2Ó3ØˆG×Ñ ! Q ¨#¨q¨Ð 2Ó3Øð	
ð  ˆG×Ñ ! Q ¨"¨c¨°S¸!°H¸sÀC¸jÈ3ÐPQÈ(Ð SÓTØˆG×Ñ ! S ¨C°¨:¸¸3°xÀ#ÀrÀÈQÐPQÈFÐ SÓTØð	
ð  ˆG×Ñ ! Q ¨"¨c¨°S¸!°H¸sÀC¸jÈ3ÐPQÈ(Ð SÓTØˆG×Ñ # q ¨C°¨:¸¸Q°xÀ"ÀcÀÈQÐPQÈFÐ SÓTØð	
ð  ˆG×Ñ ! Q ¨"¨c¨°S¸!°H¸sÀC¸jÈ3ÐPQÈ(Ð SÓTØˆG×Ñ ! Q ¨#¨r¨°Q¸°H¸sÀC¸jÈ1ÈcÈ(Ð SÓTØð	
ð  ˆG×Ñ ! Q ¨#¨q¨Ð 2Ó3ØˆG×Ñ ! Q ¨"¨b¨°C¸°8Ð <Ó=Øð	
ð7 ó#ñH8óI#ðH8ð
 ‡�×ÑØ%ð  ˆG×Ñ ! Q ¨#¨q¨Ð 2Ó3ØˆG×Ñ ! Q ¨"¨b¨°C¸°8Ð <Ó=ØØð		
ðóñ8óð8ð
 ‡�×ÑØà	�dÐØ	ˆ{ÐØØ	�eÐØ	�ÐØ	�ˆðó
ñó
ðò
;òð
 ‡�×Ñ˜¢JÓ/ñLó 0ðLò
ò
-ò
"ò
ð
 ‡�×ÑØñ Ò>Ó?Øð	
ñ
 ˜ Ð(Ó)Øð	
ñ
 ˜ Ð'Ó(Øð	
ñ
 �!�Q‹KØð	
ñ
 Ó Øð	
ð#óñ28ó3ñ28r   