mapdata 2.20.0__tar.gz → 3.0.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 (210) hide show
  1. {mapdata-2.20.0/mapdata.egg-info → mapdata-3.0.0}/PKG-INFO +24 -14
  2. {mapdata-2.20.0 → mapdata-3.0.0}/README.md +21 -12
  3. mapdata-3.0.0/mapdata/configfile/mapdata.conf +196 -0
  4. {mapdata-2.20.0 → mapdata-3.0.0}/mapdata/mapdata.py +3202 -952
  5. mapdata-3.0.0/mapdata/symbols/16x16/0.xbm +6 -0
  6. mapdata-3.0.0/mapdata/symbols/16x16/1.xbm +6 -0
  7. mapdata-3.0.0/mapdata/symbols/16x16/2.xbm +6 -0
  8. mapdata-3.0.0/mapdata/symbols/16x16/3.xbm +6 -0
  9. mapdata-3.0.0/mapdata/symbols/16x16/4.xbm +6 -0
  10. mapdata-3.0.0/mapdata/symbols/16x16/5.xbm +6 -0
  11. mapdata-3.0.0/mapdata/symbols/16x16/6.xbm +6 -0
  12. mapdata-3.0.0/mapdata/symbols/16x16/7.xbm +6 -0
  13. mapdata-3.0.0/mapdata/symbols/16x16/8.xbm +6 -0
  14. mapdata-3.0.0/mapdata/symbols/16x16/9.xbm +6 -0
  15. mapdata-3.0.0/mapdata/symbols/16x16/A.xbm +6 -0
  16. mapdata-3.0.0/mapdata/symbols/16x16/B.xbm +6 -0
  17. mapdata-3.0.0/mapdata/symbols/16x16/C.xbm +6 -0
  18. mapdata-3.0.0/mapdata/symbols/16x16/D.xbm +6 -0
  19. mapdata-3.0.0/mapdata/symbols/16x16/E.xbm +6 -0
  20. mapdata-3.0.0/mapdata/symbols/16x16/F.xbm +6 -0
  21. mapdata-3.0.0/mapdata/symbols/16x16/G.xbm +6 -0
  22. mapdata-3.0.0/mapdata/symbols/16x16/H.xbm +6 -0
  23. mapdata-3.0.0/mapdata/symbols/16x16/I.xbm +6 -0
  24. mapdata-3.0.0/mapdata/symbols/16x16/J.xbm +6 -0
  25. mapdata-3.0.0/mapdata/symbols/16x16/K.xbm +6 -0
  26. mapdata-3.0.0/mapdata/symbols/16x16/L.xbm +6 -0
  27. mapdata-3.0.0/mapdata/symbols/16x16/M.xbm +6 -0
  28. mapdata-3.0.0/mapdata/symbols/16x16/N.xbm +6 -0
  29. mapdata-3.0.0/mapdata/symbols/16x16/O.xbm +6 -0
  30. mapdata-3.0.0/mapdata/symbols/16x16/P.xbm +6 -0
  31. mapdata-3.0.0/mapdata/symbols/16x16/Q.xbm +6 -0
  32. mapdata-3.0.0/mapdata/symbols/16x16/R.xbm +6 -0
  33. mapdata-3.0.0/mapdata/symbols/16x16/S.xbm +6 -0
  34. mapdata-3.0.0/mapdata/symbols/16x16/T.xbm +6 -0
  35. mapdata-3.0.0/mapdata/symbols/16x16/U.xbm +6 -0
  36. mapdata-3.0.0/mapdata/symbols/16x16/V.xbm +6 -0
  37. mapdata-3.0.0/mapdata/symbols/16x16/W.xbm +6 -0
  38. mapdata-3.0.0/mapdata/symbols/16x16/X.xbm +6 -0
  39. mapdata-3.0.0/mapdata/symbols/16x16/Y.xbm +6 -0
  40. mapdata-3.0.0/mapdata/symbols/16x16/Z.xbm +6 -0
  41. mapdata-3.0.0/mapdata/symbols/16x16/airplane.xbm +6 -0
  42. mapdata-3.0.0/mapdata/symbols/16x16/anchor.xbm +6 -0
  43. mapdata-3.0.0/mapdata/symbols/16x16/ball.xbm +6 -0
  44. mapdata-3.0.0/mapdata/symbols/16x16/ball_small.xbm +6 -0
  45. mapdata-3.0.0/mapdata/symbols/16x16/bar.xbm +6 -0
  46. mapdata-3.0.0/mapdata/symbols/16x16/bars.xbm +6 -0
  47. mapdata-3.0.0/mapdata/symbols/16x16/binoculars.xbm +6 -0
  48. mapdata-3.0.0/mapdata/symbols/16x16/bird.xbm +6 -0
  49. mapdata-3.0.0/mapdata/symbols/16x16/block.xbm +6 -0
  50. mapdata-3.0.0/mapdata/symbols/16x16/block_small.xbm +6 -0
  51. mapdata-3.0.0/mapdata/symbols/16x16/bookmark.xbm +6 -0
  52. mapdata-3.0.0/mapdata/symbols/16x16/box_stack.xbm +6 -0
  53. mapdata-3.0.0/mapdata/symbols/16x16/camera.xbm +6 -0
  54. mapdata-3.0.0/mapdata/symbols/16x16/cancel.xbm +6 -0
  55. mapdata-3.0.0/mapdata/symbols/16x16/car.xbm +6 -0
  56. mapdata-3.0.0/mapdata/symbols/16x16/car2.xbm +6 -0
  57. mapdata-3.0.0/mapdata/symbols/16x16/center8.xbm +6 -0
  58. mapdata-3.0.0/mapdata/symbols/16x16/check.xbm +6 -0
  59. mapdata-3.0.0/mapdata/symbols/16x16/check_circle.xbm +6 -0
  60. mapdata-3.0.0/mapdata/symbols/16x16/checkbox.xbm +6 -0
  61. mapdata-3.0.0/mapdata/symbols/16x16/checkerboard.xbm +6 -0
  62. mapdata-3.0.0/mapdata/symbols/16x16/chevrons.xbm +6 -0
  63. mapdata-3.0.0/mapdata/symbols/16x16/circle.xbm +6 -0
  64. mapdata-3.0.0/mapdata/symbols/16x16/circle_bar.xbm +6 -0
  65. mapdata-3.0.0/mapdata/symbols/16x16/circle_plus.xbm +6 -0
  66. mapdata-3.0.0/mapdata/symbols/16x16/circle_stipple.xbm +6 -0
  67. mapdata-3.0.0/mapdata/symbols/16x16/circle_triangle.xbm +6 -0
  68. mapdata-3.0.0/mapdata/symbols/16x16/circle_wedge.xbm +6 -0
  69. mapdata-3.0.0/mapdata/symbols/16x16/circle_x.xbm +6 -0
  70. mapdata-3.0.0/mapdata/symbols/16x16/clock.xbm +6 -0
  71. mapdata-3.0.0/mapdata/symbols/16x16/columns.xbm +6 -0
  72. mapdata-3.0.0/mapdata/symbols/16x16/contract.xbm +6 -0
  73. mapdata-3.0.0/mapdata/symbols/16x16/cross.xbm +6 -0
  74. mapdata-3.0.0/mapdata/symbols/16x16/darkeye.xbm +6 -0
  75. mapdata-3.0.0/mapdata/symbols/16x16/decrease.xbm +6 -0
  76. mapdata-3.0.0/mapdata/symbols/16x16/deposition.xbm +6 -0
  77. mapdata-3.0.0/mapdata/symbols/16x16/diag_ll.xbm +6 -0
  78. mapdata-3.0.0/mapdata/symbols/16x16/diag_lr.xbm +6 -0
  79. mapdata-3.0.0/mapdata/symbols/16x16/diag_ul.xbm +6 -0
  80. mapdata-3.0.0/mapdata/symbols/16x16/diag_ur.xbm +6 -0
  81. mapdata-3.0.0/mapdata/symbols/16x16/dialog.xbm +6 -0
  82. mapdata-3.0.0/mapdata/symbols/16x16/diamond.xbm +6 -0
  83. mapdata-3.0.0/mapdata/symbols/16x16/donkey.xbm +6 -0
  84. mapdata-3.0.0/mapdata/symbols/16x16/dot.xbm +6 -0
  85. mapdata-3.0.0/mapdata/symbols/16x16/down.xbm +6 -0
  86. mapdata-3.0.0/mapdata/symbols/16x16/drop.xbm +6 -0
  87. mapdata-3.0.0/mapdata/symbols/16x16/elephant.xbm +6 -0
  88. mapdata-3.0.0/mapdata/symbols/16x16/expand.xbm +6 -0
  89. mapdata-3.0.0/mapdata/symbols/16x16/eye.xbm +6 -0
  90. mapdata-3.0.0/mapdata/symbols/16x16/fire.xbm +6 -0
  91. mapdata-3.0.0/mapdata/symbols/16x16/fish.xbm +6 -0
  92. mapdata-3.0.0/mapdata/symbols/16x16/flag.xbm +6 -0
  93. mapdata-3.0.0/mapdata/symbols/16x16/flag2.xbm +6 -0
  94. mapdata-3.0.0/mapdata/symbols/16x16/four_arrows.xbm +6 -0
  95. mapdata-3.0.0/mapdata/symbols/16x16/graph.xbm +6 -0
  96. mapdata-3.0.0/mapdata/symbols/16x16/hand.xbm +6 -0
  97. mapdata-3.0.0/mapdata/symbols/16x16/hash.xbm +6 -0
  98. mapdata-3.0.0/mapdata/symbols/16x16/heart.xbm +6 -0
  99. mapdata-3.0.0/mapdata/symbols/16x16/hidden.xbm +6 -0
  100. mapdata-3.0.0/mapdata/symbols/16x16/hourglass.xbm +6 -0
  101. mapdata-3.0.0/mapdata/symbols/16x16/house.xbm +6 -0
  102. mapdata-3.0.0/mapdata/symbols/16x16/increase.xbm +6 -0
  103. mapdata-3.0.0/mapdata/symbols/16x16/info.xbm +6 -0
  104. mapdata-3.0.0/mapdata/symbols/16x16/leaf.xbm +6 -0
  105. mapdata-3.0.0/mapdata/symbols/16x16/left.xbm +6 -0
  106. mapdata-3.0.0/mapdata/symbols/16x16/lightbulb.xbm +6 -0
  107. mapdata-3.0.0/mapdata/symbols/16x16/lightning.xbm +6 -0
  108. mapdata-3.0.0/mapdata/symbols/16x16/lightning2.xbm +6 -0
  109. mapdata-3.0.0/mapdata/symbols/16x16/location_ptr.xbm +6 -0
  110. mapdata-3.0.0/mapdata/symbols/16x16/mine.xbm +6 -0
  111. mapdata-3.0.0/mapdata/symbols/16x16/nested_boxes.xbm +6 -0
  112. mapdata-3.0.0/mapdata/symbols/16x16/pennant.xbm +6 -0
  113. mapdata-3.0.0/mapdata/symbols/16x16/pennant2.xbm +6 -0
  114. mapdata-3.0.0/mapdata/symbols/16x16/people.xbm +6 -0
  115. mapdata-3.0.0/mapdata/symbols/16x16/person.xbm +6 -0
  116. mapdata-3.0.0/mapdata/symbols/16x16/person2.xbm +6 -0
  117. mapdata-3.0.0/mapdata/symbols/16x16/person3.xbm +6 -0
  118. mapdata-3.0.0/mapdata/symbols/16x16/phone.xbm +6 -0
  119. mapdata-3.0.0/mapdata/symbols/16x16/photo.xbm +6 -0
  120. mapdata-3.0.0/mapdata/symbols/16x16/picnic.xbm +6 -0
  121. mapdata-3.0.0/mapdata/symbols/16x16/plus.xbm +6 -0
  122. mapdata-3.0.0/mapdata/symbols/16x16/point_down.xbm +8 -0
  123. mapdata-3.0.0/mapdata/symbols/16x16/point_left.xbm +8 -0
  124. mapdata-3.0.0/mapdata/symbols/16x16/point_right.xbm +8 -0
  125. mapdata-3.0.0/mapdata/symbols/16x16/point_up.xbm +8 -0
  126. mapdata-3.0.0/mapdata/symbols/16x16/pointer_ne.xbm +8 -0
  127. mapdata-3.0.0/mapdata/symbols/16x16/pointer_nw.xbm +8 -0
  128. mapdata-3.0.0/mapdata/symbols/16x16/pointer_se.xbm +8 -0
  129. mapdata-3.0.0/mapdata/symbols/16x16/pointer_sw.xbm +8 -0
  130. mapdata-3.0.0/mapdata/symbols/16x16/puzzle.xbm +6 -0
  131. mapdata-3.0.0/mapdata/symbols/16x16/q1.xbm +6 -0
  132. mapdata-3.0.0/mapdata/symbols/16x16/q1_notch.xbm +6 -0
  133. mapdata-3.0.0/mapdata/symbols/16x16/q2.xbm +6 -0
  134. mapdata-3.0.0/mapdata/symbols/16x16/q2_notch.xbm +6 -0
  135. mapdata-3.0.0/mapdata/symbols/16x16/q3.xbm +6 -0
  136. mapdata-3.0.0/mapdata/symbols/16x16/q3_notch.xbm +6 -0
  137. mapdata-3.0.0/mapdata/symbols/16x16/q4.xbm +6 -0
  138. mapdata-3.0.0/mapdata/symbols/16x16/q4_notch.xbm +6 -0
  139. mapdata-3.0.0/mapdata/symbols/16x16/qmark_circle.xbm +6 -0
  140. mapdata-3.0.0/mapdata/symbols/16x16/qmark_circle2.xbm +6 -0
  141. mapdata-3.0.0/mapdata/symbols/16x16/raincloud.xbm +6 -0
  142. mapdata-3.0.0/mapdata/symbols/16x16/right.xbm +6 -0
  143. mapdata-3.0.0/mapdata/symbols/16x16/rocket.xbm +6 -0
  144. mapdata-3.0.0/mapdata/symbols/16x16/rocket2.xbm +6 -0
  145. mapdata-3.0.0/mapdata/symbols/16x16/rose.xbm +6 -0
  146. mapdata-3.0.0/mapdata/symbols/16x16/rows.xbm +6 -0
  147. mapdata-3.0.0/mapdata/symbols/16x16/scales.xbm +6 -0
  148. mapdata-3.0.0/mapdata/symbols/16x16/search.xbm +6 -0
  149. mapdata-3.0.0/mapdata/symbols/16x16/search2.xbm +6 -0
  150. mapdata-3.0.0/mapdata/symbols/16x16/skull.xbm +6 -0
  151. mapdata-3.0.0/mapdata/symbols/16x16/square.xbm +6 -0
  152. mapdata-3.0.0/mapdata/symbols/16x16/star.xbm +6 -0
  153. mapdata-3.0.0/mapdata/symbols/16x16/stipple.xbm +6 -0
  154. mapdata-3.0.0/mapdata/symbols/16x16/stop.xbm +6 -0
  155. mapdata-3.0.0/mapdata/symbols/16x16/surprise_circle.xbm +6 -0
  156. mapdata-3.0.0/mapdata/symbols/16x16/swamp.xbm +6 -0
  157. mapdata-3.0.0/mapdata/symbols/16x16/target.xbm +6 -0
  158. mapdata-3.0.0/mapdata/symbols/16x16/target2.xbm +6 -0
  159. mapdata-3.0.0/mapdata/symbols/16x16/ten.xbm +6 -0
  160. mapdata-3.0.0/mapdata/symbols/16x16/trash.xbm +6 -0
  161. mapdata-3.0.0/mapdata/symbols/16x16/tree.xbm +6 -0
  162. mapdata-3.0.0/mapdata/symbols/16x16/tree2.xbm +6 -0
  163. mapdata-3.0.0/mapdata/symbols/16x16/tree3.xbm +6 -0
  164. mapdata-3.0.0/mapdata/symbols/16x16/triangle.xbm +6 -0
  165. mapdata-3.0.0/mapdata/symbols/16x16/triangle_open.xbm +6 -0
  166. mapdata-3.0.0/mapdata/symbols/16x16/triangle_sm.xbm +6 -0
  167. mapdata-3.0.0/mapdata/symbols/16x16/up.xbm +6 -0
  168. mapdata-3.0.0/mapdata/symbols/16x16/vapor.xbm +6 -0
  169. mapdata-3.0.0/mapdata/symbols/16x16/warning.xbm +6 -0
  170. mapdata-3.0.0/mapdata/symbols/16x16/wave.xbm +6 -0
  171. mapdata-3.0.0/mapdata/symbols/16x16/wave2.xbm +6 -0
  172. mapdata-3.0.0/mapdata/symbols/16x16/wave3.xbm +6 -0
  173. mapdata-3.0.0/mapdata/symbols/16x16/weather.xbm +6 -0
  174. mapdata-3.0.0/mapdata/symbols/16x16/wedge.xbm +6 -0
  175. mapdata-3.0.0/mapdata/symbols/16x16/wedge_sm.xbm +6 -0
  176. mapdata-3.0.0/mapdata/symbols/16x16/wedges_3.xbm +6 -0
  177. mapdata-3.0.0/mapdata/symbols/16x16/well.xbm +6 -0
  178. mapdata-3.0.0/mapdata/symbols/16x16/whale.xbm +6 -0
  179. mapdata-3.0.0/mapdata/symbols/16x16/whale2.xbm +6 -0
  180. mapdata-3.0.0/mapdata/symbols/16x16/wheelchair.xbm +6 -0
  181. mapdata-3.0.0/mapdata/symbols/16x16/zigzags.xbm +6 -0
  182. mapdata-3.0.0/mapdata/symbols/16x16/zigzags2.xbm +6 -0
  183. mapdata-3.0.0/mapdata/symbols/20x20/ball20.xbm +8 -0
  184. mapdata-3.0.0/mapdata/symbols/20x20/block20.xbm +8 -0
  185. mapdata-3.0.0/mapdata/symbols/20x20/circle20.xbm +8 -0
  186. mapdata-3.0.0/mapdata/symbols/20x20/q1_20.xbm +8 -0
  187. mapdata-3.0.0/mapdata/symbols/20x20/q2_20.xbm +8 -0
  188. mapdata-3.0.0/mapdata/symbols/20x20/q3_20.xbm +8 -0
  189. mapdata-3.0.0/mapdata/symbols/20x20/q4_20.xbm +8 -0
  190. mapdata-3.0.0/mapdata/symbols/20x20/square20.xbm +8 -0
  191. mapdata-3.0.0/mapdata/symbols/24x24/ball24.xbm +9 -0
  192. mapdata-3.0.0/mapdata/symbols/24x24/block24.xbm +9 -0
  193. mapdata-3.0.0/mapdata/symbols/24x24/circle24.xbm +9 -0
  194. mapdata-3.0.0/mapdata/symbols/24x24/square24.xbm +9 -0
  195. mapdata-3.0.0/mapdata/symbols/28x28/ball28.xbm +13 -0
  196. mapdata-3.0.0/mapdata/symbols/28x28/block28.xbm +13 -0
  197. mapdata-3.0.0/mapdata/symbols/28x28/circle28.xbm +13 -0
  198. mapdata-3.0.0/mapdata/symbols/28x28/square28.xbm +13 -0
  199. {mapdata-2.20.0 → mapdata-3.0.0/mapdata.egg-info}/PKG-INFO +24 -14
  200. mapdata-3.0.0/mapdata.egg-info/SOURCES.txt +205 -0
  201. {mapdata-2.20.0 → mapdata-3.0.0}/mapdata.egg-info/requires.txt +1 -0
  202. {mapdata-2.20.0 → mapdata-3.0.0}/setup.py +8 -3
  203. mapdata-2.20.0/mapdata/mapdata_2.py +0 -170
  204. mapdata-2.20.0/mapdata/mapdata_cli.py +0 -227
  205. mapdata-2.20.0/mapdata.egg-info/SOURCES.txt +0 -12
  206. {mapdata-2.20.0 → mapdata-3.0.0}/LICENSE.txt +0 -0
  207. {mapdata-2.20.0 → mapdata-3.0.0}/MANIFEST.in +0 -0
  208. {mapdata-2.20.0 → mapdata-3.0.0}/mapdata.egg-info/dependency_links.txt +0 -0
  209. {mapdata-2.20.0 → mapdata-3.0.0}/mapdata.egg-info/top_level.txt +0 -0
  210. {mapdata-2.20.0 → mapdata-3.0.0}/setup.cfg +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mapdata
