November 21, 2022

Changelog: November 21

There's a lot of small and big improvements around here lately!

Improved KML import with Schema

Placemark tries to maintain and respect the data types of everything it imports and exports. The attributes that come in a KML file are by default strings: unlike GeoJSON, which inherits from JSON, the XML format that KML is a subset of doesn't have the idea of a "literal number." But KML does have a way to specify attribute types, with a Schema object.

And… long story short, Placemark now supports the Schema object, so if you're importing some KML that's been carefully generated to declare something a number, string, or boolean attribute, that type will be imported into the map.

This upgrade comes from Placemark's toGeoJSON module, which is open source and free for anyone to use! And specifically, thanks to a contribution by Per Liedman. Thanks!

Better folder selection

Selecting all the features in a folder by clicking on the folder

Placemark has a really powerful selection system: you can select a feature, vertexes within a feature, multiple features, a folder, you name it. Folder selections have been upgraded so that if you select a folder, the feature editor lets you edit all the features in that folder, including those in nested folders.

Export to SVG using the current viewport

Exporting features in the current viewport

The fresh new SVG export system already got an upgrade: you can now export your current viewport’s features as SVG. Plus new projections - Azimuthal Equal Area and Conic Equidistant. Fun!

Search for features by their attributes

Searching for features using their properties

Looking for a feature? Now the search interface - that you can trigger with command-k, or by clicking on the magnifying lass - includes features! So you can search for a feature property, zoom to, and select it, really quickly.

Improved dragging

It might not look that flashy, but the experience of dragging a feature or a folder in the left pane has gone through another thorough improvements. Creating a sortable, nested list that supports other interactions, scales to thousands of items - not easy! Thanks to dndkit and virtual, the building blocks that make this possible, but whew, it is not easy.