On Saturday, January 14, 2017 at 10:48:26 PM UTC+8, Lawrence Bottorff wrote: > This is all very impressive, indeed. I was wondering if Racket could be used > to create a new sort of GIS app, i.e., geographic information system. It > would have to do "vector graphics," which is to say every primitive drawing > object is real, i.e., isn't just a setup step toward creating a raster bit > map -- to be thrown away afterwards. For example, if you use a square object > to represent a building, then that object should persist as something real, > to which various attributes can then be attached, furthermore, to be part of > a graph database. On the UI side, the objects should be "clickable," i.e., an > actual object should be addressed. The bitmap idea of clicking on a spot -- > connecting spot with coordinates, then with other data -- won't do. >
I am not really familiar with full requirements for a GIS application, and I never consiered ActivityLog2 a GIS application, however, you might find the following parts of it useful: * a map widget, which can display Open Streed Map based maps. It is written entirely in Racket, and while it does fetch tiles from the network, it does all drawning and user interaction itself (that is, it does not embedd a web browser in a window) * the map widget allows panning and zooming, as expected, but does not implement picking, as I didn't need that feature. * the map widget can display data tracks, and simplifies these tracks as needed for display purposes. My use cases involve tracks of about 3000 to 10000 points, with the biggest track I tested having about 130000 points. Drawing is fast and smooth. * there are some map utilities that might be usefull (e.g. calculating map distance and bearing from lat/lon points), see "map-util.rkt" * there's an elevation correction algorithm which works entirely offline and produces pretty good results, at least as good as online services. * data is stored in a SQLite database, my database contains 1844982 track points and 1819 activities and more would be imported after my run today :-) So far, the system has scaled surprisingly well, at least I was pleasantly surprised at how fast it is. If you want to test it out, you can import some FIT files from the "test/test-data" folder, some of these have GPS tracks, so you will have a map displayed and you can play around with it. Best Regards, Alex. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.