It is a super basic first version. But it is here. MapStyler.com. A powerful tool for designing styles for your vector datasets. Simply import your data, customize the styling to your preferences, and export the result as a GL style JSON. You can easily integrate your style with an openlayers or leaflet web application with a few lines of code. It is an attempt to simplify the process of creating styles for your project and to abstract library specific styling syntax from application development.
Why is this relevant? To explain why MapStyler.com matters, I want to introduce two personas to you. Sarah, a web developer building web applications with a geospatial component, and Jack, the user of the web application.
Illustrations by Janneke Schot
Jack has asked Sarah to build a data driven geospatial web application. The application shows various dynamic datasets, has advanced filtering options and geoprocessing functionalities. Jack's decision on how to filter or process the data heavily depends on a quick visual inspection. The presentation of the data is, simply put, critical. As Jack becomes more acquainted with the application, his perspective on how data should be presented for swift analysis will evolve. He could play with the style in GIS, write his own styling sheets in XML or whatever syntax Sarah's technology is using. But he has no interest in going down that rabbit hole. Jack is a user, not a designer. He sends update requests via email.
Sarah, as a developer, also has no interest in dealing with styles. Neither in writing style sheets, nor in downloading and debugging Jack's stylesheets. Her preferred reply to Jack's email: "Here, update the style yourself". However, she has no easy-to-use tool she can offer Jack. Building a custom styling component for his application isn't worth the effort.
This is where MapStyler.com comes into play. Sarah can create a workspace for Jack in which the datasets are loaded. Jack can access this workspace through an user-friendly and intuitive interface. The interface allows him to quickly change the designs to his needs, whenever he wants to. Changes are shown immediately. But Jack is not an expert on cartography. So he will also have the option to request suggestions for styling based on a context description of his data.
Once Jack is content with the design, he has the option to save the changes. Changes that automatically propagate to production. And Sarah? Sarah is having a day off at the beach while this happens. When she comes back, she can use MapStyler.com for other clients, independent of the web application and technology used.
These two persona's illustrate my long term vision with MapStyler.com. A tool for improving collaboration and automating the process of styling vector data.
My first priority was to set up the basic styling functionality before I can develop the more interesting co-working features. This is why the avaiable features are quite limited. They don't even come close to the story of Sarah and Jack. However, work in progress! What you can do now is:
- Basic styling for Point, Line and Polygon Geometries
- Support for importing GeoJSON data
- Exporting styles to a GL JS JSON
I will continue the development of the tool to bring exciting new features. On short term I want to develop the following features:
- Add suport for vectortile URL's as a data source
- Add advanced styling based on attribute filtering
- Support for exporting basemaps
- Map interaction for exploring the features
- On demand color suggestions
- Sharing basic workspace
- Some kind of access control
- Some kind of preloading of data
If you have any ideas or feature requests, let me now! In the meantime I will continue writing updates related to MapStyler. Not only on hte development of the tool, but also practical guides on how to use it in your projects. Feel free to subscribe to receive updates in your mail.
That's it for now. Go and have a look at the first beta release of MapStyler and let me know what you think.
- Github https://github.com/codehub-rony/map-styler
- Mastodon @RonyNedkov@indiehackers.social
- Twitter @RonyNedkov
If you are looking for a way to support me, there is: