-
Notifications
You must be signed in to change notification settings - Fork 83
Cartopy: Updating Geographical Plotting Routines GSoC 2019
Name : Anveshan Lal
Organisation : Mission Support System (Python Software Foundation)
Mentors : Joern Ungermann, Jens-Uwe Grooß
Project : Updating Geographical Plotting Routines
Project Code : Pull Request referencing project code
Commit log : All the commits comprising the all the progress of project
A detailed report about my GSoC project regarding migration of basemap dependent code to Cartopy.
Aside from the dependencies required to run MSS:
$ conda install cartopy
I would detail the progress by headlining the project in 3 parts
This address changes in code in respect to files:
mss/mslib/mswms/mpl_hsec.py
mss/mslib/mswms/mpl_hsec_styles.py
Server side is complete with all the previous functionality retained
None
Map produced is almost aligned with client perfectly but it is not 100 %
https://bitbucket.org/wxmetvis/mss/pull-requests/643
https://bitbucket.org/wxmetvis/mss/pull-requests/651
https://bitbucket.org/wxmetvis/mss/pull-requests/653
https://bitbucket.org/wxmetvis/mss/pull-requests/654
This address changes in code in respect to files:
mss/mslib/msui/mpl_map.py
mss/mslib/msui/mpl_qtwidget.py
mss/mslib/msui/mpl_pathinteractor.py
mss/mslib/msui/topview.py
User Interface is perfectly functional and all the functionality is retained including the interaction of waypoints and functions related to it.
If the time allowed I would have like to exploit Cartopy's native ability to plot Geodetic Circular Paths, instead of the current manual solution.
None
https://bitbucket.org/wxmetvis/mss/pull-requests/656
https://bitbucket.org/wxmetvis/mss/pull-requests/671
mss/mslib/msui/mpl_map.py
mss/mslib/utils.py
All the epsg's previously present and additional EPSG's added are supported by the program. This includes the epsg which were non-functional from Cartopy's in-house function to plot epsg codes directly and all others Cartopy already supports.
There exists a large number of EPSGs (in excess of 4300), I couldn't test all of them but did encountered few which are not yet supported by Cartopy like 2985
, 2986
, 7415
. With more testing there ought to be more which are still not supported by Cartopy but a large number of them are.
https://bitbucket.org/wxmetvis/mss/pull-requests/684
https://bitbucket.org/wxmetvis/mss/pull-requests/691
Since the project in large part required me to maintain previous functionality there was not much scope to create new tests, but I did add two tests; One to test for a new function I added and the other test for EPSGs.
Pytest shows 2 tests failed although the failed tests seem to relate to a working and manually tested functionality of adding and removing point on waypoint interactor.
I would like to thank Joern Ungermann who mentored me throughout summer and actively helped me better the program and code, and also provided valuable feedback frequently. I would also like to express my gratiude towards MSS community including Reimar Bauer, Jens-Uwe Grooß and Shivashish Padhi who have been very welcoming from the start and helped get started and be familiar with MSS despite my serious lack of programming expertise and made my summer experience really great.