3
- Version: 2.20.0
3
+ Version: 3.0.0
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
7
- Author-email: cortice@tutanota.com.com
7
+ Author-email: cortice@tutanota.com
8
8
  License: GPL
9
9
  Keywords: Map,Locations,CRS,CSV,Spreadsheet,Database,PNG,JPG,Postscript
10
10
  Classifier: Development Status :: 5 - Production/Stable
@@ -35,17 +35,14 @@ Requires-Dist: seaborn
35
35
  Requires-Dist: loess
36
36
  Requires-Dist: statsmodels
37
37
  Requires-Dist: scipy
38
+ Requires-Dist: pymannkendall
38
39
 
39
40
 
40
- *mapdata.py* is a viewer for geographic coordinate data read from a CSV file, spreadsheet,
41
- or database. Both a map and a data
42
- table are displayed. When a location is selected on the map, the same location is highlighted in the
43
- table, and *vice-versa*. Single or multiple selections may be enabled. Locations may also
44
- be selected and highlighted by writing a query expression to select rows of the data table.
41
+ *mapdata.py* is a data explorer for data sets containing geographic coordinates. Data can be read from a CSV file, spreadsheet, or database. Both a map and a data
42
+ table are displayed. When a location is selected on the map, the same location is highlighted in the table, and *vice-versa*. Single or multiple selections may be enabled. Locations may also be selected and highlighted by writing a query expression to select rows of the data table.
45
43
 
