view python/tests/moving_shapely.txt @ 781:7c38250ddfc7 dev

updated to deal with prepared polygons from shapely, and to extract the same positions from a second trajectory in a polygon (for velocities for example)
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 11 Feb 2016 11:56:50 -0500
parents 6ae68383071e
children
line wrap: on
line source

>>> from moving import *
>>> from shapely.geometry import Polygon
>>> from shapely.prepared import prep

>>> t1 = Trajectory([[0.5,1.5,2.5],[0.5,3.5,6.5]])
>>> poly = Polygon([[0,0],[4,0],[4,3],[0,3]])
>>> sub1, sub2 = t1.getTrajectoryInPolygon(poly)
>>> sub1
(0.500000,0.500000)
>>> sub1, sub2 = t1.getTrajectoryInPolygon(Polygon([[10,10],[14,10],[14,13],[10,13]]))
>>> sub1.length()
0
>>> sub1, sub2 = t1.getTrajectoryInPolygon(prep(poly))
>>> sub1
(0.500000,0.500000)
>>> t2 = t1.differentiate(True)
>>> sub1, sub2 = t1.getTrajectoryInPolygon(prep(poly), t2)
>>> sub1.length() == sub2.length()
True
>>> sub1
(0.500000,0.500000)
>>> sub2
(1.000000,3.000000)

>>> t1.proportionInPolygon(poly, 0.5)
False
>>> t1.proportionInPolygon(poly, 0.3)
True