Geolocation / Syslocation - parsing out a "site name" to clean up "Devices -> Geo Location" menu?

Tags: #<Tag:0x00007fd88ea659f0> #<Tag:0x00007fd88ea65928> #<Tag:0x00007fd88ea65860>

This is kind of a follow-on to existing functionality in the SysLocation parsing.
LibreNMS is already finding a [lat, long] and pulling it out to populate coordinates.
I’ve got a greenfield deployment and my equipment should all be new enough to accept the [lat, long] at the end of a SysLocation string. I want to indicate street address, but I’d also like the site name in the SysLocation.

I’m envisioning something similar to the “circuit type” tags in interface descriptions:
Location Name @ 1234 Anywhere, City, State Zip [Lat, Long]
Alternatively, if an @ as a simple separator is harder to parse (or maybe people want to use @ as part of a location name), surround location name with {curly braces}.

Then, the Web UI would have the “Devices → Geo Locations” list populated with a friendly list of defined site names, but your map could still have slightly different coordinates for equipment (to prevent it from all stacking on top of each other), and you wouldn’t have to look at a list of street numbers and names in the Web UI (making the Geo Location menu much wider than it needs to be).

If there’s some other way to achieve this I’m open to that, but it seemed ideal to be able to make it happen using solely SysLocation entries and parsing (but that’s mostly because I’m greenfield so I can set all of the locations from the ground up).

I am not much of a coder (especially not in PHP), or else I’d try to put together a PR… But I think this functionality could be useful to many (assuming their syslocation strings aren’t already too long and that their devices don’t choke on whatever syntax we make sense with).