Je travaille donc sur un projet en développement depuis plus d'un an, mais je ne me suis impliqué que récemment. Ma tâche consiste à convertir environ 2 500 fichiers KML dans un autre format, à importer ces fichiers dans un Geoserver, puis à copier les informations de style associées pour chaque fichier. Je me rends compte que Geoserver vous permet d'importer directement des fichiers KML, cependant, nos fichiers ne semblent jamais s'afficher correctement, et mon patron aimerait s'éloigner du format KML pour des raisons philosophiques.
En utilisant ogr2ogr, j'ai essayé de convertir ces fichiers en fichiers Shape ESRI, mais le processus de conversion n'a fonctionné que sur environ un tiers des fichiers et a effacé certaines des métadonnées demandées dans les informations de style. Les fichiers qui n'ont pas converti le code des polygones et des points, que j'ai lus, peuvent être une erreur pour d'autres programmes comme QGIS.
J'ai également essayé de mettre tous les fichiers KML dans une base de données PostGIS et de les convertir comme ça. Cependant, cela semble supprimer toutes les données, laissant des tableaux essentiellement vides pour l'importation.
TL; DR J'ai besoin de trouver un moyen de convertir 2 500 fichiers KML dans un format utilisable par Geoserver, et je travaillerai avec des informations de style XML. Je suis un Noob SIG complet et c'est ma première publication, donc je suis désolé si cela semble un peu ridicule.
Réponses:
Dans GeoServer, les données et le style sont séparés, il n'y a aucun moyen de les mélanger. Vous pouvez générer automatiquement un SLD. Jusqu'à présent, je ne sais pas s'il existe un convertisseur pour le style kml en style geoserver.
la source
Premièrement, le style Geoserver (SLD) et les données (KML) sont totalement différents. Importez le fichier KML dans Geoserver et plus tard, créez un fichier SLD dans l'éditeur de style ou créez un style dans la visionneuse (comme Mapfishapp) et ensuite, enregistrez le fichier .sld pour obtenir facilement le sld sans écrire dans XML (plus difficile à réaliser la classification ou autre style spécifique lorsqu'un système le réalise facilement).
Plus tard, j'ai utilisé des fichiers KML pour enregistrer les données SIG et tout le temps, j'ai perdu l'attribut (= données perdues). KML conserve simplement les informations de géométrie. Il est préférable d'enregistrer vos données nativ dans un autre format (attribut CSV keep) ou simplement de créer un tableau de données et, après, de donner les informations géographiques ou de créer directement une couche. (fichier de formes, Csv ...).
J'espère que je t'aide ...
la source
Les informations supplémentaires dans le fichier kml que vous souhaitez utiliser et que vous appelez "métadonnées", pourraient être dans le jargon KML:
Étant donné que chaque fichier kml est un fichier ASCII, il peut être traité via un script de traitement de texte. Selon ma compréhension, une "couche" distincte doit être créée pour chaque type d'objet que vous souhaitez présenter et styliser dans Geoserver. Cela signifie qu'à partir de chaque fichier kml, vous vous retrouverez avec plusieurs fichiers en fonction de votre classification des types d'objets.
Ce n'est pas un travail simple pour les outils standard. Si tout va bien, si tous les fichiers de 2.500 kml sont créés avec la même application, ils auront la même structure. Dans ce cas, vous aurez besoin d'une analyse détaillée de cette structure et de nombreux scripts personnalisés.
la source
Ouvrez le kml et regardez à l'intérieur, il semble que tout ce que vous voulez vraiment, ce sont les données car les autres affiches ont suggéré que les styles ne sont pas sur les cartes, donc votre problème est la conversion de tous les fichiers qui sont essentiellement des fichiers texte apprenez du python
puis piratez quelque chose comme ça en forme: https://gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0
la source