Shape tiedostojen käsittely .shp

Shp2Dxf-palvelu, MML aineisto DXF:nä Ocadiin kiinteistörajoineen vektorina, ei vain taustakuvana.

Shp2Dxf-ohje

Mallituotos Shp2Dxf Ocadissä:

Shp2Dxf tarjoaa myös valmiit linkit vonovarjokuville samalta alueelta. Ohessa esimerkki kun ko. varjokuvat laitettu taustakuvaksi.

Pullautin pohjatiedoksi, jatketaan tuosta shape tiedostojen hyödyntämisellä.

  • avaa MML:n *shp.zip tiedostot
  • shp tiedostot voi lukea suoraan Ocad 11 Pro-versioissa tai uudessa Ocad 12 Orienteering versiossakin on jo shape tiedostojen sisäänluku
  • Ko. Shp tuonti vaatii kuitenkin osaamista, mielestäni ei ole vielä valmis vaikka näin antavat ymmärtää. Edelleen liian insinöörimäinen käyttö.
  • Tulisi toimia suunnilleen niin, että valitset *.shp tiedostot ja kerrot konversiotiedoston, jossa kuvataan kuinka mikäkin shape-tiedoston symboli konvertoidaan Ocadiin
  • Lähdin ratkaisemaan ongelmaa hyödyntämällä sitä, että DXF tuonti Ocadiin on mahdollista em. kuvatulla tavalla: Tuo tiedosto *.dxf ja käytä CRT-tiedostoa konvertoimaan DXF-tiedostojen symbolit Ocad-symboleiksi
  • Lopputuloksena syntyi Shp2Dxf palvelu. Perustuu Gdal-työkalujen käyttöön ja vähän omaa siihen päälle
    • Huikealla ogr2ogr komennolla voi vaikka muuttaa shp⇒dxf. Hakemistossa oltava myös vastaava .shx sekä luokkakäsittelyssä .dbf.
  • Shp2Dxf tukee myös Ocad 12 versiota
# esim. l-alkuiset ovat tiestöä ja 
# lopussa oleva v kertoo että tässä tiedostossa 
# on tiet viivoina.
 ogr2ogr -f "DXF" tiet.dxf l_L3342L_v.shp
  • j_L3341L_v - johdot viiva - sähkölinja
  • l_L3342L_v - liikenne viivat - ajotie
  • r_L3341L_p - rakennus polygon (526.0)
  • n_L3341L_p - maasto, hakkuuaukko (404.0)
  • m_L3342L_p - maasto, pellot, kalliot, suot

Esimerkki eräästä suomalaisesta paikasta, valittu ihan satunnaisella otannalla. Kaikki muu on Ocad:ssä symboleina paitsi Pullattimen antama kasvillisuuskuva (vegetation.png+pgw).

Esimerkkidata, syntynyt em. palvelulla n. kahdessa minuutissa. Lue ohjeista kuinka helposti luet ko. datan Ocadiin ja saat valmiin maastokartan MML:n aineistosta.. Nopeammin kuin Ocadin omalla shp-käsittelyllä ja vähemmillä työvaiheilla.

Ko. paketissa tulee mukana muutama tiedosto, joita voit käyttää myös Pullauttimen dxf-tiedostojen tuontiin Ocadiin:

  • laser.crt ja laser_125.crt
  • awlaser.12.ocd ja awlaser.11.ocd (myös 9 ja 10 versiot)

Ortokuvatkin saa helposti nyt Ocadiin (Ocad 12) ilman erillisiä noutoja. Huikea lisä helposti. Samoin OpenStreetMap Ocadiin.

Kuinka käsittelen ?

Laserdata

  • laserdata käsittelen Ryypön Jarkon upealla Pullauttimella
  • output-kansioon Pullautin tekee valmiit dxf-tiedostot, jotka voii tuoda Ocadiin.
  • lopputuloksena muutama dxf tiedosto
  • Jos olet tehnyt apukäyrät esim. 1.25 niin tuo ne ensin yksinään CRT:llä laser_125.crt ja sen jälkeen kaikki loput Tuo tiedosto kerralla Ocadiin CRT:llä laser.crt
  • Sitten Kartta :: Muunna tuodut tasot symboleiksi …, tai käytä oheisia CRT-tiedostoja
