Closed jirislaby closed 8 years ago
Zajímavé. Tohle jsem ještě neviděl. Zkusím zjistit, kolik takových případů v ruianu je. Je možné, že problém bude spíše v tom php, co generuje json.
On 10/31/2016, 10:05 AM, Marián Kyral wrote:
Zajímavé. Tohle jsem ještě neviděl. Zkusím zjistit, kolik takových případů v ruianu je. Je možné, že problém bude spíše v tom php, co generuje json.
Pro upresneni, mne to vraci snad vsude, kde jsem zkousel -- ruzne v Brne a Prostejove.
js
Tak to je ještě divnější. Večer nebo zítra ráno ve vlaku na to mrknu.
Ten server skript je https://github.com/mkyral/josm-tracer/blob/development/servers/ruianBuildings/index.php
Jo, to asi odpovida:
if (pg_num_rows($result) == 1 && !"$req" == "full")
{
$geom = pg_result($result,0,"geom");
$geometry=json_decode($geom,true);
$data["geometry"] = $geometry['coordinates'][0];
}
else if (pg_num_rows($result) > 1 || "$req" == "full")
{
$geom = array();
$inners = array();
for ($i = 0; $i < pg_num_rows($result); $i++)
{
$row = pg_result($result,$i,"geom");
$geometry=json_decode($row,true);
if ($i == 0)
{
$geom['outer'] =$geometry['coordinates'][0];
} else if ($geometry['coordinates'][0][0] == $geom['outer'][0])
{
// Ignore dulicated outer ways on the same position
break;
} else
{
array_push($inners, $geometry['coordinates'][0]);
}
}
$geom['inners'] = $inners;
$data["geometry"] = $geom;
} else
{
$data["geometry"] = array();
}
Pokud se dobre divam (neumim php, umim perl a c), ja dostavam data evidentne z toho prvniho ifu.
ja dostavam data evidentne z toho prvniho ifu.
Ale to je divne, bo si zadam o full (tcpdump):
10:18:02.078877 IP6 (flowlabel 0xf3da1, hlim 64, next-header TCP (6) payload length: 310) f.9.1.0.0.0.0.0.0.0.0.0.a.a.a.a.5.8.d.a.7.2.e.2.0.4.2.4.1.0.a.2.v6.cust.nbox.cz.58574 > mapserv.poloha.net.http: Flags [P.], cksum 0xd292 (incorrect -> 0x620b), seq 1:279, ack 1, win 225, options [nop,nop,TS val 247200044 ecr 1315171533], length 278: HTTP, length: 278
GET /tracer//ruian-buildings/?req=full&lat=49.47744873576669&lon=17.09126115040131 HTTP/1.1
User-Agent: JOSM/1.5 (10966 en) Linux openSUSE Tumbleweed Java/1.8.0_101
Host: josm.poloha.net
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Nevim, jak v php, ale tohle je v C nesmysl :):
!"$req" == "full"
Bud tam chybi zavorky, nebo tam ma byt !=
To by mělo být dobře. Ale to je teď jedno. Jakou máš verzi traceru? Odkud jsi instaloval? A jaký request jde na server (vypisuje se to do terminálu/konzole)
Protože mně to na dotaz http://josm.poloha.net/ruian-buildings/?req=full&lat=49.47734765569628&lon=17.089869083922576
vrátí "outer":
{
"coordinates": {
"lat": "49.47734765569628",
"lon": "17.089869083922576"
},
"source": "cuzk:ruian",
"stavebni_objekt": {
"ruian_id": "48909637",
"cislo_domovni": null,
"cislo_domovni_typ": "bez č.p./č.e.",
"cislo_orientacni": null,
"adresni_misto_kod": null,
"ulice": null,
"cast_obce": null,
"mestska_cast": null,
"obec": null,
"okres": null,
"kraj": null,
"psc": null,
"pocet_podlazi": null,
"zpusob_vyuziti_kod": "18",
"zpusob_vyuziti_key": "building",
"zpusob_vyuziti_val": "garage",
"pocet_bytu": null,
"dokonceni": null,
"plati_od": "01.07.2011"
},
"geometry": {
"outer": [
[
17.089850261256,
49.477369366781
],
[
17.089891416106,
49.477368749114
],
[
17.089890113743,
49.477319313331
],
[
17.089848684352,
49.477319912806
],
[
17.089850261256,
49.477369366781
]
],
"inners": [ ]
},
"adresni_mista": [ ]
}
Vypadá to, že máš nainstalovanou nějakou starou verzi traceru. Nejnovější se instaluje pouze přes oficiální repozitáž pluginů v josm. Není potřeba nic ručně stahovat ani instalovat.
Možná bych mohl ty staré url znefunkčnit. Alespoň se pozná, kdo ještě neaktualizoval :-D
Případně, ještě mně napadá, jestli nemáš tuto url zadanou v konfiguraci. Tu ideálně smaž.
Případně, ještě mně napadá, jestli nemáš tuto url zadanou v konfiguraci.
Ano, to bylo ono. Jak jsem psal vys, ja jsem se ptal serveru:
/tracer//ruian-buildings/?req=full&lat=49.47744873576669&lon=17.09126115040131 HTTP/1.1
Kdyz to manualni URL vypnu, tak to funguje.
OK. Tak hlavně, že se to vyřešilo. Zavírám.
Toto mi vraci http://josm.poloha.net/tracer/:
Je videt, ze geometry nema ani outer ani inner, jsou tam ciste souradnice. Bylo by mozne pridat test na geometry -- kdyz je geometry pole, ber to jako outer?