[Talk-de] Lokale-Gruppen-Layer auf openstreetmap.de

Peter Peter.Osm at gmx.net
Mi Feb 8 13:46:41 UTC 2017


Am 07.02.2017 23:45, schrieb gmbo:
> Ich habe mal einen Einzeiler dazu gebracht ein aktuelles
> |osm_user_groups_dach.kml zu erzeugen.

> |
> |wget -o melde.txt -O a.kml
> 'usergroups.openstreetmap.de/osm_user_groups.kml';echo '<?xml
> version="1.0" encoding="utf-8"?><kml
> xmlns="http://www.opengis.net/kml/2.2"><Document><name>OSM usergroups
> worldwide</name><description>Generated list of OpenStreetMap local user
> groups by UserGroupsBot</description><Style
> id="usergroup"><IconStyle><Icon><href>localgroup.png</href><scale>0.5</scale></Icon></IconStyle></Style>'
>  >de.kml;sed "s/<\/Placemark>/<\/Placemark>\n/g" a.kml |sed
> "s/<Placemark/\n<Placemark/"|grep "<country>DE</country>" >>de.kml;echo
> '</Document></kml>' >>osm_user_groups_dach.kml

 >[...]

DACH? ich denke da fehlen CH/AT

> Natürlich ließe sich das ganze im Python-Script besser unterbringen,
> aber so geht es auch.

Wenn Ich was aus xml extrahieren will - oder darstellen oder so - denke
ich erstmal an xslt (jaja, das schmerzt, aber für einfaches bleibt es
einfach), bin halt kein Systemtechniker der bash können will (und dann
doch Perl nimmt [aber alt bin ich]).

Es ist zwar kein Einzeiler mehr, aber doch recht kompakt.
Aufruf per:
xsltproc pick.xslt osm_user_groups.kml
(oder anderem xslt-Prozessor, auch die Browser können das)
---  pick.xslt --------------------------------------------------------
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:kml="http://www.opengis.net/kml/2.2" >
<xsl:output indent="yes" encoding="utf-8" method="xml" />

<!--nur mit strip-space indent-->
<xsl:strip-space elements="*"/>

<xsl:template match="kml:Placemark[not(kml:country = 'DE' or kml:country 
= 'CH' or kml:country = 'AT')]" />

<xsl:template match="@*|node()">
	<xsl:copy>
		<xsl:apply-templates select="@*|node()"/>
	</xsl:copy>
</xsl:template>


</xsl:stylesheet>
--------------------------------------------------------------------
Vorteil von xslt ist, das es xml ansich versteht und Änderungen von
Zeilenumbrüche oder allgemein Whitespace, andere Reihenfolge,
Zeichensatz, etc. gegenüber tolerant ist.

Man kann es auch weiter eindampfen wenn z.B. die Formatierung egal ist.

Peter






Mehr Informationen über die Mailingliste Talk-de