laser.crt
102.000 contour_index
102.000 depression_index
101.000 contour
101.000 depression
101.003 contour_intermed
101.003 depression_intermed
201.004 cliff3
203.004 cliff2
103.004 1010
114.002 udepression
112.002 uglydotknoll
112.002 dotknoll
114.002 uglyudepression
  • lopuksi Taustakuviksi Pullattimen paikkatiedot sisältävät vegetation.png tiedostot
  • Ocad Näytä :: Konseptila, niin saa säädettyä taustakuvien voimakkuutta suhteessa muuhun dataan

Nyt on laseraineisto siististi Ocad:ssä mutta MML:n muu aineisto odottaa vielä ”automaatiota”. Seuraavassa kappaleessa sekin pannaan pakettiin.

Muu MML data

  • avaan *shp.zip tiedoston auki
  • lopputuloksena yksi zip-tiedosto, jossa mukana tarvittava ocd-tiedosto, tarvittavat crt-tiedosto ja lyhyt ohje
  • teen crossitiedoston, jossa linkitetty muokattu MML:n luokka ja Ocadin symbolinro, pohjautuu MML:n määritystiedostoon
mml_luokat.csv
nimi;ryhma;tyyppi;ryhmaid;luokkaoma;ocad;vpst;ryhmakoodi;kulkutapa;symbol;luokka;kartoglk;huom
Aitasymboli (poistunut kohde);Rakennukset;Piste;47;9325;;;;1;4709325;9325;;
Kulkukorkeusrajoitteen korkeus;Tiestö;Teksti;55;10111;805.103;t;;1;5510111;10111;;
Autotien nimi;Paikannimet;Teksti;55;12101;805.103;t;;1;5512101;12101;;
Autotien siltanumero;Tiestö;Teksti;55;12105;805.103;t;;1;5512105;12105;;
Autotien lauttanumero;Tiestö;Teksti;55;12106;805.103;t;;1;5512106;12106;;
Autotie Ia;Tiestö;Viiva;25;12111;501.000;v;;1;2512111;12111;;
Autotie Ib;Tiestö;Viiva;25;12112;501.000;v;;1;2512112;12112;;
Autotie IIa;Tiestö;Viiva;25;12121;502.000;v;;1;2512121;12121;;
Autotie IIb;Tiestö;Viiva;25;12122;502.000;v;;1;2512122;12122;;
Autotie IIIa;Tiestö;Viiva;25;12131;503.000;v;;1;2512131;12131;;
Autotie IIIb;Tiestö;Viiva;25;12132;503.000;v;;1;2512132;12132;;
...
Korkeuskayra  2.5m;Korkeussuhteet;Viiva;20;52101;103.002;v;k;1;2052100;52100;;
Korkeuskayra  5m;Korkeussuhteet;Viiva;20;52101;101.001;v;k;1;2052101;52101;;
Korkeuskayra 20m;Korkeussuhteet;Viiva;20;52102;102.001;v;k;1;2052102;52102;;
Korkeuskäyrän korkeusarvo;Korkeussuhteet;Teksti;17;52191;805.108;t;;1;1752191;52191;;
Korkeuskäyrän viettoviiva;Korkeussuhteet;Piste;14;52192;104.001;s;;1;1452192;52192;;
Apukäyrän viettoviiva;Korkeussuhteet;Piste;14;52193;104.001;s;;1;1452193;52193;;
Korkeuspiste;Korkeussuhteet;Teksti;17;52210;805.109;t;;1;1752210;52210;;
...

missä t=teksti, v=vektori, s=symboli, p=polygoni - minkä tyyppisestä objektista on kyse.

