You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(8) |
2
(4) |
3
(2) |
4
(9) |
5
(7) |
6
(3) |
7
(6) |
8
(5) |
9
(2) |
10
(7) |
11
(3) |
12
(9) |
13
(2) |
14
(1) |
15
(2) |
16
(2) |
17
(5) |
18
(5) |
19
(8) |
20
(3) |
21
(1) |
22
(6) |
23
(3) |
24
(3) |
25
(2) |
26
(16) |
27
(1) |
28
(1) |
29
(2) |
30
(5) |
|
|
|
|
On Sat, Mar 23, 2013 at 12:09 AM, Russell Warren <ru...@pe...> wrote: > I'm trying to use path.Path.contains_point for point-in-polygon testing > and am running into a few different confusing situations. My specific > issues/questions are: > > 1. I'm seeing different behaviour dependent on path direction (clockwise > or counter-clockwise). Is there a "correct" direction to use? > No, it shouldn't matter, AFAICT. If there are differences, then it should be reported as a bug. > > 2. What is the expected behaviour for Path.contains_point when the point > is on a boundary? > > The original algorithm that it was based off of considered it outside (again, from memory), but warns that floating-point errors renders this point largely theoretical. > 3. What is the radius parameter supposed to do? The docs say it "allows > the path to be made slightly larger or smaller", but I'm clearly not > understanding this properly (see the cw_path hit test failure with r=0.1 > below). > > That is a terrible description of the functionality, I agree. Essentially, if you have a positive radius, it effectively dilates the polygon for the purposes of point-testing, while a negative radius effectively erodes the polygon (but not for plotting... only for point testing). > Here is a short example showing some issues with a unit rectangle... > > >>> from matplotlib.path import Path > >>> cw_path = Path([[0,0], [0,1], [1,1], [1,0]]) > >>> ccw_path = Path([[0,0], [1,0], [1,1], [0,1]]) > >>> #Point on x axis not detected for either path... > ... cw_path.contains_point([0.5, 0]) > 0 > >>> ccw_path.contains_point([0.5, 0]) > 0 > >>> #Add a large radius and ccw_path works, but not cw_path (!!?)... > ... r = 0.1 > >>> cw_path.contains_point([0.5, 0], radius=r) > 0 > >>> ccw_path.contains_point([0.5, 0], radius=r) > 1 > > The following ipython notebook has more detailed tests, but the main > points are in the sample above. > http://nbviewer.ipython.org/7e1b347b8b21b338bee1 > > I've found at least one reference [1] online indicating that "this > function is intended for use when mouse-clicking". Does that mean I should > not use it for generic point-in-polygon testing? > > That entirely depends upon your needs. The algorithm has very low overhead, but it isn't highly optimized. This makes it ideal for occasional point tests on arbitrary polygons (such as processing mouse-clicks). But if you want to systematically do many point tests for every single polygon, then maybe a more rigorously designed and implemented algorithm (such as Shapely's) is more suited for your needs. Note that Shapely's algorithm has higher overhead, but can test many more points faster than ours. I hope that clears things up! Ben Root