46
44
  ![example map](https://mapdata.readthedocs.io/en/latest/_images/UI_CSOs_1.png)
47
- Coordinates should be in decimal degrees, in WGS84 (coordinate reference system [CRS] 4326), however,
48
- coordinates in other CRSs can be converted to 4326.
45
+ Coordinates should be in decimal degrees, in WGS84 (coordinate reference system [CRS] 4326), however, coordinates in other CRSs can be converted to 4326.
49
46
 
50
47
  The map display can be customized in several ways:
51
48
 
@@ -63,21 +60,34 @@ The map display can be customized in several ways:
63
60
  * Locations may be unlabeled or labeled with data values from the data file
64
61
  The label font, size, color, and location can all be customized.
65
62
 
63
+ * When there is more than one data value (table row) at a location, the number
64
+ of rows can be annotated on the map adjacent to each location. In addition,
65
+ data can be selected based on the number of data rows with the same geographic
66
+ coordinates.
67
+
66
68
  The map can be exported to a Postscript, PNG, or JPEG file. Using command-line options,
67
69
  *mapdata* can be directed to load a data file and display location markers and then to
68
70
  export the map to an image file, and quit.
69
71
 
70
72
  Selected rows in the data table can be exported to a CSV or spreadsheet file.
71
73
 
74
+ *Mapdata* provides five different ways to show information about multiple data rows that all have the same geographic coordinates, and thus plot at the same location on the map.
75
+
72
76
  Data can also be displayed in several different types of plots: box plots, scatter
73
77
  plots, line charts, ECDF plots, Q-Q plots, Fisher-Jenks group plots, strip charts,
74
78
  and counts of categorical and quantitative variables. Plots
75
79
  can use either all data or only data values that are selected in the map and
76
- table. Plots have a live connection to the data table, so when selections are
80
+ table. Plots have a live connection to the data table and map, so when data selections are
77
81
  changed the plots are automatically updated.
78
82
 
79
83
  ![example plot](https://mapdata.readthedocs.io/en/latest/_images/UI_cat_stripchart.png)
80
84
 
85
+ *Mapdata* can also display summaries of univariate and bivariate statistics for selected variables. These summaries can use either all data in the data table or only the data that are highlighted on the map. These summaries are updated immediately if different data are selected.
86
+
87
+ ![Bivariate statistics](https://mapdata.readthedocs.io/en/latest/_images/Bivariate_dialog.png)
88
+
89
+ ![Correlation matrix](https://mapdata.readthedocs.io/en/latest/_images/UI_corr_matrix_example.png)
90
+
81
91
  SQL commands can be used when pulling a data set from a database, to create
82
92
  a temporary table, for example, instead of using a base table. The SQL
83
93
  commands can be augmented with [execsql](https://pypi.org/project/execsql/)
@@ -85,9 +95,7 @@ metacommands and substitution variables.
85
95
 
86
96
  Complete documentation is at [https://mapdata.readthedocs.io/en/latest](https://mapdata.readthedocs.io/en/latest).
87
97
 
88
- A configuration file template, application icons for Linux and Windows, a .desktop
89
- file for Linux, and additional bitmap symbols, are available for download from
90
- [OSDN](https://osdn.net/projects/mapdata/releases/).
98
+ A configuration file template and additional bitmap symbols are included in directories below the location where *mapdata.py* is installed.
91
99
 
92
100
 
93
101
  ## Dependencies
@@ -107,10 +115,12 @@ file for Linux, and additional bitmap symbols, are available for download from
107
115
  * [openpyxl](https://pypi.org/project/openpyxl/)
108
116
 
109
117
  * [pillow](https://pypi.org/project/pillow/)
118
+
119
+ * [pymannkendall](https://pypi.org/project/pymannkendall/)
110
120
 
111
121
  * [pyproj](https://pypi.org/project/pyproj/)
112
122
 
113
- * [scipy.stats](https://pypi.org/project/SciPy/)
123
+ * [scipy](https://pypi.org/project/SciPy/)
114
124
 
115
125
  * [seaborn](https://pypi.org/project/seaborn/)
116
126
 
@@ -1,13 +1,9 @@
1
1
 
2
- *mapdata.py* is a viewer for geographic coordinate data read from a CSV file, spreadsheet,
3
- or database. Both a map and a data
4
- table are displayed. When a location is selected on the map, the same location is highlighted in the
5
- table, and *vice-versa*. Single or multiple selections may be enabled. Locations may also
6
- be selected and highlighted by writing a query expression to select rows of the data table.
2
+ *mapdata.py* is a data explorer for data sets containing geographic coordinates. Data can be read from a CSV file, spreadsheet, or database. Both a map and a data
3
+ table are displayed. When a location is selected on the map, the same location is highlighted in the table, and *vice-versa*. Single or multiple selections may be enabled. Locations may also be selected and highlighted by writing a query expression to select rows of the data table.
7
4
 
8
5
  ![example map](https://mapdata.readthedocs.io/en/latest/_images/UI_CSOs_1.png)
9
- Coordinates should be in decimal degrees, in WGS84 (coordinate reference system [CRS] 4326), however,
10
- coordinates in other CRSs can be converted to 4326.
6
+ Coordinates should be in decimal degrees, in WGS84 (coordinate reference system [CRS] 4326), however, coordinates in other CRSs can be converted to 4326.
11
7
 
12
8
  The map display can be customized in several ways:
13
9
 
@@ -25,21 +21,34 @@ The map display can be customized in several ways:
25
21
  * Locations may be unlabeled or labeled with data values from the data file
26
22
  The label font, size, color, and location can all be customized.
27
23
 
24
+ * When there is more than one data value (table row) at a location, the number
25
+ of rows can be annotated on the map adjacent to each location. In addition,
26
+ data can be selected based on the number of data rows with the same geographic
27
+ coordinates.
28
+
28
29
  The map can be exported to a Postscript, PNG, or JPEG file. Using command-line options,
29
30
  *mapdata* can be directed to load a data file and display location markers and then to
30
31
  export the map to an image file, and quit.
31
32
 
32
33
  Selected rows in the data table can be exported to a CSV or spreadsheet file.
33
34
 
35
+ *Mapdata* provides five different ways to show information about multiple data rows that all have the same geographic coordinates, and thus plot at the same location on the map.
36
+
34
37
  Data can also be displayed in several different types of plots: box plots, scatter
35
38
  plots, line charts, ECDF plots, Q-Q plots, Fisher-Jenks group plots, strip charts,
36
39
  and counts of categorical and quantitative variables. Plots
37
40
  can use either all data or only data values that are selected in the map and
38
- table. Plots have a live connection to the data table, so when selections are
41
+ table. Plots have a live connection to the data table and map, so when data selections are
39
42
  changed the plots are automatically updated.
40
43
 
41
44
  ![example plot](https://mapdata.readthedocs.io/en/latest/_images/UI_cat_stripchart.png)
42
45
 
46
+ *Mapdata* can also display summaries of univariate and bivariate statistics for selected variables. These summaries can use either all data in the data table or only the data that are highlighted on the map. These summaries are updated immediately if different data are selected.
47
+
48
+ ![Bivariate statistics](https://mapdata.readthedocs.io/en/latest/_images/Bivariate_dialog.png)
49
+
50
+ ![Correlation matrix](https://mapdata.readthedocs.io/en/latest/_images/UI_corr_matrix_example.png)
51
+
43
52
  SQL commands can be used when pulling a data set from a database, to create
44
53
  a temporary table, for example, instead of using a base table. The SQL
45
54
  commands can be augmented with [execsql](https://pypi.org/project/execsql/)
@@ -47,9 +56,7 @@ metacommands and substitution variables.
47
56
 
48
57
  Complete documentation is at [https://mapdata.readthedocs.io/en/latest](https://mapdata.readthedocs.io/en/latest).
49
58
 
50
- A configuration file template, application icons for Linux and Windows, a .desktop
51
- file for Linux, and additional bitmap symbols, are available for download from
52
- [OSDN](https://osdn.net/projects/mapdata/releases/).
59
+ A configuration file template and additional bitmap symbols are included in directories below the location where *mapdata.py* is installed.
53
60
 
54
61
 
55
62
  ## Dependencies
@@ -69,10 +76,12 @@ file for Linux, and additional bitmap symbols, are available for download from
69
76
  * [openpyxl](https://pypi.org/project/openpyxl/)
70
77
 
71
78
  * [pillow](https://pypi.org/project/pillow/)
79
+
80
+ * [pymannkendall](https://pypi.org/project/pymannkendall/)
72
81
 
73
82
  * [pyproj](https://pypi.org/project/pyproj/)
74
83
 
75
- * [scipy.stats](https://pypi.org/project/SciPy/)
84
+ * [scipy](https://pypi.org/project/SciPy/)
76
85
 
77
86
  * [seaborn](https://pypi.org/project/seaborn/)
78
87
 
@@ -0,0 +1,196 @@
1
+ # ======================================================================================
2
+ # Configuration file for mapdata.py
3
+ # For more information about the settings in this file, and how to use configuration
4
+ # files, see the online documentation at https://mapdata.readthedocs.io/en/latest/
5
+ # --------------------------------------------------------------------------------------
6
+
7
+ [basemap_tile_servers]
8
+ # This section contains names and URLs for alternate basemap layers.
9
+ # If the URL includes <API_KEY>, there must be a corresponding entry in the "api_keys" section.
10
+ Stamen terrain=https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key=<API_KEY>
11
+ Stamen toner=https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=<API_KEY>
12
+ Stamen toner lite=https://tiles.stadiamaps.com/tiles/stamen_toner_lite/{z}/{x}/{y}.png?api_key=<API_KEY>
13
+ Stamen toner background=https://tiles.stadiamaps.com/tiles/stamen_toner_background/{z}/{x}/{y}.png?api_key=<API_KEY>
14
+ Stadia outdoors=https://tiles.stadiamaps.com/tiles/outdoors/{z}/{x}/{y}.png?api_key=<API_KEY>
15
+ Mapbox satellite=https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=<API_KEY>
16
+
17
+
18
+ [api_keys]
19
+ # This section conatains API keys for tile servers that require token-based authentication.
20
+ #Stamen terrain=
21
+ #Stamen toner=
22
+ #Stamen toner lite=
23
+ #Stamen toner background=
24
+ #Statdia outdoors=
25
+ #Mapbox satellite=
26
+
27
+
28
+ [map_attributions]
29
+ # This section contains attributions for map imagery. Attributions should consist
30
+ # of a comma-separated list of text and optionally hyperlinks. The hyperlinks must
31
+ # be contained in angle brackets.
32
+ # Tile servers listed in the 'basemap_tile_servers' section that do not have
33
+ # attributions will not be available for use as basemaps.
34
+ Stamen terrain=© Stadia Maps <https://stadiamaps.com/>, © OpenMapTiles <https://openmaptiles.org>, © OpenStreetMap <https://www.openstreetmap.org/copyright>, © Stamen Design <https://stamen.com/>
35
+ Stamen toner=© Stadia Maps <https://stadiamaps.com/>, © OpenMapTiles <https://openmaptiles.org>, © OpenStreetMap <https://www.openstreetmap.org/copyright>, © Stamen Design <https://stamen.com/>
36
+ Stamen toner lite=© Stadia Maps <https://stadiamaps.com/>, © OpenMapTiles <https://openmaptiles.org>, © OpenStreetMap <https://www.openstreetmap.org/copyright>, © Stamen Design <https://stamen.com/>
37
+ Stadia outdoors=© Stadia Maps <https://stadiamaps.com/>, © OpenMapTiles <https://openmaptiles.org>, © OpenStreetMap <https://www.openstreetmap.org/copyright>
38
+ Stamen toner background=© Stadia Maps <https://stadiamaps.com/>, © OpenMapTiles <https://openmaptiles.org>, © OpenStreetMap <https://www.openstreetmap.org/copyright>, © Stamen Design <https://stamen.com/>
39
+ Mapbox satellite=© Mapbox <https://www.mapbox.com/about/maps>, © OpenStreetMap <https://www.openstreetmap.org/about/>, Improve this map <https://labs.mapbox.com/contribute/>
40
+
41
+
42
+ [symbols]
43
+ # This section contains file names (with paths) for additional symbols that can be loaded
44
+ # for use on the map. The key should be a symbol name, and the value should be the name
45
+ # of a file containing an X11 bitmap (.xbm) for the symbol. These can be used as map markers
46
+ # or as the marker for selected locations.
47
+
48
+
49
+ [connect]
50
+ # This section contains settings that are needed to connect to a database to obtain a data
51
+ # table on startup.
52
+
53
+ # The type of DBMS. Valid values are: ‘p’: PostgreSQL, ‘l’: SQLite, ‘k’: DuckDB, ‘m’: MySQL or MariaDB,
54
+ # ‘o’: Oracle, and ‘f’: Firebird.
55
+ #db_type=
56
+
57
+ # The name of the server for client-server databases.
58
+ #server=
59
+
60
+ # The port number for client-server databases. This is only needed if the DBMS has been set up
61
+ # to use a non-standard port.
62
+ #port=
63
+
64
+ # The name of the database to use, for client-server databases.
65
+ #database=
66
+
67
+ # The name of the database file to use, for file-based databases.
68
+ #file=
69
+
70
+ # The name of the database user, for client-server databases.
71
+ #user=
72
+
73
+ # Whether to suppress the password when a user name is provided. By default, a password
74
+ # will be prompted for when a user name is provided for a client-server database.
75
+ # Valid values are True and False. The default is False; a setting of True will suppress
76
+ # the password prompt.
77
+ #no_password=True
78
+
79
+ # The name of the database table to import.
80
+ #table=
81
+
82
+ # The file name of a SQL script that will be run against the database before the data table
83
+ # is imported. The script will be run with the same connection that is used to import the
84
+ # table, so the script may create a temporary table or view to import.
85
+ #script=
86
+
87
+
88
+
89
+ [defaults]
90
+
91
+ # The basemap to use initially for the map. This may be one of the basemap names
92
+ # in the 'basemap_tile_servers' section of a configuration file, or one of the servers
93
+ # with built-in support: "OpenStreetMap", "Google streets", and "Google satellite".
94
+ # The default is OpenStreetMap.
95
+ #basemap=
96
+
97
+ # The name of the column in the data table containing color names that can be used
98
+ # for location markers.
99
+ #color_column=
100
+
101
+ # The name of a CSV or spreadsheet file containing data to import an display.
102
+ #datafile=
103
+
104
+ # The name of the column in the data table containing identifiers, or labels, to be
105
+ # placed above or below location markers.
106
+ #id_column=
107
+
108
+ # The name of the image file to create when mapdata is used simply to create a map
109
+ # image file and exit.
110
+ #imagefile=
111
+
112
+ # The length of time (in seconds) to wait for the basemap to be drawn before exporting
113
+ # the map to an image file.
114
+ #imagewait=12
115
+
116
+ # The appearance of location labels in boldface. Valid values for 'label_bold' are
117
+ # "Yes" and "No"; the default is "No". Valid values for colors are listed in the online
118
+ # documentation. The font name must be one of the font families installed on the computer.
119
+ # The font name must be specified as one word; if the name contains spaces, they should be
120
+ # replaced with underscores. Valid values for 'label_position' are "above" and "below".
121
+ # The label size should be specified in pixels.
122
+ #label_bold=Yes
123
+ #label_color=
124
+ #label_font=
125
+ #label_position=
126
+ #label_size=
127
+
128
+
129
+ # The type and color of the symbol used to mark locations in the data file. These may be
130
+ # overridden by values in the data file, as specified by 'color_column' and 'sybmol_column'
131
+ # settings. Valid values for the color and marker (symbol) are shown in the online
132
+ # documentation.
133
+ #location_color=
134
+ #location_marker=
135
+
136
+ # Text that will be used as a title on the map window.
137
+ #message=
138
+
139
+ # Whether to initially allow multiple selections. Valid values are "Yes" and "No"; the
140
+ # default is "No".
141
+ #multiselect=Yes
142
+
143
+ # The Coordinate Reference System (CRS) identifier for the latitude and longitude values,
144
+ # if the coordinates are not in decimal degrees WGS84 (CRS 4326).
145
+ #projection=
146
+
147
+ # The type and color of the symbol used to mark selected locations. Valid values are shown
148
+ # in the online documentation. The defaults are 'red' and 'wedge'.
149
+ #select_color=
150
+ #select_symbol=
151
+
152
+ # The name of the sheet to import when data are imported from a spreadsheet workbook.
153
+ #sheet=
154
+
155
+ # Whether or not to show regression statistics (the slope, intercept, and R-square)
156
+ # whenever a least-squares regression line is added to a scatter plot or line plot
157
+ # (and when the plot is redrawn). Valid values are "Yes" and "No"; the default
158
+ # value is "No".
159
+ #show_regression_stats=Yes
160
+
161
+ # The name of the column in the data table containing names of symbols to be used
162
+ # for location markers. Valid symbols are shown in the online documentation.
163
+ #symbol_column=
164
+
165
+ # Whether or not to use symbol colors that are specified in the data table (see the
166
+ # 'color_column' setting). Valid values are "Yes" and "No"; the default is "Yes".
167
+ #use_data_color=No
168
+
169
+ # Whether or not to use symbols that are specified in the data table (see the
170
+ # 'symbol_column' setting. Valid values are "Yes" and "Nok"; the default is "Yes".
171
+ #use_data_marker=No
172
+
173
+ # The name of the columns in the data table containing longitude and latitude values.
174
+ #x_column=
175
+ #y_column=
176
+
177
+
178
+ [misc]
179
+ # This section contains settings related to the operation of mapdata.py.
180
+
181
+ # The name of an external editor that can be used to edit custom SQL that is
182
+ # entered in the 'Selections/Query data' dialog box
183
+ #editor=
184
+
185
+ # The name of a SQLite database file to be used to store a copy of the data table.
186
+ # This file may need to be used for very large data sets.
187
+ #temp_dbfile=
188
+
189
+ # The name of another configuration file to be read immediately after
190
+ # this one.
191
+ #read_config=
192
+
193
+
194
+ # End of mapdata.conf configuration file
195
+ # ======================================================================================
196
+