コード例 #1
0
ファイル: test_polyline.py プロジェクト: jasonwyatt/GCS
 def testSplit(self):
     polyline_str = "izwbEhu_nN|Bp@X}AyHoB_JqCq@bCk@bCvAiGp@iET}AqD}@vCeRxAkCPoA|AuJvCt@_AzEgCq@KCxBaMnDbAzKvCoApH~Bj@f@yCb@uCvHvBmAjHnBh@LBnAiHxFzArBp@iDzReBi@mD_AALy@`E}GcB_JmCu@S]]RsAAcBEyCJ_Add@xL~Ab@RgAf@yCnBd@tA^z@_F|Ab@zJhCpK`DfJ`CrGtB`BPbIzBdPfEnN`EO~@e@fCpPjEnHpB|A}J~AZx@PpHnCva@jLd@NbGq]rPdEc@`CiA`HoL}CcCo@zH{d@~JdCdKrCn`@vJtJnCzEwXfIe_@rCyNz@wFx@YjDj@~DClEeA`C_AvDeCzQwPdFoDrGaD|J{DnBeA`CaBzJsIjDsB`GmBfDYhGD~E`AtExAhNhDxDpB~M~I|Bz@jDd@p@TpFp@|AZfD|@|Dz@ZkGDuGZu@f@YtE@n@FvF`BGXFYkGeBkIIy@l^H\_@j[KfBmCdNy@zEcBpMgDtRMLWlAkAlHHVm@~EoIji@mFv^{I|f@WhAYf@aBY_NqD}@W|@yF^??{AHs@x@uEJIwD}@UDO@MDOf@~EnAs@jE?zA_@?}@xFqLcDk@G`@jD`BrKdAfEkBbARj@UnA~@NnC|@hA|Ah@W|@bAlCjBtAt@hC|@|q@rP|`@dKrDt@fIvBfDt@zEnBdDhCpBjCdCxFdAdE\tCDdEYxGk@hCc@Pe@@mAOKHi@dDcAtFvAZPj@B|@gS~cAUdBQ~ELnD`@jDlG`\zClPf@nDPjBP|EKzCqUuFuA`JZLgCzQvDz@Bi@m@qA?a@@QkB[cC~O@|@Z|@x@j@vEjAT^vAXt@Bx@a@n@}Ad@s@VKn@n@BhAcEvXMvBiBnuAu@tRQpA]fAo@nAy@|@y@l@qA`@yCRia@QuI|@a[lE_BN_B@}DWwDaAkCqAaCoBgAaAsBoC_EeI{Zet@iSae@sNs]wCmEoBuB{D_DqFyCulBst@iWkKiD{ByBeC{A_C}BmHi@iDUeDBcF|B_k@j@sM?y@UwCy@oCkAgB_AaAiAu@aBk@uDWoG`AyBEs@QcEqAcViK_\oJchAkZmDyAe@o@w@eBiE}PY{ETqG|@iJnQyhARcD?{Es@oFaCoHsDwNGiA_A{CgDuFyCmFy@m@kAIiAJc@FWZkAc@kGmAuIiCY|A{Bq@"
     poly = decode_polyline(polyline_str)
     
     splits = poly.split_at_angle()
     
     splits_sum = sum(a.distance for a in splits)
     self.assertAlmostEqual(splits_sum, poly.distance)
     
     self.assertEqual(poly, Polyline.concat_multiple(splits))
コード例 #2
0
ファイル: test_polyline.py プロジェクト: jasonwyatt/GCS
    def testSplit(self):
        polyline_str = "izwbEhu_nN|Bp@X}AyHoB_JqCq@bCk@bCvAiGp@iET}AqD}@vCeRxAkCPoA|AuJvCt@_AzEgCq@KCxBaMnDbAzKvCoApH~Bj@f@yCb@uCvHvBmAjHnBh@LBnAiHxFzArBp@iDzReBi@mD_AALy@`E}GcB_JmCu@S]]RsAAcBEyCJ_Add@xL~Ab@RgAf@yCnBd@tA^z@_F|Ab@zJhCpK`DfJ`CrGtB`BPbIzBdPfEnN`EO~@e@fCpPjEnHpB|A}J~AZx@PpHnCva@jLd@NbGq]rPdEc@`CiA`HoL}CcCo@zH{d@~JdCdKrCn`@vJtJnCzEwXfIe_@rCyNz@wFx@YjDj@~DClEeA`C_AvDeCzQwPdFoDrGaD|J{DnBeA`CaBzJsIjDsB`GmBfDYhGD~E`AtExAhNhDxDpB~M~I|Bz@jDd@p@TpFp@|AZfD|@|Dz@ZkGDuGZu@f@YtE@n@FvF`BGXFYkGeBkIIy@l^H\_@j[KfBmCdNy@zEcBpMgDtRMLWlAkAlHHVm@~EoIji@mFv^{I|f@WhAYf@aBY_NqD}@W|@yF^??{AHs@x@uEJIwD}@UDO@MDOf@~EnAs@jE?zA_@?}@xFqLcDk@G`@jD`BrKdAfEkBbARj@UnA~@NnC|@hA|Ah@W|@bAlCjBtAt@hC|@|q@rP|`@dKrDt@fIvBfDt@zEnBdDhCpBjCdCxFdAdE\tCDdEYxGk@hCc@Pe@@mAOKHi@dDcAtFvAZPj@B|@gS~cAUdBQ~ELnD`@jDlG`\zClPf@nDPjBP|EKzCqUuFuA`JZLgCzQvDz@Bi@m@qA?a@@QkB[cC~O@|@Z|@x@j@vEjAT^vAXt@Bx@a@n@}Ad@s@VKn@n@BhAcEvXMvBiBnuAu@tRQpA]fAo@nAy@|@y@l@qA`@yCRia@QuI|@a[lE_BN_B@}DWwDaAkCqAaCoBgAaAsBoC_EeI{Zet@iSae@sNs]wCmEoBuB{D_DqFyCulBst@iWkKiD{ByBeC{A_C}BmHi@iDUeDBcF|B_k@j@sM?y@UwCy@oCkAgB_AaAiAu@aBk@uDWoG`AyBEs@QcEqAcViK_\oJchAkZmDyAe@o@w@eBiE}PY{ETqG|@iJnQyhARcD?{Es@oFaCoHsDwNGiA_A{CgDuFyCmFy@m@kAIiAJc@FWZkAc@kGmAuIiCY|A{Bq@"
        poly = decode_polyline(polyline_str)

        splits = poly.split_at_angle()

        splits_sum = sum(a.distance for a in splits)
        self.assertAlmostEqual(splits_sum, poly.distance)

        self.assertEqual(poly, Polyline.concat_multiple(splits))
