You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# => start of feature <= end of range AND end of feature > start of range
647
+
self.assertEqual(props.createFilterString(context, range), '(to_datetime( "start_field" ) <= make_datetime(2020,5,6,8,9,10) OR to_datetime( "start_field" ) IS NULL) AND (to_datetime( "end_field" ) > make_datetime(2019,3,4,11,12,13) OR to_datetime( "end_field" ) IS NULL)')
648
+
649
+
# map range (-------------------------)
650
+
# feature ranges . . [-------) (false)
651
+
# . [-------) (false)
652
+
# . [---.---) (true)
653
+
# . [-------) . (true)
654
+
# [-------) . (true)
655
+
# [---.---) . (true)
656
+
# [-------) . (false)
657
+
# [-------) . . (false)
658
+
#
659
+
# => start of feature < end of range AND end of feature > start of range
self.assertEqual(props.createFilterString(context, range), '(to_datetime( "start_field" ) < make_datetime(2020,5,6,8,9,10) OR to_datetime( "start_field" ) IS NULL) AND (to_datetime( "end_field" ) > make_datetime(2019,3,4,11,12,13) OR to_datetime( "end_field" ) IS NULL)')
662
+
663
+
# map range (-------------------------]
664
+
# feature ranges . . [-------) (false)
665
+
# . [-------) (true)
666
+
# . [---.---) (true)
667
+
# . [-------) . (true)
668
+
# [-------) . (true)
669
+
# [---.---) . (true)
670
+
# [-------) . (false)
671
+
# [-------) . . (false)
672
+
#
673
+
# => start of feature <= end of range AND end of feature > start of range
self.assertEqual(props.createFilterString(context, range), '(to_datetime( "start_field" ) <= make_datetime(2020,5,6,8,9,10) OR to_datetime( "start_field" ) IS NULL) AND (to_datetime( "end_field" ) > make_datetime(2019,3,4,11,12,13) OR to_datetime( "end_field" ) IS NULL)')
676
+
677
+
# THIS is the QGIS default: using a range with includeBeginning=true and includeEnd=false
678
+
# map range [-------------------------)
679
+
# feature ranges . . [-------) (false)
680
+
# . [-------) (false)
681
+
# . [---.---) (true)
682
+
# . [-------) . (true)
683
+
# [-------) . (true)
684
+
# [---.---) . (true)
685
+
# [-------) . (false)
686
+
# [-------) . . (false)
687
+
#
688
+
# => start of feature < end of range AND end of feature > start of range
self.assertEqual(props.createFilterString(context, range), '(to_datetime( "start_field" ) < make_datetime(2020,5,6,8,9,10) OR to_datetime( "start_field" ) IS NULL) AND (to_datetime( "end_field" ) > make_datetime(2019,3,4,11,12,13) OR to_datetime( "end_field" ) IS NULL)')
691
+
# since 3.22 there is also the option to include the end of the feature event
# => start of feature < end of range AND end of feature >= start of range
704
+
self.assertEqual(props.createFilterString(context, range), '(to_datetime( "start_field" ) < make_datetime(2020,5,6,8,9,10) OR to_datetime( "start_field" ) IS NULL) AND (to_datetime( "end_field" ) >= make_datetime(2019,3,4,11,12,13) OR to_datetime( "end_field" ) IS NULL)')
705
+
props.setLimitMode(Qgis.VectorTemporalLimitMode.IncludeBeginExcludeEnd) # back to default
0 commit comments