|
|
От: | senglory | |
| Дата: | 05.08.24 17:38 | ||
| Оценка: | |||
Add-Type -AssemblyName System.Web
$fileInGpx = "b.gpx"
[hashtable]$wptsUnique = @{}
[xml]$xml = Get-Content -Path $fileInGpx -Encoding UTF8
function trySetWptColor($wpti, $wptExisting)
{
Write-Host $wpti.name
}
$nsManager = New-Object System.Xml.XmlNamespaceManager($xml.NameTable)
$nsManager.AddNamespace("osmand", "https://osmand.net")
$nsManager.AddNamespace("gpx", "http://www.topografix.com/GPX/1/1")
$XPath = "//gpx:wpt"
$wpts = $xml.selectNodes($XPath, $nsManager)
foreach($wpt in $wpts)
{
$wpt2 = $null
$lat2 = $wpt.lat -as [double]
$lon2 = $wpt.lon -as [double]
$key = $lat2 + '' + $lon2
if ($wptsUnique.ContainsKey($key))
{
$wptExisting = $wptsUnique[$key]
Write-Host $wpt.name
trySetWptColor($wpt, $wptExisting)
}
else
{
$wpt2 = @{
lat = 1
lon = 2
name = $wpt.name
extensions = "qqq"
}
$wptsUnique.add($key, $wpt2)
}
}<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<gpx
xmlns='http://www.topografix.com/GPX/1/1'
xmlns:osmand='https://osmand.net'
>
<metadata>
<name>M</name>
</metadata>
<wpt lat="55.9840704" lon="36.6401806">
<name>46Н-02865</name>
<type>M</type>
<extensions>
<osmand:address>46Н-02865</osmand:address>
<osmand:icon>special_star</osmand:icon>
<osmand:background>circle</osmand:background>
<osmand:color>#eecc22</osmand:color>
</extensions>
</wpt>
<wpt lat="55.98407" lon="36.640181">
<name>46Н-02865</name>
<type>M</type>
<extensions>
<osmand:address>46Н-02865</osmand:address>
<osmand:icon>bridge_structure_suspension</osmand:icon>
<osmand:background>circle</osmand:background>
<osmand:color>#eecc22</osmand:color>
</extensions>
</wpt>
</gpx>
46Н-02865 46Н-02865 46Н-02865
|
|
От: | CaptainFlint | http://flint-inc.ru/ |
| Дата: | 05.08.24 22:13 | ||
| Оценка: | |||