https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /usr/lib64/python2.7/site-packages/django/contrib/gis/geos/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib64/python2.7/site-packages/django/contrib/gis/geos/tests/test_geos.pyc
�
r�\c@s�ddlmZddlZddlZddlZddlmZmZddlm	Z	ddl
mZddlm
Z
ddlmZddlmZdd	lmZdd
lmZddlmZddlmZd
dlmZersd
dlmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)d
dl*m+Z+m,Z,m-Z-need�dej.efd��Y�Z/dS(i����(tunicode_literalsN(ta2b_hextb2a_hex(tBytesIO(tHAS_GDAL(t
memoryview(t
TestDataMixin(tforce_bytes(tsix(txrange(tunittest(t
skipUnlessi(tHAS_GEOS(t
GEOSExceptiontGEOSIndexErrortGEOSGeometrytGeometryCollectiontPointt
MultiPointtPolygontMultiPolygont
LinearRingt
LineStringtMultiLineStringtfromfiletfromstrtgeos_version_infotGEOS_PREPARE(tgdaltnumpytGEOSBaseuGeos is required.tGEOSTestcBs�eZed��Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
eed�d��Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d �Z$eed�d!��Z%d"�Z&d#�Z'd$�Z(d%�Z)d&�Z*d'�Z+eed�d(��Z,d)�Z-eed*�d+��Z.eed*�d,��Z/eed�d-��Z0d.�Z1eed�d/��Z2d0�Z3d1�Z4ee5o1e6d2�d3��Z7d4�Z8ee5oXe6d2�d5��Z9ee5o�e:�d6d7kd8�d9��Z;d:�Z<RS(;cCs/t�}|ddkr'|dr'dSdSdS(u�
        Returns the proper null SRID depending on the GEOS version.
        See the comments in `test_srid` for more details.
        uversionu3.0.0urelease_candidatei����N(RtNone(tselftinfo((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	null_srid!s	csdtfd��Y}tjtj��dtf�fd��Y}|�}|�}tj�|_d|_�tjd��|_d|_x'||fD]}|jt|j	�q�Wdtj
d�f}x:|D]2}|jt|j|�|jt|j|�q�WdS(	uTests out the GEOSBase class.t	FakeGeom1cBseZRS((t__name__t
__module__(((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyR$1st	FakeGeom2cseZ�ZRS((R%R&tptr_type((t	c_float_p(sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyR'6sg�Q���@itfoobarN(
RtctypestPOINTERtc_floattc_void_ptptrR tassertRaisesR
t_get_ptrtc_char_pt	TypeErrort_set_ptr(R!R$R'tfg1tfg2tfgtbad_ptrstbad_ptr((R)sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	test_base-s				
cCs_xX|jjD]J}t|j�}|jr
t�ddkr
|j|j|j�q
q
WdS(uTesting WKT output.uversionu3.3.0N(t
geometriestwkt_outRtwktthaszRtassertEqualtewkt(R!tgtgeom((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_wktWscCsFx?|jjD]1}t|j�}|j|j|jj��q
WdS(uTesting HEX output.N(R;thex_wktRR=R?thextdecode(R!RARB((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_hex^sc	Cssd}d}d}d}tdddd�}tddd	dd�}|j||j�|j||j�|j||j�tr�|j||j�|jtt|�j�n.y
|j}Wntk
r�nX|j	d
�|jt
t|��|j�tr(|jt
t|��|j�n.y
|j}Wntk
rHnX|j	d�|jdt|�j
�dS(
uTesting (HEX)EWKB output.t*01010000000000000000000000000000000000F03Ft:01010000800000000000000000000000000000F03F0000000000000040t20101000020E61000000000000000000000000000000000F03FtB01010000A0E61000000000000000000000000000000000F03F0000000000000040iitsridi�iu!Should have raised GEOSException.u Should have raised GEOSExceptionN(RR?REthexewkbRtTrueRR>R
tfailRRtewkbRL(	R!togc_hext
ogc_hex_3dt
hexewkb_2dt
hexewkb_3dtpnt_2dtpnt_3dRMRP((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_hexewkbds4


"


cCsXxQ|jjD]C}t|j�}t|dt�}|r
|j||j�q
q
WdS(uTesting KML output.ukmlN(R;R<RR=tgetattrtFalseR?tkml(R!ttgRBRZ((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_kml�s
cCs�x?|jjD]1}|jttf��t|j�}WdQXq
W|jtttd��dt	fd��Y}|jt
t|��|jt
td�dS(uTesting the Error handlers.Nt0tNotAGeometrycBseZRS((R%R&(((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyR^�s(R;terrorsR0R
t
ValueErrorRR=RRtobjectR3R (R!terrt_R^((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_errors�scCsXxQ|jjD]C}t|j�}|j}|jt|�j�j�|j	�q
WdS(uTesting WKB output.N(
R;RDRR=twkbR?RRFtupperRE(R!RARBRe((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_wkb�s	cCsOxH|jjD]:}t|j�}t|j�}|j|j|j�q
WdS(uTesting creation from HEX.N(R;RDRRERR=R?(R!RAtgeom_htgeom_t((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_create_hex�scCsgx`|jjD]R}tt|jj���}t|�}t|j�}|j	|j|j�q
WdS(uTesting creation from WKB.N(
R;RDRRREtencodeRRR=R?(R!RAReRhRi((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_create_wkb�s
cCs�d}x�|D]�}xx|jjD]j}d||jf}t|�}|j||j�|j||jj�|j|t|j�j�q Wq
WdS(u
Testing EWKT.i����i�}u
SRID=%d;%sN(i����i�}(R;tpolygonsR=RR?RLtshellR@(R!tsridsRLtpR@tpoly((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	test_ewkt�s
uGDAL is required.cCs�x�|jjD]�}t|j�}t|d�s�|jtj|j�tj|j��|jtj|j�tj|j��n|jt|j�t|j��q
WdS(u(Testing GeoJSON input/output (via GDAL).u	not_equalN(	R;t
json_geomsRR=thasattrR?tjsontloadstgeojson(R!RARB((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	test_json�s(+cCs�td�}t�}|jt|j��t�}|jt|j��x=||fD]/}|jd�t|�}|j	||�qWWdS(uTesting the fromfile() factory.uPOINT(5 23)iN(
RRtwriteRR=tbytesRetseekRR?(R!tref_pnttwkt_ftwkb_ftfhtpnt((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt
test_fromfile�s		
cCs�td�}|j||j�|j|d�td�}|j||j�|j|d�xK||fD]=}|j|d�|j|idd6�|j|t�qkWdS(uTesting equivalence.uPOINT(5 23)ufoouLINESTRING(0 0, 1 1, 5 5)ubarN(RR?R=tassertNotEqualR RY(R!RptlsRA((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_eq�sc	Cs�td�}xw|jjD]i}t|j�}|j|jd�|j|jd�|j|j|j�|j|j|j�|jt	|t|j�k�|jt
||k�|j|j|jdd�|j|j|jdd�t
|d�rk|jt	|j�|j|j|j�|j|j|jdd�|j|j|jf}d}d
}nD|jt
|j�|jd|j�|j|jf}d}d}|j|j|jj�t|�}t|�}|jt	||k�|jt	||k�d	|_d|_|jd	|j�|jd|j�||_|j||j�||_|j||j�|}qWdS(uTesting Point objects.u
POINT(0 0)uPointii	iuzig�G�z�@g��Q�	@g�Q���@N(g�G�z�@g��Q�	@g�Q���@(g�Q���@g�G�z�@g��Q�	@(g�G�z�@g��Q�	@(g��Q�	@g�G�z�@(RR;tpointsR=R?t	geom_typetgeom_typeidtxtyRNRYtassertAlmostEqualttupleRtR>tzR tcentroidRtcoords(	R!tprevRpR�ttup_argstset_tup1tset_tup2tpnt2tpnt3((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_points�sJ					cCsMxF|jjD]8}t|j�}|j|jd�|j|jd�|j|jd|jj	dd�|j|jd|jj	dd�|j
t|jt
|��|j|j|jj	�|j|jt	d�|D���xZ|D]R}|j|jd�|j|jd�|j|jt�|j|jt�q�Wq
WdS(	uTesting MultiPoint objects.u
MultiPointiii	icss|]}|jVqdS(N(R�(t.0tm((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>>suPointN(R;tmultipointsRR=R?R�R�R�R�R�R0Rt__getitem__tlenR�temptyRYtvalidRN(R!tmptmpntRp((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_multipoints2s$$#
cCs�td�}x�|jjD]�}t|j�}|j|jd�|j|jd�|j|jt�|j|j	t�t
|d�r�|j|j|jj�nt
|d�r�|j|j
|j�n|jt|t|j�k�|jt||k�|jt|jt|��|}|j|t|j��|j|t|j��|j|tg|jD]}t|�^ql��|j|jttd�|jD���j�tr|j|ttj|j���qqWdS(uTesting LineString objects.u
POINT(0 0)u
LineStringiucentroidutupcss|]}t|�VqdS(N(R(R�ttup((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>\sN(RR;tlinestringsR=R?R�R�R�RYtringRtR�R�R�RNR0RR�R�RtlistRtarray(R!R�tlR�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_linestringEs*2/cCs�td�}x||jjD]n}t|j�}|j|jd�|j|jd�|j|jd|jj	d�|j|jd|jj
d�|jt|t|j�k�|jt||k�|}xG|D]?}|j|jd�|j|jd�|j|j
t�q�W|jt|jt|��|j|jttd�|D���j�|j|ttd	�|D����qWd
S(u Testing MultiLineString objects.u
POINT(0 0)uMultiLineStringiii	iu
LineStringcss|]}|j�VqdS(N(tclone(R�ts((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>tscss|]}t|j�VqdS(N(RR�(R�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>usN(RR;tmultilinestringsR=R?R�R�R�R�R�R�RNRYR�R0RR�R�RR�(R!R�R�tmlR�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_multilinestring_s"  
,cCsx|jjD]	}t|j�}|j|jd�|j|jd�|j|jt|��|jt	|j
�|jt|j�|j|t
|j��|j|t
|j��|j|t
g|jD]}t|�^q���tr
|j|t
tj|j���q
q
WdS(uTesting LinearRing objects.u
LinearRingiN(R;tlinearringsRR=R?R�R�tn_pR�RNR�RYR�RR�R�RR�(R!trrtlrR�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_linearringws2cCs�d}tj|�}|j||j�d}ddd|f}tj|�}|jd}|jt|d	�t|d	��d
S(u!Testing `from_bbox` class method.iL���i����i�iZg-DT�!	@iii����u.13fN(iL���i����i�iZ(Rt	from_bboxR?textenttformat(R!tbboxRpR�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_polygons_from_bbox�s
cCsetd�}xR|jjD]D}t|j�}|j|jd�|j|jd�|j|jt�|j|j	t�|j|j
|j�|j|j
dt|��|j|j
|j�|j|j|jd�|j|jd|jjdd�|j|jd|jjdd�|jt|t|j�k�|jt||k�|jt||k�|j}|j|jd�|j|jd�|jr�|j|j|j�|j|j|dj�n|jt|jt|��|jt|jt|�t�|jt|jd	t|�d�x4|D],}|j|jd�|j|jd�q@W|jttddddg�|jttd
�td�|D��}|j|t|d|d��td�|D��}|j|t|��|j|jttd
�|D���j�|j|jttd�|D���j�qWdS(uTesting Polygon objects.u
POINT(0 0)uPolygoniii	iu
LinearRingii����ufoocss|]}|VqdS(N((R�tr((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>�scss|]}|jVqdS(N(R�(R�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>�scss|]}|VqdS(N((R�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>�scss|]}t|j�VqdS(N(RR�(R�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>�sN(RR;RmR=R?R�R�R�RYR�tn_itnum_interior_ringsR�R�t
num_pointsR�tareaR�R�RNt
exterior_ringtext_ring_csR0RR�t__setitem__R3R(R!R�RpRqR�R�tringstring_tuples((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt
test_polygons�sH$$		$
!,cCstdddddf�}td	d
ddf�}|j||k�|j||k�|j||k�|j||k�td
ddddf�}tdddddf�}|j||k�|j||k�|j||k�|j||k�dS(Niii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(Rt
assertTruetassertFalse(R!tp1tp2tp3tp4((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_polygon_comparison�scCsUtd�}xB|jjD]4}t|j�}|j|jd�|j|jd�|j|j|j�|jr|j|j|j�|j|j	|j
�|j|jt|��|jt
|jt|��xG|D]?}|j|jd�|j|jd�|j|jt�q�W|j|jttd�|D���j�qqWdS(uTesting MultiPolygon objects.uPOINT (0 0)uMultiPolygoniuPolygonicss|]}|j�VqdS(N(R�(R�Rq((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>�sN(RR;t
multipolygonsR=R?R�R�R�tnum_geomR�t
num_coordsR�R0RR�RNRR�(R!R�R�tmpolyRp((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_multipolygons�s 	
cCsgt|jjdj�}|d}|d}~~|d}|d}~t|�t|�}}dS(u1Testing Geometry __del__() on rings and polygons.iiN(RR;RmR=tstr(R!Rqtring1tring2ts1ts2((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_memory_hijinks�s



c	Cs,x%|jjD]}|jr
t|j�}|jj}|j|j|j�|jt	|j�t	|��x�t
t	|j��D]�}|j|}||}|j||�t	|�dkr�d}nd}|||<x@tt	|��D],}|||<|j|||||�q�Wq�Wq
q
WdS(u$Testing Coordinate Sequence objects.iiiiN(ii(iii(R;RmR�RR=R�t	coord_seqR?R�R�R	trange(	R!RpRqtcstitc1tc2ttsettj((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_coord_seq	s"	

	

cCs�td�}|jt|jdd�xp|jjD]b}t|j�}t|j�}|j|j	|j||j
��|j|j
|j|��q2WdS(u&Testing relate() and relate_pattern().uPOINT (0 0)iuinvalid pattern, yoN(RR0R
trelate_patternR;trelate_geomstwkt_atwkt_bR?tresulttpatterntrelate(R!RAtrgtatb((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_relate_pattern$s"cCs�x�tt|jj��D]�}t|jj|j�}t|jj|j�}t|jj|j�}|j	t
|j|��|j|�}|j	||�|j	|||@�||M}|j	||�qWdS(u(Testing intersects() and intersection().N(
R	R�R;ttopology_geomsRR�R�tintersect_geomsR=R?RNt
intersectstintersection(R!R�R�R�ti1ti2((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_intersection.s
cCs�x�tt|jj��D]�}t|jj|j�}t|jj|j�}t|jj|j�}|j	|�}|j
||�|j
|||B�||O}|j
||�qWdS(uTesting union().N(R	R�R;R�RR�R�tunion_geomsR=tunionR?(R!R�R�R�tu1tu2((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt
test_union;s
cCs�x�tt|jj��D]�}t|jj|j�}t|jj|j�}t|jj|j�}|j	|�}|j
||�|j
|||�||8}|j
||�qWdS(uTesting difference().N(R	R�R;R�RR�R�t
diff_geomsR=t
differenceR?(R!R�R�R�td1td2((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_differenceGs
cCs�x�tt|jj��D]�}t|jj|j�}t|jj|j�}t|jj|j�}|j	|�}|j
||�|j
|||A�||N}|j
||�qWdS(uTesting sym_difference().N(R	R�R;R�RR�R�tsdiff_geomsR=tsym_differenceR?(R!R�R�R�R�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_symdifferenceSs
cCsaxZ|jjD]L}t|j�}t|j�}|j}|j}|jtj	|j
|t|��|j
||�}|j|j
|j
�|jt|�t|��x�tt|��D]�}||}||}	|jt|�t|	��x`tt|��D]L}
|j||
d|	|
dd�|j||
d|	|
dd�qWq�Wq
WdS(uTesting buffer().ii	iN(R;tbuffer_geomsRR=t
buffer_wkttquadsegstwidthR0R+t
ArgumentErrortbuffertfloatR?R�R�R	R�(R!tbgRAtexp_bufR�R�tbufR�texp_ringtbuf_ringtk((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_buffer_s 		"

#cCs�tdddd�}|jd|j�d|_|jd|j�|jtj|jd�t|jj	dj
dd�}|jd|j�x!|D]}|jd|j�q�Wd|_|jd|jj�ttdd�t
ddd�dd�}|jd|j�x1tt|��D]}|jd||j�q"Wd
}t|�}|jd|j�|j}t|j�}	|j||	j�t|jdd�}
|jd|
j�dS(u&Testing the SRID property and keyword.iiRLi�iu4326ii�ig�?ii}u20101000020E610000000000000000014400000000000003740i����N(ii(g�?g�?(ii(RR?RLR0R+R�tset_sridRR;RmR=RnRRR�R�R#RE(R!R�RqR�tgcR�RER�texp_sridR�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	test_srid{s.	
	*	cCs�tdddd�}|j|jjd��|j|jtj�|j|j	�tj
tjd�tjd��}|j|dt
�}|j|jd�|j|jd	d
�|j|jdd
�dS(
u$ Test with a srid unknown from GDAL i`�i�^RLi?BuSRID=999999;POINT (111200.0u[+proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m +no_defsi�R�iiiN(RR�R@t
startswithtassertIsInstancetogrRtOGRGeometrytassertIsNonetsrstCoordTransformtSpatialReferencet	transformRNR?RLR�R�R�(R!R�tc2wtnew_pnt((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_custom_srid�sc	Cs�x�|jjD]�}t|j�}|jt|jdtdd	��|jj	}g}x1|D])}|j
|dd|ddf�q]Wtt	|��}||_t
|�}|j|j|�|j|d|�q
Wx�|jjD]�}t|j�}	x�tt|	��D]�}
|	|
}ttjdd�tjdd��}||	|
<t
|�}|j|	|
|�|j|	|
j|j�|j||	|
�qWq�Wx|jjD]}t|j�}
x�tt|
��D]�}
|
|
}|
|
}xstt|��D]_}||}xBtt|��D].}||dd||ddf||<q-W|||<q
W|j|
|
|�||
|
<t
|�}|j|
|
|�|j|
|
|�q�Wq�WdS(
u<Testing the mutability of Polygons and Geometry Collections.iiig@@iidN(ii(ii(R;RmRR=R0R3R�RRnR�tappendRR�R�R?R�R�R�RtrandomtrandintR�R�R	(R!RpRqt	shell_tupt
new_coordstpointt	new_shellR�R[R�R�R�tnewR�told_polyR�R�R((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_mutable_geometries�sJ"
'	
'



,
cCs�tddd�}|jd
|j�|jt|jd�d|_|jd|j�tdd�}|jddf|j�|jt|jdd�d|d<|jd|d�dS(u%Testing three-dimensional geometries.iiig@g@g @g�?gI@g@o@g@]�iN(g@g@g @(g�?g@(g�?g@g@(g�?g@g@(g@g@g @(gI@g@o@g@]�(g@g@g @(gI@g@o@g@]�(g�?g@(g�?g@g@(g�?g@g@(	RR?R�R0R3t
set_coordsRR�R�(R!R�R�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_threed�s	
cCs�tdd�}|jd|jtdd���|jd|jtdd���|jd|jtdd��d�td
dd�}tddd�}|jd|j|��dS(u Testing the distance() function.igg�?igZf���?iiiiiiN(ii(ii(ii(ii(ii(ii(RR?tdistanceR�R(R!R�tls1tls2((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt
test_distances""%cCs�tdd�}|jd|j�td	d
�}|jd|jd�ttddd
dd��}|jd|j�t|j�|�}|jd|j�dS(uTesting the length property.igigZf���?ig@g @N(ii(ii(ii(ii(ii(ii(ii(	RR?tlengthRR�RRRR�(R!R�R�RqR�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_lengthscCstg�}td�}td�}td�}td�}td�}td�}td�}x�||||||||gD]�}	|jt|	j�t|	t�r�|jdt|	��|jd|	j	�|jdt|	d��njt|	t
tf�r.|jd|	j	�|jdt|	��n)|jd|	j	�|jdt|	��t|	t
�r||jt
|	j�qt|	t�r�|	j}
|jd	|
j�|jdt|
��|jt|
j�|jt
|
jd�q|jt
|	jd�qWd
S(u)Testing empty geometries and collections.uGEOMETRYCOLLECTION EMPTYuPOINT EMPTYuLINESTRING EMPTYu
POLYGON EMPTYuMULTILINESTRING EMPTYuMULTIPOLYGON EMPTYiiuLINEARRING EMPTYN((RRRR?RNR�t
isinstanceRR�R�RRR0Rtget_xRnR=R�(R!tgc1tgc2R�R�Rqtmlstmpoly1tmpoly2RAR�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_emptyCollections&s8%	cCs�g|jjD]}|jr
|j^q
}|jg|jjD]}|j^q>�|jg|jjD]}|j^qg�|jg|jjD]}|j^q��ddj|�}t	|�}t
td�|D���}|j||�dS(u9Testing GeometryCollection handling of other collections.uGEOMETRYCOLLECTION(%s)u,css|]}|VqdS(N((R�RA((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pys	<genexpr>ZsN(
R;R�R�R=textendR�RmR�tjoinRRR�R?(R!R�tcollR/Rptgc_wktR-R.((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_collections_of_collectionsLs+)))cCs�td�}|j|jtj�|j|j�trstd�}|j|jtj�|j|jj	d�ntddd�}|j|jtj�|j|jtj
�|j|j|jj�|jd|jj�dS(	u#Testing `ogr` and `srs` properties.uPOINT(5 23)u
POINT(5 23 8)iuLINESTRING(0 0, 5 5, 23 23)RLi�uWGS 84N(
RRRRRRRRR?R�RREtname(R!tg1tg1_3dtg2((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	test_gdal_scCsfddl}td�}|j|�}|j|�}|j|j|j�|j|j|j�dS(u*Testing use with the Python `copy` module.i����NuEPOLYGON((0 0, 0 23, 23 23, 23 0, 0 0), (5 5, 5 10, 10 10, 10 5, 5 5))(tcopyRtdeepcopyR�t_ptr(R!R=Rqtcpy1tcpy2((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	test_copyqsu(GDAL is required to transform geometriescCs8tdd�}tdd�}|j�|j�|j�}}}|j|j�|jtjd��tjtjd�tjd��}|j|�|j�}|j|jdt�}|j||�|j	||�d}	xL||||fD]8}
|j
|j|
j|	�|j
|j|
j|	�q�Wd	S(
uTesting `transform` method.uPOINT (-104.609 38.255)i�u%POINT (992385.4472045 481455.4944650)i�
u	EPSG:2774uWGS84R�iN(
RR�RRLRRRRNR?R�R�R�R�(R!torigttranstt1tt2tt3tcttk1tk2tprecRp((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_transformzs&$
cCsLtdd�}|jd�tr8|j|jd�n|j|j�dS(NuPOINT (5 23 100)i�i�
id(RRRR?R�R(R!tp3d((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_transform_3d�s

cCs�tjr�tdd�}|j}|jd�|j|j|�|j|jd�tdd�}|jddt�}|j|j|j�|j|jd�|j||k	d�ntj}z�t	t_tdd�}|j}|jd�|j|j|�|j|jd�tdd�}|jddt�}|j|j|j�|j|jd�|j||k	d�Wd|t_XdS(u) Testing `transform` method (SRID match) uPOINT (-104.609 38.255)i�R�uClone didn't happenN(
RRRR�RR?RLRNR�RY(R!RAtgtR9told_has_gdal((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_transform_noop�s2		
			
cCs�tddd�}|jt|jd�tddd�}|jt|jddt�tddd�}|jt|jd�tddd�}|jt|jddt�dS(u7 Testing `transform` method (no SRID or negative SRID) uPOINT (-104.609 38.255)RLi�
R�i����N(RR R0R
RRN(R!RA((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_transform_nosrid�scCswtj}z]tt_tdd�}|jt|jd�tdd�}|jt|jddt�Wd|t_XdS(u1 Testing `transform` method (GDAL not available) uPOINT (-104.609 38.255)i�i�
R�N(RRRYRR0R
RRN(R!RPRA((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_transform_nogdal�s		 cCs�ttdd�tdd�tdd��}|jd
|j�td	d
�}|jd|j�t|jjdj�}|j}|j	|j
}}t|�t|�}}t|�t|�}	}
|j|||	|
f|j�dS(uTesting `extent` method.iiii
i2gg$@gI@g�Q���@g������1@iN(ggg$@gI@(g�Q���@g������1@g�Q���@g������1@(
RRR?R�RR;RmR=RnR�R�tmintmax(R!R�R�RqR�R�R�txmintymintxmaxtymax((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_extent�s-	cCs6ddlm}ddl}dd�}||jj�}|j||jjd��|j||jjd��|j||jj	d��|j
dk}x�|D]�}|j|�|j|�}}|j|�|j|�}	}
xC|	|
fD]5}|j
||�|s�|j
|j|j�q�q�Wq�WdS(u(Testing pickling and unpickling support.i����(tcPickleNcSs#g|D]}t|j|�^qS(N(RR=(tlstRLR[((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt	get_geoms�si�ii1�
(tdjango.utils.six.movesR[tpickleR R;R�R3R�RmR�R#tdumpsRvR?RL(R!R[R_R]ttgeomstno_sridRBR�R�R9R;ttmpg((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_pickle�s
ugeos >= 3.1.0 is requiredcCs�td�}|j}tdd�tdd�tdd�g}tttg}xzt||�D]i\}}|j|j|�|j|��|j|j|�|j|��|j||j	|��q^W~|j
|j	tdd���dS(u!Testing PreparedGeometry support.uAMULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5)))ig@g@N(RtpreparedRRNRYtzipR?tcontainsR�tcoversR�(R!R�tpreptpntsRhR�tc((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt
test_prepareds	*""cCsgtd�td�f}td�td�f}x0t||�D]\}}|j||j�q@WdS(uTesting line merge supportuLINESTRING(1 1, 1 1, 3 3)u'MULTILINESTRING((1 1, 3 3), (3 3, 4 2))uLINESTRING(1 1, 3 3)uLINESTRING (1 1, 3 3, 4 2)N(RRfR?tmerged(R!t	ref_geomst
ref_mergedRBRm((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_line_merges		cCs�td�}|j|j�|j|jtj�|j|jd�td�}|j|j�|j|jtj�|j|jj	d��dS(uTesting IsValidReason supportu
POINT(0 0)uValid GeometryuLINESTRING(0 0, 0 0)u$Too few points in geometry componentN(
RR�R�Rtvalid_reasonRtstring_typesR?R�R
(R!RA((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_valid_reason%suversionu3.2.0ugeos >= 3.2.0 is requiredcCsxtd�}td�}|j|jtdd��d�|j|jtdd��d�|j|jtdd��d	d
�|j|jd�tdd��|j|jd�tdd��|j|jd	d
�tdd��|j|jtdd��d�|j|jtdd��d�|j|jd
�tdd
��|j|jd�tdd��dS(uTesting linear referencingu"LINESTRING(0 0, 0 10, 10 10, 10 0)u+MULTILINESTRING((0 0, 0 10), (10 0, 10 10))iig$@iiig�?ii
ii	iN(RR?tprojectRtproject_normalizedtinterpolatetinterpolate_normalized(R!R�R/((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_linearref4s""&""&"""cCs�ddlm}ddddg}xo|D]g\}}}|j|�}|j|dd
|�|j|jd�|�|j|jd�|�q)WdS(u,Testing the GEOS version regular expression.i����(t
version_regexu3.0.0rc4-CAPI-1.3.3u3.0.0u1.3.3u3.0.0-CAPI-1.4.1u1.4.1u3.4.0dev-CAPI-1.8.0u3.4.0u1.8.0u3.4.0dev-CAPI-1.8.0 r0tmsgu'Unable to parse the version string '%s'uversionucapi_versionN(u3.0.0rc4-CAPI-1.3.3u3.0.0u1.3.3(u3.0.0-CAPI-1.4.1u3.0.0u1.4.1(u3.4.0dev-CAPI-1.8.0u3.4.0u1.8.0(u3.4.0dev-CAPI-1.8.0 r0u3.4.0u1.8.0(tdjango.contrib.gis.geos.libgeosRytmatchR�R?tgroup(R!Rytversionstv_inittv_geostv_capiR�((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyttest_geos_versionIs	(=R%R&tpropertyR#R:RCRGRWR\RdRgRjRlRrRRRxR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RRRR"R$R(R*R2R7R<RBRLRNRQRRRSRZRdRRRlRpRsRRxR�(((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyRsj	*			1										7					
	;					
	
					&	@				&				$				+(0t
__future__RR+RuRtbinasciiRRtioRtdjango.contrib.gis.gdalRtdjango.contrib.gisRt%django.contrib.gis.geometry.test_dataRtdjango.utils.encodingRtdjango.utilsRR^R	R
tdjango.utils.unittestRtRR
RRRRRRRRRRRRRRtbaseRRRtTestCaseR(((sI/tmp/pip-install-XxeQeY/django/django/contrib/gis/geos/tests/test_geos.pyt<module>s&d

https://t.me/AnonymousX5 - 2025