Tuon listan avulla

  • shp-tiedostoista kaivetaan jokainen luokka omaan dxf-tiedostoon käyttäen ogr2ogr komentoa
  • annetaan symbolille tunniste em. listalta
  • muutetaan dxf takaisin shp tiedostoksi käyttäen ogr2ogr komentoa
  • yhdistetään kolmeksi shp tiedostoksi, kukin tyyppi (v, p, s) omakseen käyttäen ogr2ogr komentoa
  • muutetaan ko. kolme tiedostoa dxf tiedostoiksi käyttäen ogr2ogr komentoa
  • erityiskäsittely teksti-tyypeille ja korkeuskäyrän viettoviivoille. Tässä kohtaa omaa innovaatiota kuinka MML shp datasta saadaan sopivaa dxf-dataa Ocadiin. Valitettavasti Gdal:n DXF-ajuri ei osaa suuntaa, siksi jouduin itsekin hieman koodaamaan. teksteissä huomioidaan kulma eri alueilla. Suomessa 4-8 riippuen sijannista.
  • Ocadiin Tuo tiedosto kaikki viisi tiedostoa
  • Sitten Kartta :: Muunna tuodut tasot symboleiksi …, ohessa oma CRT, joka syntyy automaattisesti jo aikaisemmassa csv-käsittelyssä.
