mapdata 3.6.1__tar.gz → 3.6.4__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.6.1/mapdata.egg-info → mapdata-3.6.4}/PKG-INFO +5 -1
  2. {mapdata-3.6.1 → mapdata-3.6.4}/README.md +4 -0
  3. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/mapdata.py +93 -89
  4. {mapdata-3.6.1 → mapdata-3.6.4/mapdata.egg-info}/PKG-INFO +5 -1
  5. {mapdata-3.6.1 → mapdata-3.6.4}/setup.py +1 -1
  6. {mapdata-3.6.1 → mapdata-3.6.4}/LICENSE.txt +0 -0
  7. {mapdata-3.6.1 → mapdata-3.6.4}/MANIFEST.in +0 -0
  8. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/configfile/mapdata.conf +0 -0
  9. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/0.xbm +0 -0
  10. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/1.xbm +0 -0
  11. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/2.xbm +0 -0
  12. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/3.xbm +0 -0
  13. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/4.xbm +0 -0
  14. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/5.xbm +0 -0
  15. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/6.xbm +0 -0
  16. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/7.xbm +0 -0
  17. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/8.xbm +0 -0
  18. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/9.xbm +0 -0
  19. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/A.xbm +0 -0
  20. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/B.xbm +0 -0
  21. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/C.xbm +0 -0
  22. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/D.xbm +0 -0
  23. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/E.xbm +0 -0
  24. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/F.xbm +0 -0
  25. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/G.xbm +0 -0
  26. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/H.xbm +0 -0
  27. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/I.xbm +0 -0
  28. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/J.xbm +0 -0
  29. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/K.xbm +0 -0
  30. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/L.xbm +0 -0
  31. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/M.xbm +0 -0
  32. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/N.xbm +0 -0
  33. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/O.xbm +0 -0
  34. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/P.xbm +0 -0
  35. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/Q.xbm +0 -0
  36. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/R.xbm +0 -0
  37. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/S.xbm +0 -0
  38. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/T.xbm +0 -0
  39. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/U.xbm +0 -0
  40. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/V.xbm +0 -0
  41. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/W.xbm +0 -0
  42. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/X.xbm +0 -0
  43. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/Y.xbm +0 -0
  44. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/Z.xbm +0 -0
  45. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/airplane.xbm +0 -0
  46. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/anchor.xbm +0 -0
  47. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/ball.xbm +0 -0
  48. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/ball_small.xbm +0 -0
  49. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/bar.xbm +0 -0
  50. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/bars.xbm +0 -0
  51. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/binoculars.xbm +0 -0
  52. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/bird.xbm +0 -0
  53. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/block.xbm +0 -0
  54. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/block_small.xbm +0 -0
  55. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/bookmark.xbm +0 -0
  56. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/box_stack.xbm +0 -0
  57. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/camera.xbm +0 -0
  58. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/cancel.xbm +0 -0
  59. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/car.xbm +0 -0
  60. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/car2.xbm +0 -0
  61. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/center8.xbm +0 -0
  62. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/check.xbm +0 -0
  63. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/check_circle.xbm +0 -0
  64. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/checkbox.xbm +0 -0
  65. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/checkerboard.xbm +0 -0
  66. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/chevrons.xbm +0 -0
  67. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/circle.xbm +0 -0
  68. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/circle_bar.xbm +0 -0
  69. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/circle_plus.xbm +0 -0
  70. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/circle_stipple.xbm +0 -0
  71. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/circle_triangle.xbm +0 -0
  72. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/circle_wedge.xbm +0 -0
  73. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/circle_x.xbm +0 -0
  74. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/clock.xbm +0 -0
  75. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/columns.xbm +0 -0
  76. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/contract.xbm +0 -0
  77. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/cross.xbm +0 -0
  78. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/darkeye.xbm +0 -0
  79. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/decrease.xbm +0 -0
  80. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/deposition.xbm +0 -0
  81. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/diag_ll.xbm +0 -0
  82. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/diag_lr.xbm +0 -0
  83. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/diag_ul.xbm +0 -0
  84. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/diag_ur.xbm +0 -0
  85. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/dialog.xbm +0 -0
  86. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/diamond.xbm +0 -0
  87. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/donkey.xbm +0 -0
  88. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/dot.xbm +0 -0
  89. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/down.xbm +0 -0
  90. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/drop.xbm +0 -0
  91. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/elephant.xbm +0 -0
  92. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/expand.xbm +0 -0
  93. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/eye.xbm +0 -0
  94. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/fire.xbm +0 -0
  95. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/fish.xbm +0 -0
  96. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/flag.xbm +0 -0
  97. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/flag2.xbm +0 -0
  98. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/four_arrows.xbm +0 -0
  99. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/graph.xbm +0 -0
  100. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/hand.xbm +0 -0
  101. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/hash.xbm +0 -0
  102. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/heart.xbm +0 -0
  103. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/hidden.xbm +0 -0
  104. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/hourglass.xbm +0 -0
  105. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/house.xbm +0 -0
  106. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/increase.xbm +0 -0
  107. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/info.xbm +0 -0
  108. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/leaf.xbm +0 -0
  109. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/left.xbm +0 -0
  110. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/lightbulb.xbm +0 -0
  111. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/lightning.xbm +0 -0
  112. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/lightning2.xbm +0 -0
  113. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/location_ptr.xbm +0 -0
  114. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/mine.xbm +0 -0
  115. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/nested_boxes.xbm +0 -0
  116. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/pennant.xbm +0 -0
  117. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/pennant2.xbm +0 -0
  118. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/people.xbm +0 -0
  119. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/person.xbm +0 -0
  120. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/person2.xbm +0 -0
  121. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/person3.xbm +0 -0
  122. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/phone.xbm +0 -0
  123. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/photo.xbm +0 -0
  124. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/picnic.xbm +0 -0
  125. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/plus.xbm +0 -0
  126. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/point_down.xbm +0 -0
  127. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/point_left.xbm +0 -0
  128. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/point_right.xbm +0 -0
  129. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/point_up.xbm +0 -0
  130. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/pointer_ne.xbm +0 -0
  131. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/pointer_nw.xbm +0 -0
  132. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/pointer_se.xbm +0 -0
  133. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/pointer_sw.xbm +0 -0
  134. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/puzzle.xbm +0 -0
  135. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q1.xbm +0 -0
  136. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q1_notch.xbm +0 -0
  137. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q2.xbm +0 -0
  138. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q2_notch.xbm +0 -0
  139. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q3.xbm +0 -0
  140. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q3_notch.xbm +0 -0
  141. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q4.xbm +0 -0
  142. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/q4_notch.xbm +0 -0
  143. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/qmark_circle.xbm +0 -0
  144. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/qmark_circle2.xbm +0 -0
  145. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/raincloud.xbm +0 -0
  146. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/right.xbm +0 -0
  147. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/rocket.xbm +0 -0
  148. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/rocket2.xbm +0 -0
  149. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/rose.xbm +0 -0
  150. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/rows.xbm +0 -0
  151. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/scales.xbm +0 -0
  152. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/search.xbm +0 -0
  153. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/search2.xbm +0 -0
  154. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/skull.xbm +0 -0
  155. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/square.xbm +0 -0
  156. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/star.xbm +0 -0
  157. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/stipple.xbm +0 -0
  158. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/stop.xbm +0 -0
  159. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/surprise_circle.xbm +0 -0
  160. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/swamp.xbm +0 -0
  161. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/target.xbm +0 -0
  162. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/target2.xbm +0 -0
  163. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/ten.xbm +0 -0
  164. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/trash.xbm +0 -0
  165. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/tree.xbm +0 -0
  166. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/tree2.xbm +0 -0
  167. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/tree3.xbm +0 -0
  168. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/triangle.xbm +0 -0
  169. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/triangle_open.xbm +0 -0
  170. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/triangle_sm.xbm +0 -0
  171. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/up.xbm +0 -0
  172. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/vapor.xbm +0 -0
  173. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/warning.xbm +0 -0
  174. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/wave.xbm +0 -0
  175. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/wave2.xbm +0 -0
  176. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/wave3.xbm +0 -0
  177. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/weather.xbm +0 -0
  178. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/wedge.xbm +0 -0
  179. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/wedge_sm.xbm +0 -0
  180. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/wedges_3.xbm +0 -0
  181. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/well.xbm +0 -0
  182. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/whale.xbm +0 -0
  183. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/whale2.xbm +0 -0
  184. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/wheelchair.xbm +0 -0
  185. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/zigzags.xbm +0 -0
  186. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/16x16/zigzags2.xbm +0 -0
  187. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/ball20.xbm +0 -0
  188. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/block20.xbm +0 -0
  189. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/circle20.xbm +0 -0
  190. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/q1_20.xbm +0 -0
  191. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/q2_20.xbm +0 -0
  192. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/q3_20.xbm +0 -0
  193. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/q4_20.xbm +0 -0
  194. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/20x20/square20.xbm +0 -0
  195. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/24x24/ball24.xbm +0 -0
  196. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/24x24/block24.xbm +0 -0
  197. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/24x24/circle24.xbm +0 -0
  198. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/24x24/square24.xbm +0 -0
  199. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/28x28/ball28.xbm +0 -0
  200. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/28x28/block28.xbm +0 -0
  201. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/28x28/circle28.xbm +0 -0
  202. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata/symbols/28x28/square28.xbm +0 -0
  203. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata.egg-info/SOURCES.txt +0 -0
  204. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata.egg-info/dependency_links.txt +0 -0
  205. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata.egg-info/requires.txt +0 -0
  206. {mapdata-3.6.1 → mapdata-3.6.4}/mapdata.egg-info/top_level.txt +0 -0
  207. {mapdata-3.6.1 → mapdata-3.6.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapdata
3
- Version: 3.6.1
3
+ Version: 3.6.4
4
4
  Summary: An interactive map and table explorer for geographic coordinates in a spreadsheet, CSV file, or database
5
5
  Home-page: https://osdn.net/project/mapdata/
6
6
  Author: Dreas Nielsen
@@ -134,6 +134,8 @@ A configuration file template and additional bitmap symbols are included with th
134
134
 
135
135
  * [pymannkendall](https://pypi.org/project/pymannkendall/)
136
136
 
137
+ * [pynndescent](https://pypi.org/project/pynndescent/)
138
+
137
139
  * [pyproj](https://pypi.org/project/pyproj/)
138
140
 
139
141
  * [scikit-learn](https://pypi.org/project/scikit-learn/)
@@ -146,6 +148,8 @@ A configuration file template and additional bitmap symbols are included with th
146
148
 
147
149
  * [tkintermapview](https://pypi.org/project/tkintermapview/)
148
150
 
151
+ * [umap-learn](https://pypi.org/project/umap-learn/)
152
+
149
153
  * [xlrd](https://pypi.org/project/xlrd/)
150
154
 
151
155
  If *mapdata.py* is used to query a database to obtain a data set to view and
@@ -92,6 +92,8 @@ A configuration file template and additional bitmap symbols are included with th
92
92
 
93
93
  * [pymannkendall](https://pypi.org/project/pymannkendall/)
94
94
 
95
+ * [pynndescent](https://pypi.org/project/pynndescent/)
96
+
95
97
  * [pyproj](https://pypi.org/project/pyproj/)
96
98
 
97
99
  * [scikit-learn](https://pypi.org/project/scikit-learn/)
@@ -104,6 +106,8 @@ A configuration file template and additional bitmap symbols are included with th
104
106
 
105
107
  * [tkintermapview](https://pypi.org/project/tkintermapview/)
106
108
 
109
+ * [umap-learn](https://pypi.org/project/umap-learn/)
110
+
107
111
  * [xlrd](https://pypi.org/project/xlrd/)
108
112
 
109
113
  If *mapdata.py* is used to query a database to obtain a data set to view and
@@ -24,8 +24,8 @@
24
24
  #
25
25
  # ==================================================================
26
26
 
27
- version = "3.6.1"
28
- vdate = "2024-04-23"
27
+ version = "3.6.4"
28
+ vdate = "2024-05-17"
29
29
 
30
30
  copyright = "2023-2024"
31
31
 
@@ -2170,7 +2170,7 @@ class MapUI(object):
2170
2170
  self.set_tbl_selectmode()
2171
2171
  self.set_status()
2172
2172
  # Add menu
2173
- self.add_menu(table_object = self.tbl, column_headers=headers)
2173
+ self.add_menu(table_object = self.tbl)
2174
2174
  self.map_widget.canvas.bind("<Control-ButtonRelease-1>", self.delete_selected)
2175
2175
  self.tbl.bind('<ButtonRelease-1>', self.mark_map)
2176
2176
  # Other key bindings
@@ -3290,7 +3290,7 @@ class MapUI(object):
3290
3290
  self.mark_map(None)
3291
3291
  self.set_status()
3292
3292
 
3293
- def add_menu(self, table_object, column_headers):
3293
+ def add_menu(self, table_object):
3294
3294
  mnu = tk.Menu(self.win)
3295
3295
  self.win.config(menu=mnu)
3296
3296
  file_menu = tk.Menu(mnu, tearoff=0)
@@ -3312,7 +3312,7 @@ class MapUI(object):
3312
3312
  rowset = []
3313
3313
  for sel_row in table_object.selection():
3314
3314
  rowset.append(table_object.item(sel_row)["values"])
3315
- export_data_table(column_headers, rowset, sheetname="Selected map items")
3315
+ export_data_table(self.headers, rowset, sheetname="Selected map items")
3316
3316
  def save_map():
3317
3317
  outfile = tkfiledialog.asksaveasfilename(title="File to save map",
3318
3318
  filetypes=[('Postscript files', '.ps'), ('JPEG files', '.jpg'), ('PNG files', '.png')],
@@ -8552,6 +8552,8 @@ class UMAPDialog(object):
8552
8552
  self.data_labels = None
8553
8553
  self.data_btn["state"] = tk.DISABLED
8554
8554
  self.calc_btn["state"] = tk.DISABLED
8555
+ self.loading_dlg.hide()
8556
+ warning("The dataset must have at least 6 rows for UMAP analysis", {'parent':self.dlg})
8555
8557
  else:
8556
8558
  # UMAP can operate on sparse arrays, so there's no need to remove missing data
8557
8559
  clean_data = dataset
@@ -8582,90 +8584,91 @@ class UMAPDialog(object):
8582
8584
  from sklearn.preprocessing import StandardScaler
8583
8585
  self.clear_output()
8584
8586
  self.get_data()
8585
- # Check to see if this is a sparse matrix
8586
- is_sparse = False
8587
- for col in range(self.n_dataset_columns):
8588
- if any([x is None or x == 0.0 for x in self.dataset[col]]):
8589
- is_sparse = True
8590
- break
8591
- ds = copy.copy(self.dataset[0:self.n_dataset_columns])
8592
- if is_sparse:
8593
- # Replace all None with 0
8594
- for col in range(len(ds)):
8595
- ds[col] = [0.0 if x is None else x for x in ds[col]]
8596
- dsa = np.array(columns_to_rows(ds), dtype=float)
8597
- if is_sparse:
8598
- # Convert to a LIL array
8599
- dsm = sparse.lil_matrix(dsa)
8600
- # Normalize the variables
8601
- inp_data = StandardScaler(with_mean=False).fit_transform(dsm)
8602
- else:
8603
- # Normalize the variables
8604
- inp_data = StandardScaler().fit_transform(dsa)
8605
- reducer = umap.UMAP(n_neighbors=min(self.neighbors_var.get(), len(self.dataset[0])-1), min_dist=self.mindist_var.get(), n_components=2,
8606
- metric=self.metric_var.get())
8607
- umap_result = reducer.fit_transform(inp_data)
8608
- self.umap_coords = [umap_result[:,0], umap_result[:,1]]
8609
- self.umap_labels = ["Dimension 1", "Dimension 2"]
8610
- self.dtable_btn["state"] = tk.NORMAL
8611
- # Single or grouped scatter plot
8612
- if self.groupby_col is None:
8613
- splot = self.plot_axes.scatter(self.umap_coords[0], self.umap_coords[1], alpha=self.alpha)
8614
- self.plot_handle_list = []
8615
- self.plot_label_list = []
8616
- else:
8617
- groups = sorted([str(x) for x in list(set(self.dataset[self.groupby_col-1]))])
8618
- cmap = map_colors(groups)
8619
- colors = [cmap[str(g)] for g in self.dataset[self.groupby_col-1]]
8620
- splot = self.plot_axes.scatter(self.umap_coords[0], self.umap_coords[1], c=colors, alpha=self.alpha)
8621
- # Custom legend handle for grouped scatter plot
8622
- lbls = list(cmap.keys())
8623
- if wrap_at_underscores:
8624
- lbls = [l.replace("_", " ") for l in lbls]
8625
- lbls = ["\n".join(textwrap.wrap(l, width=wrapwidth)) for l in lbls]
8626
- colkey = list(cmap.values())
8627
- symbs = [matplotlib.lines.Line2D([], [], marker='o', color=colkey[i], label=lbls[i], linestyle='None') for i in range(len(lbls))]
8628
- self.plot_handle_list = symbs
8629
- self.plot_label_list = lbls
8630
- # Hover annotation
8631
- def update_annot(ind):
8632
- pos = splot.get_offsets()[ind["ind"][0]]
8633
- self.annot.xy = pos
8634
- text = ", ".join([str(self.dataset[self.label_col-1][n]) for n in ind["ind"]])
8635
- self.annot.set_text(text)
8636
- self.annot.get_bbox_patch().set_facecolor("wheat")
8637
- self.annot.get_bbox_patch().set_alpha(0.8)
8638
- def hover(event):
8639
- vis = self.annot.get_visible()
8640
- if event.inaxes == self.plot_axes:
8641
- cont, ind = splot.contains(event)
8642
- if cont:
8643
- update_annot(ind)
8644
- self.annot.set_visible(True)
8645
- else:
8646
- if vis:
8647
- self.annot.set_visible(False)
8648
- self.plotfig_canvas.draw_idle()
8649
- if self.label_col is not None:
8650
- self.annot = self.plot_axes.annotate("", xy=(0,0), xytext=(8,12), textcoords="offset points", \
8651
- bbox={"boxstyle": "round", "fc": "w"}, arrowprops={"arrowstyle": "->"})
8652
- self.annot.set_visible(False)
8653
- self.canvas_conn_id = self.plotfig_canvas.mpl_connect("motion_notify_event", hover)
8654
- else:
8655
- if self.canvas_conn_id is not None:
8656
- self.plotfig_canvas.mpl_disconnect(self.canvas_conn_id)
8657
- # Legend
8658
- if len(self.plot_handle_list) > 0:
8659
- self.plot_axes.legend(handles=self.plot_handle_list, labels=self.plot_label_list)
8660
-
8661
- self.plot_axes.set_xlabel(self.umap_labels[0])
8662
- self.plot_axes.set_ylabel(self.umap_labels[1])
8663
- self.plotfig_canvas.draw()
8664
- self.plot_nav.update()
8665
- self.dlg.bind("<Alt-a>", self.set_alpha)
8666
- self.cluster_btn["state"] = tk.NORMAL
8667
- self.clust_save_btn["state"] = tk.DISABLED
8668
- self.loading_dlg.hide()
8587
+ if self.dataset is not None:
8588
+ # Check to see if this is a sparse matrix
8589
+ is_sparse = False
8590
+ for col in range(self.n_dataset_columns):
8591
+ if any([x is None or x == 0.0 for x in self.dataset[col]]):
8592
+ is_sparse = True
8593
+ break
8594
+ ds = copy.copy(self.dataset[0:self.n_dataset_columns])
8595
+ if is_sparse:
8596
+ # Replace all None with 0
8597
+ for col in range(len(ds)):
8598
+ ds[col] = [0.0 if x is None else x for x in ds[col]]
8599
+ dsa = np.array(columns_to_rows(ds), dtype=float)
8600
+ if is_sparse:
8601
+ # Convert to a LIL array
8602
+ dsm = sparse.lil_matrix(dsa)
8603
+ # Normalize the variables
8604
+ inp_data = StandardScaler(with_mean=False).fit_transform(dsm)
8605
+ else:
8606
+ # Normalize the variables
8607
+ inp_data = StandardScaler().fit_transform(dsa)
8608
+ reducer = umap.UMAP(n_neighbors=min(self.neighbors_var.get(), len(self.dataset[0])-1), min_dist=self.mindist_var.get(), n_components=2,
8609
+ metric=self.metric_var.get())
8610
+ umap_result = reducer.fit_transform(inp_data)
8611
+ self.umap_coords = [umap_result[:,0], umap_result[:,1]]
8612
+ self.umap_labels = ["Dimension 1", "Dimension 2"]
8613
+ self.dtable_btn["state"] = tk.NORMAL
8614
+ # Single or grouped scatter plot
8615
+ if self.groupby_col is None:
8616
+ splot = self.plot_axes.scatter(self.umap_coords[0], self.umap_coords[1], alpha=self.alpha)
8617
+ self.plot_handle_list = []
8618
+ self.plot_label_list = []
8619
+ else:
8620
+ groups = sorted([str(x) for x in list(set(self.dataset[self.groupby_col-1]))])
8621
+ cmap = map_colors(groups)
8622
+ colors = [cmap[str(g)] for g in self.dataset[self.groupby_col-1]]
8623
+ splot = self.plot_axes.scatter(self.umap_coords[0], self.umap_coords[1], c=colors, alpha=self.alpha)
8624
+ # Custom legend handle for grouped scatter plot
8625
+ lbls = list(cmap.keys())
8626
+ if wrap_at_underscores:
8627
+ lbls = [l.replace("_", " ") for l in lbls]
8628
+ lbls = ["\n".join(textwrap.wrap(l, width=wrapwidth)) for l in lbls]
8629
+ colkey = list(cmap.values())
8630
+ symbs = [matplotlib.lines.Line2D([], [], marker='o', color=colkey[i], label=lbls[i], linestyle='None') for i in range(len(lbls))]
8631
+ self.plot_handle_list = symbs
8632
+ self.plot_label_list = lbls
8633
+ # Hover annotation
8634
+ def update_annot(ind):
8635
+ pos = splot.get_offsets()[ind["ind"][0]]
8636
+ self.annot.xy = pos
8637
+ text = ", ".join([str(self.dataset[self.label_col-1][n]) for n in ind["ind"]])
8638
+ self.annot.set_text(text)
8639
+ self.annot.get_bbox_patch().set_facecolor("wheat")
8640
+ self.annot.get_bbox_patch().set_alpha(0.8)
8641
+ def hover(event):
8642
+ vis = self.annot.get_visible()
8643
+ if event.inaxes == self.plot_axes:
8644
+ cont, ind = splot.contains(event)
8645
+ if cont:
8646
+ update_annot(ind)
8647
+ self.annot.set_visible(True)
8648
+ else:
8649
+ if vis:
8650
+ self.annot.set_visible(False)
8651
+ self.plotfig_canvas.draw_idle()
8652
+ if self.label_col is not None:
8653
+ self.annot = self.plot_axes.annotate("", xy=(0,0), xytext=(8,12), textcoords="offset points", \
8654
+ bbox={"boxstyle": "round", "fc": "w"}, arrowprops={"arrowstyle": "->"})
8655
+ self.annot.set_visible(False)
8656
+ self.canvas_conn_id = self.plotfig_canvas.mpl_connect("motion_notify_event", hover)
8657
+ else:
8658
+ if self.canvas_conn_id is not None:
8659
+ self.plotfig_canvas.mpl_disconnect(self.canvas_conn_id)
8660
+ # Legend
8661
+ if len(self.plot_handle_list) > 0:
8662
+ self.plot_axes.legend(handles=self.plot_handle_list, labels=self.plot_label_list)
8663
+
8664
+ self.plot_axes.set_xlabel(self.umap_labels[0])
8665
+ self.plot_axes.set_ylabel(self.umap_labels[1])
8666
+ self.plotfig_canvas.draw()
8667
+ self.plot_nav.update()
8668
+ self.dlg.bind("<Alt-a>", self.set_alpha)
8669
+ self.cluster_btn["state"] = tk.NORMAL
8670
+ self.clust_save_btn["state"] = tk.DISABLED
8671
+ self.loading_dlg.hide()
8669
8672
 
8670
8673
  def kclusters(self):
8671
8674
  # Compute and display k-means clusters
@@ -9088,6 +9091,7 @@ class FitDistDialog(object):
9088
9091
  fit_pdf = fitter.pdf(self.dataset[0], *fitres) * N
9089
9092
  sse = sum([(fit_pdf[i] - self.dataset[0][i])**2 for i in range(N)])
9090
9093
  self.statdata.append(["SSE", fp_display(sse, figs=5)])
9094
+ self.statdata.append(["RMSE", fp_display(math.sqrt(sse/N))])
9091
9095
  gf_args = dict(zip(argnames, fitres))
9092
9096
  gf_succeeded = False
9093
9097
  gf_statname = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapdata
3
- Version: 3.6.1
3
+ Version: 3.6.4
4
4
  Summary: An interactive map and table explorer for geographic coordinates in a spreadsheet, CSV file, or database
5
5
  Home-page: https://osdn.net/project/mapdata/
6
6
  Author: Dreas Nielsen
@@ -134,6 +134,8 @@ A configuration file template and additional bitmap symbols are included with th
134
134
 
135
135
  * [pymannkendall](https://pypi.org/project/pymannkendall/)
136
136
 
137
+ * [pynndescent](https://pypi.org/project/pynndescent/)
138
+
137
139
  * [pyproj](https://pypi.org/project/pyproj/)
138
140
 
139
141
  * [scikit-learn](https://pypi.org/project/scikit-learn/)
@@ -146,6 +148,8 @@ A configuration file template and additional bitmap symbols are included with th
146
148
 
147
149
  * [tkintermapview](https://pypi.org/project/tkintermapview/)
148
150
 
151
+ * [umap-learn](https://pypi.org/project/umap-learn/)
152
+
149
153
  * [xlrd](https://pypi.org/project/xlrd/)
150
154
 
151
155
  If *mapdata.py* is used to query a database to obtain a data set to view and
@@ -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.6.1',
12
+ version='3.6.4',
13
13
  description="An interactive map and table explorer for geographic coordinates in a spreadsheet, CSV file, or database",
14
14
  author='Dreas Nielsen',
15
15
  author_email='cortice@tutanota.com',
File without changes
File without changes
File without changes