Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
(lite sent svar) Kanske mest korrekt: Ladda ner relevanta källfiler (planet.osm / urdrag + separata shapefiler för kustlinjer) och importera till en Postgis-databas med osm2pgsql och shp2pgsql. Ev kan ange en stil som bara tar med sjöar. Sen kan du köra postgis-queries precis som du vill om överlapp eller inte (http://postgis.net/docs/manual-2.1/reference.html). /Per Eric -- ^): Per Eric Rosén http://rosnix.net/~per/ / p...@rosnix.net GPG 7A7A BD68 ADC0 01E1 F560 79FD 33D1 1EC3 1EBB 7311___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
Oavsett lösning så tycker jag vatte/land-klassificerare är ett projekt som är coolt och som jag gärna skulle se att vi hostade på osm.se. Så om någon har tid att fibbla eller har fått det att funka så säg till så fixar jag med infrastrukturen! Sanningen är att jag själv var i behov av en sådan sak för ett par år sedan men bestämde mig för att det var bättre att lägga min tid på annat. Riktigt coolt hade varit om en sådan klassificerare kunde berätta om det var en å, flod, sjö, hav, etc. Och hur långt det var till fastland från punkten. Och kanske att den tittade på EK och Bing för att gissa om det helt enkelt är land som inte var karterat ännu. kalle On 26 Aug 2014, at 14:38, Per Eric Rosén p...@rosnix.net wrote: (lite sent svar) Kanske mest korrekt: Ladda ner relevanta källfiler (planet.osm / urdrag + separata shapefiler för kustlinjer) och importera till en Postgis-databas med osm2pgsql och shp2pgsql. Ev kan ange en stil som bara tar med sjöar. Sen kan du köra postgis-queries precis som du vill om överlapp eller inte (http://postgis.net/docs/manual-2.1/reference.html). /Per Eric -- ^): Per Eric Rosén http://rosnix.net/~per/ / p...@rosnix.net GPG 7A7A BD68 ADC0 01E1 F560 79FD 33D1 1EC3 1EBB 7311___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
Rendera en karta som bara innehåller vatten eller transparens. Kolla vad färgen är inom området. On 30 Jun 2014, at 23:27, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Jag skulle behöva veta om en given rektangel (bbox) innehåller uteslutande vatten eller om det finns något fragment av land i den. Just nu testar jag det genom att ställa följande fråga till overpass (http://overpass-api.de/): node(66.3,39.4,67.2,40.1);out ids 1000;; Jag ber alltså om max 1000 noder i bboxen, endast OSM-id. Det har visat sig stämma fölhållandevis bra att om min bbox (som typiskt mäter ~10x10 mil, koordinaterna ovan är bara test-data) har fler än 50 noder i sig så finns det land, och är det färre så är det hav (det går lite farleder och sånt även på öppet hav). Det är dock några områden som ger falska negativa, tex stora delar av sahara, samt områden på Grönland där det helt enkelt inte finns något karterat alls. Är det nån som kan tipsa om hur jag borde snickra ihop en query som ger ett mer exakt svar på min egentliga fråga? -- PGP-key available ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
Risken är ju att en ö är så liten att den inte ens blir en pixel... Jag skulle vilja undvika den typen av förenkling och detaljförlust. /Jonas -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available 2014-07-01 8:44 GMT+02:00 Karl Wettin karl.wet...@kodapan.se: Rendera en karta som bara innehåller vatten eller transparens. Kolla vad färgen är inom området. On 30 Jun 2014, at 23:27, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Jag skulle behöva veta om en given rektangel (bbox) innehåller uteslutande vatten eller om det finns något fragment av land i den. Just nu testar jag det genom att ställa följande fråga till overpass (http://overpass-api.de/ ): node(66.3,39.4,67.2,40.1);out ids 1000;; Jag ber alltså om max 1000 noder i bboxen, endast OSM-id. Det har visat sig stämma fölhållandevis bra att om min bbox (som typiskt mäter ~10x10 mil, koordinaterna ovan är bara test-data) har fler än 50 noder i sig så finns det land, och är det färre så är det hav (det går lite farleder och sånt även på öppet hav). Det är dock några områden som ger falska negativa, tex stora delar av sahara, samt områden på Grönland där det helt enkelt inte finns något karterat alls. Är det nån som kan tipsa om hur jag borde snickra ihop en query som ger ett mer exakt svar på min egentliga fråga? -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
Du får väl rendera kartan i den zoomnivå som krävs för varje fråga? On 01 Jul 2014, at 09:45, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Risken är ju att en ö är så liten att den inte ens blir en pixel... Jag skulle vilja undvika den typen av förenkling och detaljförlust. /Jonas -- PGP-key available 2014-07-01 8:44 GMT+02:00 Karl Wettin karl.wet...@kodapan.se: Rendera en karta som bara innehåller vatten eller transparens. Kolla vad färgen är inom området. On 30 Jun 2014, at 23:27, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Jag skulle behöva veta om en given rektangel (bbox) innehåller uteslutande vatten eller om det finns något fragment av land i den. Just nu testar jag det genom att ställa följande fråga till overpass (http://overpass-api.de/): node(66.3,39.4,67.2,40.1);out ids 1000;; Jag ber alltså om max 1000 noder i bboxen, endast OSM-id. Det har visat sig stämma fölhållandevis bra att om min bbox (som typiskt mäter ~10x10 mil, koordinaterna ovan är bara test-data) har fler än 50 noder i sig så finns det land, och är det färre så är det hav (det går lite farleder och sånt även på öppet hav). Det är dock några områden som ger falska negativa, tex stora delar av sahara, samt områden på Grönland där det helt enkelt inte finns något karterat alls. Är det nån som kan tipsa om hur jag borde snickra ihop en query som ger ett mer exakt svar på min egentliga fråga? -- PGP-key available ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
Jag tror att du måste fundera på och bestämma dig för vad du vill ha. Är det en enkel och snabb metod för att göra det troligt eller något som är exakt. Vill du ha nått snabbt har du fått några förslag, vill du ha något exakt återstår nog inget annat än att kolla på alla ingående noder och areor. /B Den 1 jul 2014 09:46 skrev Jonas Hogstrom jonas.hogst...@pobox.com: Risken är ju att en ö är så liten att den inte ens blir en pixel... Jag skulle vilja undvika den typen av förenkling och detaljförlust. /Jonas -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available 2014-07-01 8:44 GMT+02:00 Karl Wettin karl.wet...@kodapan.se: Rendera en karta som bara innehåller vatten eller transparens. Kolla vad färgen är inom området. On 30 Jun 2014, at 23:27, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Jag skulle behöva veta om en given rektangel (bbox) innehåller uteslutande vatten eller om det finns något fragment av land i den. Just nu testar jag det genom att ställa följande fråga till overpass ( http://overpass-api.de/): node(66.3,39.4,67.2,40.1);out ids 1000;; Jag ber alltså om max 1000 noder i bboxen, endast OSM-id. Det har visat sig stämma fölhållandevis bra att om min bbox (som typiskt mäter ~10x10 mil, koordinaterna ovan är bara test-data) har fler än 50 noder i sig så finns det land, och är det färre så är det hav (det går lite farleder och sånt även på öppet hav). Det är dock några områden som ger falska negativa, tex stora delar av sahara, samt områden på Grönland där det helt enkelt inte finns något karterat alls. Är det nån som kan tipsa om hur jag borde snickra ihop en query som ger ett mer exakt svar på min egentliga fråga? -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
Och orkar du inte rendera en egen karta så kan du använda dig av baslagret till hydda, det utan etiketter. Sök efter pixlar som inte är vattenfärgen. http://b.tile.openstreetmap.se/hydda/base/14/8783/5133.png Jämför http://b.tile.openstreetmap.se/hydda/full/14/8783/5133.png kalle On 01 Jul 2014, at 09:47, Karl Wettin karl.wet...@kodapan.se wrote: Du får väl rendera kartan i den zoomnivå som krävs för varje fråga? On 01 Jul 2014, at 09:45, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Risken är ju att en ö är så liten att den inte ens blir en pixel... Jag skulle vilja undvika den typen av förenkling och detaljförlust. /Jonas -- PGP-key available 2014-07-01 8:44 GMT+02:00 Karl Wettin karl.wet...@kodapan.se: Rendera en karta som bara innehåller vatten eller transparens. Kolla vad färgen är inom området. On 30 Jun 2014, at 23:27, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Jag skulle behöva veta om en given rektangel (bbox) innehåller uteslutande vatten eller om det finns något fragment av land i den. Just nu testar jag det genom att ställa följande fråga till overpass (http://overpass-api.de/): node(66.3,39.4,67.2,40.1);out ids 1000;; Jag ber alltså om max 1000 noder i bboxen, endast OSM-id. Det har visat sig stämma fölhållandevis bra att om min bbox (som typiskt mäter ~10x10 mil, koordinaterna ovan är bara test-data) har fler än 50 noder i sig så finns det land, och är det färre så är det hav (det går lite farleder och sånt även på öppet hav). Det är dock några områden som ger falska negativa, tex stora delar av sahara, samt områden på Grönland där det helt enkelt inte finns något karterat alls. Är det nån som kan tipsa om hur jag borde snickra ihop en query som ger ett mer exakt svar på min egentliga fråga? -- PGP-key available ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
Re: [Talk-se] Avgöra om en rektangel innehåller land eller inte?
Att gå omvägen via renderade kartor känns inte alls rätt som startapproach eftersom jag inte vet hur små landområden som kan tänkas vara karterade och hur stora kartbilder jag alltså behöver. Jag har fintrimmat min Overpass-query med att bara ta ut ways som är taggade med natural. Finns det ingen sån tag i hela min bbox så går jag vidare och tittar efter highway och building (overpass har stöd för att fråga efter alla tre på en gång, men det verkade gå betydligt långsammare än var för sig). Finns inget av det så tar jag ner en hårt inzoomad tile från hydda/base och tittar på färgen på den. Är den blå så är det hav, annars är det land. Den stora luckan som jag funderar på just nu är om jag kommer vara tvungen att göra en query på relationer också... Vi får se om det ger tillräcklig precision. Tack för tipsen så länge. -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available 2014-07-01 10:02 GMT+02:00 Karl Wettin karl.wet...@kodapan.se: Och orkar du inte rendera en egen karta så kan du använda dig av baslagret till hydda, det utan etiketter. Sök efter pixlar som inte är vattenfärgen. http://b.tile.openstreetmap.se/hydda/base/14/8783/5133.png Jämför http://b.tile.openstreetmap.se/hydda/full/14/8783/5133.png kalle On 01 Jul 2014, at 09:47, Karl Wettin karl.wet...@kodapan.se wrote: Du får väl rendera kartan i den zoomnivå som krävs för varje fråga? On 01 Jul 2014, at 09:45, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Risken är ju att en ö är så liten att den inte ens blir en pixel... Jag skulle vilja undvika den typen av förenkling och detaljförlust. /Jonas -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available 2014-07-01 8:44 GMT+02:00 Karl Wettin karl.wet...@kodapan.se: Rendera en karta som bara innehåller vatten eller transparens. Kolla vad färgen är inom området. On 30 Jun 2014, at 23:27, Jonas Hogstrom jonas.hogst...@pobox.com wrote: Jag skulle behöva veta om en given rektangel (bbox) innehåller uteslutande vatten eller om det finns något fragment av land i den. Just nu testar jag det genom att ställa följande fråga till overpass ( http://overpass-api.de/): node(66.3,39.4,67.2,40.1);out ids 1000;; Jag ber alltså om max 1000 noder i bboxen, endast OSM-id. Det har visat sig stämma fölhållandevis bra att om min bbox (som typiskt mäter ~10x10 mil, koordinaterna ovan är bara test-data) har fler än 50 noder i sig så finns det land, och är det färre så är det hav (det går lite farleder och sånt även på öppet hav). Det är dock några områden som ger falska negativa, tex stora delar av sahara, samt områden på Grönland där det helt enkelt inte finns något karterat alls. Är det nån som kan tipsa om hur jag borde snickra ihop en query som ger ett mer exakt svar på min egentliga fråga? -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se
[Talk-se] Avgöra om en rektangel innehåller land eller inte?
Jag skulle behöva veta om en given rektangel (bbox) innehåller uteslutande vatten eller om det finns något fragment av land i den. Just nu testar jag det genom att ställa följande fråga till overpass (http://overpass-api.de/): node(66.3,39.4,67.2,40.1);out ids 1000;; Jag ber alltså om max 1000 noder i bboxen, endast OSM-id. Det har visat sig stämma fölhållandevis bra att om min bbox (som typiskt mäter ~10x10 mil, koordinaterna ovan är bara test-data) har fler än 50 noder i sig så finns det land, och är det färre så är det hav (det går lite farleder och sånt även på öppet hav). Det är dock några områden som ger falska negativa, tex stora delar av sahara, samt områden på Grönland där det helt enkelt inte finns något karterat alls. Är det nån som kan tipsa om hur jag borde snickra ihop en query som ger ett mer exakt svar på min egentliga fråga? -- PGP-key http://pgp.mit.edu/pks/lookup?op=getsearch=0xD6491A4448871215 available ___ Talk-se mailing list Talk-se@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-se