110 likes | 290 Views
Print af vektordata med Kortforsyningen. Nikolaj Kamstrup National Geodatabank, Kort & Matrikelstyrelsen. Problem: Store billeder. Tommerfingerregel på op til 20 px/mm medfører meget store billeder store datamængder over Internettet. Problem: Forkert skalering.
E N D
Print af vektordata med Kortforsyningen Nikolaj Kamstrup National Geodatabank, Kort & Matrikelstyrelsen
Problem: Store billeder • Tommerfingerregel på op til 20 px/mm medfører meget store billeder store datamængder over Internettet
Problem: Forkert skalering • WMS server beregner målestoksforholdet for en forespørgsel baseret på BBOX, WIDTH og HEIGHT samt nogle prædefinerede værdier • Labels/tekster defineres ofte med en fontstørrelse, som kan afhænge af det forespurgte målestoksforhold • Tommelfingerreglen betyder, at WMS serveren danner et svar i et målestoksforhold, som man efterfølgende printer i et andet målestoksforhold især tekster kan få et overraskende udseende på printet
Vektoroutput fra WMS • En delmængde af WMS’erne i Kortforsyningen understøtter SVG (Scalable Vector Graphic) som outputformat • I modsætning til PNG og JPEG er SVG vektorer (defineret i XML) • SVG anvender sit eget koordinatsystem geometrier passer indbyrdes men kan ikke umiddelbart kombineres med andre SVG
Eksempel på forespørgsel http://kortforsyningen.kms.dk/service?kms_vector_extended_01& service=WMS& version=1.1.1& request=GetMap& srs=EPSG:25832& bbox=721000,6193000,724384,6195340& layers=HAVBOX,LANDG,REKROMR,KIRKEGD,SPORTANL,SKOV,VAADOMR,BYKERNE,HOJBEBYG,LAVBEBYG,VANDL_BR,SOE,BYGNING,KYST,HAVN,VEJE,MAT_REG,MAT_NR& styles=,,,,,,,,,,,,gray_orange,,,gray_white,,& width=3384& height=2340& format=image/svg%2Bxml& exceptions=application/vnd.ogc.se_inimage& bgcolor=0xDFF3FF& transparent=FALSE
Print af SVG • SVG (XML) er målrettet skærm og ikke papir, hvilket kan medføre fejlagtigt målestoksforhold og udsnit/udbredelse • PDF er i modsætning til SVG målrettet print • Med XSL:FO kan man transformere SVG til PDF XSL:FO (Extensible Stylesheet Language Formatting Objects) er et XML-baseret markup language, der bruges til at specificere layout og præsentation af XML indhold i printvenlige formater fx PDF
Eksempel på forespørgsel <fo:root xml2pdfversion="2.4.0.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name=”myMasterPage" page-height="840mm" page-width="1192mm" margin-top="30mm" margin-bottom="30mm" margin-left="30mm" margin-right="30mm" reference-orientation="0"> <fo:region-body region-name= "myRegionBody" margin="0cm" /> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference=”myMasterPage"> <fo:flow flow-name=” myRegionBody"> <fo:block-container absolute-position="absolute" left="0mm" top="0mm"> <fo:block> <fo:external-graphic content-type="image/svg+xml" border="1px solid black" src="url(vedbaek.svg)" height="780mm" width="1128mm" content-height="780mm" content-width="1128mm" /> </fo:block> </fo:block-container> </fo:flow> </fo:page-sequence> </fo:root>
Filter Encoding er understøttet • Både SLD og Filter Encoding er understøttet
Kendte mangler og fejl • Der findes en række områder, som ikke er understøttet helt eller delvist fx • Eksterne SVG symboler til fyld i polygoner eller som symbol for punkter ”forsvinder” • Stiplede linjer bliver fuldt optrukne • Den specielle matrikelnr. font med hævet litra er pt. ikke understøttet
Vil du vide mere • Artikel og dokumentation på udvikler.kms.dk