Hey devs,
I have a branch that’s mostly complete (as in, please don’t use it since I might rebase more) that adds a bit more support to KML importing: https://github.com/ischneider/geoserver/tree/importer-kml-style-clean
Related geotools changes here: https://github.com/ischneider/geotools/tree/kml-parsing-improvements
The main thing I wanted to discuss was the approach for supporting one of the new features. Because KML can contain mixed geometry types, this new feature supports creating a new featuretype by geometry type, if the user chooses. So for example, if the uploaded file is data.kml, the resulting featuretypes will be datapoint, datamultilinestring and datapolygon assuming the data contains these types of geometries.
The issue is the activation of this feature. Because the importer immediately parses the KML/KMZ to determine the resulting tasks, this option must be supplied upfront with the request to avoid a potentially expensive 2nd parsing or modifying the way the API work (like allowing this option to be specified later or changing the protocol for initiating the import and tasks).
Right now, triggering this option is implemented via the REST API and a URL parameter that gets passed along to the ImportData, eventually making it to the KMLFileFormat used to collate and create the feature types.
Any ideas on how to make this work better?
Other thoughts on the two patches?
As a reminder, I’m expecting some additional efforts on these so please don’t do anything with them besides look
–
Ian Schneider
Software Engineer | Boundless
ischneider@anonymised.com