mml.crt
532.000 1332291
208.001 1332591
421.001 1332710
421.002 1332713
421.003 1332714
212.001 1334100
208.000 1334200
207.000 1334600
418.000 1334900
419.000 1335100
313.000 1336100
303.000 1336400
104.001 1452192
104.001 1452193
104.000 1454192
805.103 1632101
805.103 1632102
805.103 1632201
805.103 1632202
805.103 1632301
805.103 1632302
805.103 1632401
805.103 1632402
805.103 1632501
805.103 1632502
805.103 1632602
805.103 1632901
805.103 1632902
805.103 1633001
805.103 1633002
805.103 1633101
805.103 1633102
805.103 1634601
805.103 1634901
805.103 1634902
805.103 1635010
805.103 1635020
805.103 1635030
805.103 1635040
805.103 1635050
805.103 1635060
805.103 1635070
805.103 1635080
805.103 1635090
805.103 1635101
805.103 1635102
805.105 1636101
805.104 1636201
805.105 1636291
805.105 1636301
805.103 1636500
805.108 1752191
805.109 1752210
805.110 1754191
805.111 1754210
805.103 1892401
414.000 1930100
301.001 1930211
414.002 1930212
301.001 1930220
416.000 1930221
504.000 1930300
504.000 1930400
309.001 1930900
414.003 1930999
201.005 1934400
106.000 1934800
804.000 1935200
308.000 1935500
306.000 1936311
305.000 1936312
103.002 2052100
101.001 2052101
102.001 2052102
103.101 2054100
103.102 2054101
103.103 2054102
103.104 2054103
414.000 2230211
416.000 2230212
414.004 2230999
416.000 2239500
509.000 2384113
414.004 2384114
509.000 2384115
501.000 2512111
501.000 2512112
502.000 2512121
502.000 2512122
503.000 2512131
503.000 2512132
504.000 2512141
509.000 2512312
507.000 2512313
507.000 2512313
504.001 2512314
505.000 2512316
505.000 2512316
515.000 2514110
515.000 2514111
515.000 2514112
515.000 2514121
515.000 2514131
505.000 2516511
414.000 2516512
416.002 2630999
414.005 2672000
414.005 2672410
414.005 2672420
414.005 2672440
416.002 2672500
414.000 2742200
524.000 2744211
410.001 2744213
301.001 2744300
504.001 2745111
504.001 2745112
414.000 2822200
517.000 2822300
517.000 2822311
516.000 2822312
533.000 2826111
533.000 2826112
533.000 2826113
533.000 2826114
533.000 2826115
533.000 2826116
533.000 2826117
704.000 2962100
416.002 2962200
414.000 3440100
208.001 4238511
207.000 4238512
207.000 4238513
540.000 4512200
314.000 4516121
314.000 4516122
314.000 4516126
314.000 4516600
314.000 4516712
314.000 4516721
314.000 4516722
519.000 4516800
540.000 4672330
540.000 4672340
540.000 4744700
535.000 4744800
540.000 4744900
535.000 4745000
539.000 4745200
539.000 4745400
535.000 4745500
540.000 4745710
535.000 4745800
539.000 4822100
540.000 4822391
540.000 4822392
312.000 4826200
603.000 5095111
603.000 5095112
603.000 5095113
603.000 5095211
603.000 5095212
603.000 5095213
603.000 5095214
805.105 5236410
805.105 5236420
805.106 5236490
805.105 5238201
805.105 5238501
805.103 5238901
805.103 5238902
805.103 5239502
805.103 5382102
805.103 5382202
805.103 5382302
805.103 5382402
805.103 5382501
805.103 5384302
805.103 5384303
805.103 5385100
805.103 5510111
805.103 5512101
805.103 5512105
805.103 5512106
805.103 5512181
805.103 5512182
805.103 5512183
805.103 5512301
805.103 5512302
805.103 5514201
805.103 5516101
805.103 5516102
805.100 5516503
805.101 5516504
805.103 5516508
805.102 5516703
805.103 5672201
805.103 5672202
805.103 5672303
805.103 5672304
805.103 5672403
805.103 5672404
805.103 5672501
805.103 5672502
805.103 5672601
805.103 5672603
805.103 5672604
805.103 5672701
805.103 5672801
805.103 5672802
805.103 5742101
805.103 5742102
805.103 5742201
805.103 5742202
805.103 5744202
805.103 5744301
805.103 5744302
805.103 5744901
805.103 5744902
805.103 5745002
805.103 5745303
805.103 5745402
805.103 5745502
805.103 5745702
805.103 5745802
805.103 5748111
805.103 5748112
805.107 5748120
805.103 5748130
805.103 5748190
805.103 5826202
805.103 5962102
805.103 5962202
805.103 6095302
211.000 6432111
211.000 6432112
403.000 6432113
528.000 6432200
529.000 6432300
529.000 6432410
529.002 6432411
529.000 6432412
403.000 6432413
403.000 6432414
529.002 6432415
529.000 6432416
529.002 6432417
529.000 6432418
529.000 6432421
211.001 6432500
415.000 6432611
412.000 6432612
402.000 6432800
402.001 6432900
529.000 6433000
403.000 6433100
212.000 6434100
211.000 6434300
211.001 6434700
311.000 6435300
310.000 6435400
310.002 6435411
310.000 6435412
309.000 6435421
310.000 6435422
301.000 6436200
301.000 6436211
302.000 6436313
301.000 7038300
301.000 7038400
211.001 7038600
407.100 7038700
529.000 7038900
404.000 7039110
407.000 7039120
403.000 7039130
808.001 7472200
808.000 7472201
808.000 7472202
808.001 7472500
808.001 7472800
526.000 7542210
526.000 7542211
526.000 7542212
526.000 7542220
526.000 7542221
526.000 7542222
526.000 7542230
526.000 7542231
526.000 7542232
526.000 7542240
526.000 7542241
526.000 7542242
526.000 7542250
526.000 7542251
526.000 7542252
526.000 7542260
526.000 7542261
526.000 7542262
526.000 7542270
301.000 7544300
407.100 7762200
527.000 8240200
  • valmista - kesti alle 2 minuuttia sen jälkeen kun Shp2Dxf oli tehnyt oman osansa. Siitäkin suurin osa meni odotellessa Ocadin lukiessa aika ison kasan dxf-dataa.
  • 2 min Shp2Dxf
  • zip-lataus ja purku
  • 2 min Ocadissä sisään lukua
  • Peruskartta vektorina valmis

Tuon jälkeen voi jatkaa Pullattimen tuottaman DXF:n sisäänluvulla.

Omissa ocd-tiedostoissa on MML ja Laser-käyrillä omat symbolit = voi vapaasti miettiä kuinka näkyy ja miten käyttää.