コード例 #3
0
ファイル: test_polyline_snap.py プロジェクト: jasonwyatt/GCS
 def __snap(self, point, encoded_polyline, options, result):
     polyline = google_polyline.decode_polyline(encoded_polyline) 
     
     #self.assertFalse(polyline.bounds.contains(point))
     snap = polyline.snap_point(point, options)
     
     if result:        
         self.assertNotEqual(snap, None)            
     else:
         self.assertEqual(snap, None)
         
     return snap            
コード例 #4
0
    def __snap(self, point, encoded_polyline, options, result):
        polyline = google_polyline.decode_polyline(encoded_polyline)

        #self.assertFalse(polyline.bounds.contains(point))
        snap = polyline.snap_point(point, options)

        if result:
            self.assertNotEqual(snap, None)
        else:
            self.assertEqual(snap, None)

        return snap
コード例 #5
0
ファイル: test_flatten.py プロジェクト: jasonwyatt/GCS
import unittest
import random

from shapely.geometry import Point
from gcs.tools.flattener import InterpolatedFlattener
from math import fabs

from gcs import LatLng
from gcs.encoders import google_polyline

poly_str = 'szkyEbma_NTWVSVSVGNAVAv@LrEnAh@F\?PETI^SRSJOHQHUH_@Dm@Ds@BkCCqBGkFIoHDsHDkGPcJB}DZqSgIIKfIMdN?XHXJRNPj@h@XZNLPXB^AxAQrIg@bOK|@iCxHu@fCk@dAsC`F'
poly1 = google_polyline.decode_polyline(poly_str)

MAX_DIFFERENCE = 100.0


class FlattenTestCase(unittest.TestCase):
    def _test_points(self, a, b):
        geo_d = a[0].distance_to(b[0])
        cart_d = a[1].distance(b[1])
        difference = ((geo_d - cart_d) * 100000)
        difference = round(difference, 4)

        if fabs(difference) > MAX_DIFFERENCE:
            print '%s -> %s' % (a[0], b[0])
            print 'Correct Distance: %fkm' % geo_d
            print 'Interpolated Distance: %fkm' % cart_d
            print 'Difference: %.4fcm' % difference

        self.assertTrue(fabs(difference) <= MAX_DIFFERENCE)
コード例 #6
0
ファイル: test_flatten.py プロジェクト: jasonwyatt/GCS
import unittest
import random

from shapely.geometry import Point
from gcs.tools.flattener import InterpolatedFlattener
from math import fabs

from gcs import LatLng
from gcs.encoders import google_polyline


poly_str = 'szkyEbma_NTWVSVSVGNAVAv@LrEnAh@F\?PETI^SRSJOHQHUH_@Dm@Ds@BkCCqBGkFIoHDsHDkGPcJB}DZqSgIIKfIMdN?XHXJRNPj@h@XZNLPXB^AxAQrIg@bOK|@iCxHu@fCk@dAsC`F'
poly1 = google_polyline.decode_polyline(poly_str)

MAX_DIFFERENCE = 100.0

class FlattenTestCase(unittest.TestCase):
    
    def _test_points(self, a, b):        
        geo_d = a[0].distance_to(b[0])
        cart_d = a[1].distance(b[1])
        difference = ((geo_d - cart_d) * 100000)
        difference = round(difference, 4)
        
            
        
        if fabs(difference) > MAX_DIFFERENCE:
            print '%s -> %s' % (a[0], b[0])
            print 'Correct Distance: %fkm' % geo_d
            print 'Interpolated Distance: %fkm' % cart_d
            print 'Difference: %.4fcm' % difference