mapdata 3.21.0__tar.gz → 3.22.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. {mapdata-3.21.0/mapdata.egg-info → mapdata-3.22.0}/PKG-INFO +1 -1
  2. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/mapdata.py +44 -17
  3. {mapdata-3.21.0 → mapdata-3.22.0/mapdata.egg-info}/PKG-INFO +1 -1
  4. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata.egg-info/requires.txt +1 -0
  5. {mapdata-3.21.0 → mapdata-3.22.0}/setup.py +2 -2
  6. {mapdata-3.21.0 → mapdata-3.22.0}/LICENSE.txt +0 -0
  7. {mapdata-3.21.0 → mapdata-3.22.0}/MANIFEST.in +0 -0
  8. {mapdata-3.21.0 → mapdata-3.22.0}/README.md +0 -0
  9. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/configfile/mapdata.conf +0 -0
  10. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/0.xbm +0 -0
  11. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/1.xbm +0 -0
  12. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/2.xbm +0 -0
  13. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/3.xbm +0 -0
  14. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/4.xbm +0 -0
  15. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/5.xbm +0 -0
  16. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/6.xbm +0 -0
  17. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/7.xbm +0 -0
  18. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/8.xbm +0 -0
  19. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/9.xbm +0 -0
  20. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/A.xbm +0 -0
  21. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/B.xbm +0 -0
  22. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/C.xbm +0 -0
  23. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/D.xbm +0 -0
  24. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/E.xbm +0 -0
  25. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/F.xbm +0 -0
  26. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/G.xbm +0 -0
  27. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/H.xbm +0 -0
  28. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/I.xbm +0 -0
  29. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/J.xbm +0 -0
  30. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/K.xbm +0 -0
  31. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/L.xbm +0 -0
  32. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/M.xbm +0 -0
  33. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/N.xbm +0 -0
  34. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/O.xbm +0 -0
  35. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/P.xbm +0 -0
  36. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/Q.xbm +0 -0
  37. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/R.xbm +0 -0
  38. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/S.xbm +0 -0
  39. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/T.xbm +0 -0
  40. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/U.xbm +0 -0
  41. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/V.xbm +0 -0
  42. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/W.xbm +0 -0
  43. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/X.xbm +0 -0
  44. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/Y.xbm +0 -0
  45. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/Z.xbm +0 -0
  46. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/airplane.xbm +0 -0
  47. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/anchor.xbm +0 -0
  48. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/ball.xbm +0 -0
  49. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/ball_small.xbm +0 -0
  50. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/bar.xbm +0 -0
  51. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/bars.xbm +0 -0
  52. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/binoculars.xbm +0 -0
  53. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/bird.xbm +0 -0
  54. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/block.xbm +0 -0
  55. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/block_small.xbm +0 -0
  56. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/bookmark.xbm +0 -0
  57. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/box_stack.xbm +0 -0
  58. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/camera.xbm +0 -0
  59. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/cancel.xbm +0 -0
  60. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/car.xbm +0 -0
  61. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/car2.xbm +0 -0
  62. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/center8.xbm +0 -0
  63. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/check.xbm +0 -0
  64. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/check_circle.xbm +0 -0
  65. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/checkbox.xbm +0 -0
  66. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/checkerboard.xbm +0 -0
  67. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/chevrons.xbm +0 -0
  68. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/circle.xbm +0 -0
  69. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/circle_bar.xbm +0 -0
  70. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/circle_plus.xbm +0 -0
  71. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/circle_stipple.xbm +0 -0
  72. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/circle_triangle.xbm +0 -0
  73. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/circle_wedge.xbm +0 -0
  74. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/circle_x.xbm +0 -0
  75. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/clock.xbm +0 -0
  76. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/columns.xbm +0 -0
  77. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/contract.xbm +0 -0
  78. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/cross.xbm +0 -0
  79. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/darkeye.xbm +0 -0
  80. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/decrease.xbm +0 -0
  81. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/deposition.xbm +0 -0
  82. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/diag_ll.xbm +0 -0
  83. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/diag_lr.xbm +0 -0
  84. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/diag_ul.xbm +0 -0
  85. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/diag_ur.xbm +0 -0
  86. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/dialog.xbm +0 -0
  87. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/diamond.xbm +0 -0
  88. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/donkey.xbm +0 -0
  89. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/dot.xbm +0 -0
  90. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/down.xbm +0 -0
  91. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/drop.xbm +0 -0
  92. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/elephant.xbm +0 -0
  93. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/expand.xbm +0 -0
  94. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/eye.xbm +0 -0
  95. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/fire.xbm +0 -0
  96. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/fish.xbm +0 -0
  97. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/flag.xbm +0 -0
  98. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/flag2.xbm +0 -0
  99. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/four_arrows.xbm +0 -0
  100. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/graph.xbm +0 -0
  101. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/hand.xbm +0 -0
  102. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/hash.xbm +0 -0
  103. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/heart.xbm +0 -0
  104. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/hidden.xbm +0 -0
  105. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/hourglass.xbm +0 -0
  106. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/house.xbm +0 -0
  107. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/increase.xbm +0 -0
  108. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/info.xbm +0 -0
  109. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/leaf.xbm +0 -0
  110. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/left.xbm +0 -0
  111. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/lightbulb.xbm +0 -0
  112. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/lightning.xbm +0 -0
  113. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/lightning2.xbm +0 -0
  114. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/location_ptr.xbm +0 -0
  115. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/mine.xbm +0 -0
  116. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/nested_boxes.xbm +0 -0
  117. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/pennant.xbm +0 -0
  118. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/pennant2.xbm +0 -0
  119. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/people.xbm +0 -0
  120. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/person.xbm +0 -0
  121. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/person2.xbm +0 -0
  122. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/person3.xbm +0 -0
  123. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/phone.xbm +0 -0
  124. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/photo.xbm +0 -0
  125. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/picnic.xbm +0 -0
  126. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/plus.xbm +0 -0
  127. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/point_down.xbm +0 -0
  128. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/point_left.xbm +0 -0
  129. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/point_right.xbm +0 -0
  130. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/point_up.xbm +0 -0
  131. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/pointer_ne.xbm +0 -0
  132. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/pointer_nw.xbm +0 -0
  133. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/pointer_se.xbm +0 -0
  134. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/pointer_sw.xbm +0 -0
  135. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/puzzle.xbm +0 -0
  136. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q1.xbm +0 -0
  137. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q1_notch.xbm +0 -0
  138. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q2.xbm +0 -0
  139. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q2_notch.xbm +0 -0
  140. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q3.xbm +0 -0
  141. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q3_notch.xbm +0 -0
  142. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q4.xbm +0 -0
  143. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/q4_notch.xbm +0 -0
  144. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/qmark_circle.xbm +0 -0
  145. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/qmark_circle2.xbm +0 -0
  146. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/raincloud.xbm +0 -0
  147. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/right.xbm +0 -0
  148. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/rocket.xbm +0 -0
  149. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/rocket2.xbm +0 -0
  150. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/rose.xbm +0 -0
  151. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/rows.xbm +0 -0
  152. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/scales.xbm +0 -0
  153. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/search.xbm +0 -0
  154. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/search2.xbm +0 -0
  155. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/skull.xbm +0 -0
  156. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/square.xbm +0 -0
  157. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/star.xbm +0 -0
  158. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/stipple.xbm +0 -0
  159. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/stop.xbm +0 -0
  160. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/surprise_circle.xbm +0 -0
  161. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/swamp.xbm +0 -0
  162. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/target.xbm +0 -0
  163. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/target2.xbm +0 -0
  164. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/ten.xbm +0 -0
  165. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/trash.xbm +0 -0
  166. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/tree.xbm +0 -0
  167. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/tree2.xbm +0 -0
  168. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/tree3.xbm +0 -0
  169. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/triangle.xbm +0 -0
  170. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/triangle_open.xbm +0 -0
  171. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/triangle_sm.xbm +0 -0
  172. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/up.xbm +0 -0
  173. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/vapor.xbm +0 -0
  174. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/warning.xbm +0 -0
  175. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/wave.xbm +0 -0
  176. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/wave2.xbm +0 -0
  177. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/wave3.xbm +0 -0
  178. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/weather.xbm +0 -0
  179. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/wedge.xbm +0 -0
  180. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/wedge_sm.xbm +0 -0
  181. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/wedges_3.xbm +0 -0
  182. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/well.xbm +0 -0
  183. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/whale.xbm +0 -0
  184. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/whale2.xbm +0 -0
  185. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/wheelchair.xbm +0 -0
  186. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/zigzags.xbm +0 -0
  187. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/16x16/zigzags2.xbm +0 -0
  188. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/ball20.xbm +0 -0
  189. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/block20.xbm +0 -0
  190. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/circle20.xbm +0 -0
  191. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/q1_20.xbm +0 -0
  192. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/q2_20.xbm +0 -0
  193. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/q3_20.xbm +0 -0
  194. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/q4_20.xbm +0 -0
  195. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/20x20/square20.xbm +0 -0
  196. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/24x24/ball24.xbm +0 -0
  197. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/24x24/block24.xbm +0 -0
  198. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/24x24/circle24.xbm +0 -0
  199. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/24x24/square24.xbm +0 -0
  200. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/28x28/ball28.xbm +0 -0
  201. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/28x28/block28.xbm +0 -0
  202. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/28x28/circle28.xbm +0 -0
  203. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata/symbols/28x28/square28.xbm +0 -0
  204. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata.egg-info/SOURCES.txt +0 -0
  205. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata.egg-info/dependency_links.txt +0 -0
  206. {mapdata-3.21.0 → mapdata-3.22.0}/mapdata.egg-info/top_level.txt +0 -0
  207. {mapdata-3.21.0 → mapdata-3.22.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapdata
3
- Version: 3.21.0
3
+ Version: 3.22.0
4
4
  Summary: An interactive map and table explorer for geographic coordinates in a spreadsheet, CSV file, or database that includes data plotting and statistical summaries
5
5
  Home-page: https:/hg.sr.ht/~rdnielsen/mapdata
6
6
  Author: Dreas Nielsen
@@ -24,8 +24,8 @@
24
24
  #
25
25
  # ==================================================================
26
26
 
27
- version = "3.21.0"
28
- vdate = "2026-03-17"
27
+ version = "3.22.0"
28
+ vdate = "2026-03-31"
29
29
 
30
30
  copyright = "2023-2026"
31
31
 
@@ -99,6 +99,7 @@ try:
99
99
  mk_available = True
100
100
  except:
101
101
  mk_available = False
102
+ import kneeliverse
102
103
 
103
104
 
104
105
  # Default name of configuration file. Files with other names may be read.
@@ -2361,6 +2362,41 @@ def list_mse(y):
2361
2362
  # This computes the MSE for differences between elements of the list and 1.0
2362
2363
  return sum([(s-1)**2 for s in y])/len(y)
2363
2364
 
2365
+ def elbow_kneeliverse(rmses):
2366
+ # Returns the x value of the elbow
2367
+ pts = np.array(list(zip(list(range(1, len(rmses)+1)), rmses)))
2368
+ return kneeliverse.kneedle.knee(pts)
2369
+
2370
+ class LinePoints(object):
2371
+ # For calculation of elbow inflection using `kneedle` algorithm:
2372
+ # maximum distance of point from line.
2373
+ def __init__(self, x1, y1, x2, y2):
2374
+ self.yd = y2 - y1
2375
+ self.xd = x2 - x1
2376
+ self.xyterm = x2 * y1 - y2 * x1
2377
+ self.denom = math.sqrt(self.yd**2 + self.xd**2)
2378
+ def point_dist(self, xx, yy):
2379
+ return abs(self.yd * xx - self.xd * yy + self.xyterm) / self.denom
2380
+ def signed_point_dist(self, xx, yy):
2381
+ # Positive values are below the line, negative values above.
2382
+ return (self.yd * xx - self.xd * yy + self.xyterm) / self.denom
2383
+
2384
+ def kneedle_maxdist(rmses):
2385
+ xs = list(range(1, len(rmses)+1))
2386
+ lp = LinePoints(xs[0], rmses[0], xs[-1], rmses[-1])
2387
+ dists = [lp.signed_point_dist(xs[i], rmses[i]) for i in range(1,len(rmses)-1)]
2388
+ return dists.index(max(dists)) + 2
2389
+
2390
+ def elbow(rmses, eucdists):
2391
+ # Returns the elbow in the list of RMSE or Euclidean distance values.
2392
+ if len(rmses) < 3:
2393
+ return len(rmses)
2394
+ kd_rmse_em = max(kneedle_maxdist(rmses), kneedle_maxdist(eucdists))
2395
+ if kd_rmse_em < 5:
2396
+ return kd_rmse_em
2397
+ return elbow_kneeliverse(rmses)
2398
+
2399
+
2364
2400
  def iterate_nmf(D, n_em, max_iterations=200, mse_goal=0.00001):
2365
2401
  # Performs NMF on D until the row sums of the W matrix are all (approximately) 1.0.
2366
2402
  nmf_model1 = NMF(n_components=n_em, solver='mu', max_iter=500)
@@ -13696,7 +13732,7 @@ class NMFUnmixingDialog(Dialog):
13696
13732
  var_frame = tk.Frame(frame_panes, width=250, borderwidth=2, relief=tk.RIDGE)
13697
13733
  var_frame.grid(row=0, column=0, sticky=tk.NSEW)
13698
13734
  var_frame.rowconfigure(0, weight=1)
13699
- var_frame.columnconfigure(0, weight=1, minsize=200)
13735
+ var_frame.columnconfigure(0, weight=1)
13700
13736
  frame_panes.add(var_frame, weight=1)
13701
13737
 
13702
13738
  # Maybe add a dropdown to select the row ID variable if there are multiple.
@@ -13900,21 +13936,12 @@ class NMFUnmixingDialog(Dialog):
13900
13936
  # Diagnostics: Total residual, RSS, AIC, RMSE, Frobenius norm of matrix difference, K-L divergence
13901
13937
  diagnostics.append([em_no, fp_display(arraysum(fit_ds)-arraysum(ds), 4), fp_display(fit_rss,5),
13902
13938
  fp_display(fit_aic,4), fp_display(fit_rmse,4), fp_display(frobnorm,4), fp_display(kl_div,3)])
13903
- if len(rmses) > 1:
13904
- rmse_diffs = [rmses[i] - rmses[i+1] for i in range(len(rmses)-1)]
13905
- sel_em = rmse_diffs.index(max(rmse_diffs))+2
13906
- if len(rmse_diffs) > 2:
13907
- rmse_diffs2 = [rmse_diffs[i] - rmse_diffs[i+1] for i in range(len(rmse_diffs)-1)]
13908
- sel_em2 = rmse_diffs2.index(max(rmse_diffs2))+2
13909
- if sel_em != max_ems-1:
13910
- sel_em = sel_em2
13911
- else:
13912
- sel_em = rmse_diffs.index(max(rmse_diffs))+2
13913
- self.em_var.set(sel_em)
13914
- sel_em_index = sel_em - 1
13939
+ if len(rmses) > 2:
13940
+ sel_em_index = elbow(rmses, frobs) - 1
13915
13941
  else:
13916
- self.em_var.set(1)
13917
- sel_em_index = 0
13942
+ sel_em_index = length(test_ems) - 1
13943
+ sel_em = test_ems[sel_em_index]
13944
+ self.em_var.set(sel_em)
13918
13945
  self.em_sel["values"] = test_ems
13919
13946
  self.em_sel["state"] = tk.NORMAL
13920
13947
  W, H = unmixes[sel_em_index]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapdata
3
- Version: 3.21.0
3
+ Version: 3.22.0
4
4
  Summary: An interactive map and table explorer for geographic coordinates in a spreadsheet, CSV file, or database that includes data plotting and statistical summaries
5
5
  Home-page: https:/hg.sr.ht/~rdnielsen/mapdata
6
6
  Author: Dreas Nielsen
@@ -1,4 +1,5 @@
1
1
  jenkspy
2
+ kneeliverse
2
3
  loess
3
4
  matplotlib
4
5
  odfpy
@@ -9,7 +9,7 @@ symbol_files = glob.glob("mapdata/symbols/16x16/*.xbm") + glob.glob("mapdata/sym
9
9
  glob.glob("mapdata/symbols/24x24/*.xbm") + glob.glob("mapdata/symbols/28x28/*.xbm")
10
10
 
11
11
  setuptools.setup(name='mapdata',
12
- version='3.21.0',
12
+ version='3.22.0',
13
13
  description="An interactive map and table explorer for geographic coordinates in a spreadsheet, CSV file, or database that includes data plotting and statistical summaries",
14
14
  author='Dreas Nielsen',
15
15
  author_email='cortice@tutanota.com',
@@ -18,7 +18,7 @@ setuptools.setup(name='mapdata',
18
18
  scripts=['mapdata/mapdata.py'],
19
19
  data_files=[('symbols', symbol_files), ('config', ['mapdata/configfile/mapdata.conf'])],
20
20
  license='GPL',
21
- install_requires=['tkintermapview', 'pyproj', 'jenkspy', 'odfpy', 'openpyxl', 'xlrd', 'matplotlib', 'seaborn', 'loess', 'statsmodels', 'scipy', 'scikit-learn', 'pymannkendall', 'umap-learn', 'pynndescent'],
21
+ install_requires=['tkintermapview', 'pyproj', 'jenkspy', 'odfpy', 'openpyxl', 'xlrd', 'matplotlib', 'seaborn', 'loess', 'statsmodels', 'scipy', 'scikit-learn', 'pymannkendall', 'umap-learn', 'pynndescent', 'kneeliverse'],
22
22
  python_requires = '>=3.8',
23
23
  classifiers=[
24
24
  'Development Status :: 5 - Production/Stable',
File without changes
File without changes
File without changes
File without changes