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



_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an