Kategorier
Kartritning

Göra om bilder till editerbara objekt i kartprogrammet med hjälp av programmet polygonize

En av de outputs som man får från karttapullautin är bilder med vegetationsfiler – det gula och gröna på kartan. De går enkelt att lägga in som bakgrundsfiler, snabbt och enkelt och så har man det på kartan. Men jag vill ibland kunna editera dessa objekt. Då måste man få in dem i OCAD eller OOM som editerbara objekt. Det här är mitt workflow för det. Första exemplet är vegetationsfilerna som jag nämner ovan.

Min startpunkt är att jag kört karttapullautin och har outputfilerna. De kan vara en per laserdata-ruta eller sammanslagna över hela området. Läs mer om detta i posten om hur jag använder karttapullautin. Här är ett exempel på hur vegetationsfilen ser ut:tiles_306000_6403000.las_vege

Hur många gröna nyanser man har och vad den triggar på ställer man in i .ini-filen till karttapullautin. Mörk grönt kan även vara hus, inte bara tät skog, vilket inte spelar mig någon roll då det sedan hamnar riktiga hus ovanpå dem, ofta med tomtmark runtomkring.

För att omvandla till något importerbart använder jag ett verktyg som Joakim Svensk gjort som heter Polygonize. Den finns att hämta här på en dropbox-länk. Joakim har även skrivit en kort instruktion som hänger med.

Att omvandla en veg-fil till shaprefiler görs helt enkelt genom att släppa vegetaionsfilen, en png-fil på pologynize-programmet. Det är viktigt att man har med både png-filen och dess world-fil, den fil som säger hur den är georefererad, som har ändelsen .pgw. Enklast är att kopiera in polygonize.exe, .png och .pgw-filerna i samma mapp. När man släpper png-filen på polygonize.exe så skall det se ut så här:

pologynize.PNG

Polygonize börjar med att dela upp orginalbilden i en separat .tiff bild för varje färg. Sedan tar den färg för färg och skapar shape-filer för varje färg. I orginal-inställningarna för karttapullautin var det i någon omgång 32 nyanser av grönt. Det blev väldigt många färger som polygonize försökte jobba med… Jag kör normalt med tre gröna nyanser nuförtiden.

Vilken färg som får vilket nummer beror på hur bilden är sparad. Från karttapullautin brukar den ljustaste gröna få nummer 1 och det högsta numret vara gult. Men man listar ut det rätt enkelt genom att öppna de separerade filerna och jämföra med orginalbilden.

I OCAD importerar jag sedan shapefil för shapefil och omvandlar det senast importerade till rätt karttecken.

Tips och trix.

Optimera importarbetet.

Om man gör ett stort kartområde med flera laserfiler som har man två val för hur man jobbar.

  1. Kör polygonize för varje veg-fil separat. Då blir omvandlingen lite mer omständig och importen för göras för varje område separat.
  2. Slå ihop veg-filerna med karttapullautings merge-funktion, och kör den mergade vegetations-filen genom polygonzise  – importera varje färg en gång. Hur man mergar står beskrivet under stycke 6 i karttapullautin-posten

Den andra är ju helt klart smidigast när man jobbar med stora områden. Dock kan det bli jobbigt för polygonize att köra för stora filer så välj ut det område som är relevant och kör igenom det. Kanske är det så att min terrängtyp med hav, klippor och mycket öppna områden gör att det blir jobbigare än om man har övervägande stor skog och därmed mest vitt på kartan.

Det gula och gröna får så konstiga kanter – vad gör man åt det?

Vegetationsfilerna som kommer ut från karttapullautin har inga rundade kanter utan ser väldigt pixliga ut. Vill man göra kartan snyggare så går det att i OCAD markera tex en gul yta och i Objekt-menyn köra ”gör om till kurvlinje”. Då blir kantobjekten bézier kurvor iställer för punkter med raka streck mellan.

Om polygonize används för andra ändamål än vegetationsfilerna

Polygonize jobbar med png-filer som är sparade med indexerad färgkarta. I bildprogram som photoshop och gimp kan man ändra bildtypen till indexerad färg istället för tex RGB. Om man har en bild som är sparad i png, georefererad med world-fil och är med indexerad färgkarta (helst med begränsat antal färger) så kan polygonize omvandla det till vektorformat. Ett case som jag använt det för är för att få in klippor som gråa fält på mina kartor. Jag tror det kräver en egen post för att gå igenom det arbetsflödet….

4 svar på ”Göra om bilder till editerbara objekt i kartprogrammet med hjälp av programmet polygonize”

[…] Med karttapullautin får jag ut bilder på vegetationen, dvs gult och grönt. Joakim Svensk har skrivit programmet Polygonizer som gör om dessa bildfiler till shapefiler för varje färg. Superanvändbart när jag vill ha in allt som karttecken i mina projekt och inte bara som bilder i bakgrunden. Mitt arbetssätt är beskrivet här: Göra om bilder till editerbara objekt i kartprogrammet med hjälp av programmet polygonize […]

Gilla

Stefan, du er vel klar over at jeg i min batch prosess for å lage OCAD grunnlagsfiler så har jeg også et program som konverterer de lavpass-filtrerte rasterfilene til OCAD objekter?

Jeg skiller mellom hvit, gul, tre grønntoner og grønne striper, og bruker samme grenselinje for all objekter som ligger an mot hverandre. Jeg tar også et grovt lavpass filter på hver av grenselinjene før konverteringen.

Gilla

Hej,
Jag tittade på dina beskrivningar och processer när jag började jobba med laserfiler. Av olika anledningar, mest för att jag börjat med karttapullautin och Joakim Svensks instruktioner så har jag fortsatt förfina användandet av de verktygen och metoderna. Så jag har inte satt mig in i detalj i de processer du utvecklat. Att skilja ut det grön-randiga är en förbättring jämfört med det jag lyckas göra med pologynize. Vad mer blir skillnaden i resultatet? Förutom att vägen dit är annorlunda? Tips för att göra resultatet bättre och enklare är alltid välkommet!

För att ta bort de små fälten av grönt och gult brukar jag öppna shapefilen i qgis och filtrera bort de fält som är för små.

Gilla

Svara

Tried running the polygonize program, but am getting some sort of error with respect to gdal it seems. gdal seems to be installed properly.

error 1 can’t load requested dll 127 the specified procedure cannot be found

it shows this error for each gdal plugin dll file. i tried researching this, I’ve found things online about making sure the path is correct and also checking the environment variables. but still not working for me. so not sure if I’m not setting the path correctly or there is something else going on.

also before it crashes, it shows memory error and polygonize returned -1

Any assistance would be appreciated.

Gilla

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com-logga

Du kommenterar med ditt WordPress.com-konto. Logga ut /  Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut /  Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut /  Ändra )

Ansluter till %s