XML Script: Difference between revisions
(→Map) |
|||
Line 91: | Line 91: | ||
| Map.LoadSymbolsFrom || File || String || ocd file name (with symbols to be loaded) <br> The option ''replace existing colors and symbols'' is used | | Map.LoadSymbolsFrom || File || String || ocd file name (with symbols to be loaded) <br> The option ''replace existing colors and symbols'' is used | ||
|- | |- | ||
| Map.ScaleAndCoordinateSystem | | Map.ScaleAndCoordinateSystem || CoordinateSystem|| Integer|| internal grid id | ||
|- | |- | ||
| Map.Transform.ChangeCoordinateSystem | | Map.Transform.ChangeCoordinateSystem || CoordinateSystem<BR>EastingOffset<BR>NorthingOffset<BR>ScaleSymbols|| Integer<BR>Integer<BR>Integer<BR>Boolean|| internal grid id <BR><BR><BR>true, false | ||
|- | |- | ||
|} | |} | ||
===Database=== | ===Database=== |
Revision as of 09:51, 13 January 2017
Choose this command to execute functions whose settings are defined in a XML file.
Introduction
Select Execute XML Script from File menu or drag-and-drop then xml file to the OCAD window.
XML Script General
File
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.New | File MapScale Easting Northing Angle |
String Integer Integer Integer Double |
file name of existing symbol set 10000 600000 200000 4.5 |
File.Open | File IgnoreMissingBackgroundMaps |
String Boolean |
ocd file name true, false (default: false) |
File.Close | Enabled | Boolean | true, false |
File.Save | Enabled | Boolean | true, false |
File.SaveAs | File | String | ocd file name |
File.Import.Ocd | File SymbolOption ColorOption |
String Integer Integer |
File name [0..3] [0, 1] |
File.MultipleFileImport | Directory CoordinateSystem NewOffset Horizontally Vertically Angle MapScale GridDistance DatabaseType Codepage KeyField LayerField |
String Integer Boolean Integer Integer Double Integer Double Integer Integer String String |
Directory of import files -1 = WGS 84, 1000 = existing grid of OCAD file 0 = dBase, 1 = Access 2007, 2 = Access 2003/2010, 3 = Do not create a database 0 = Default, Codepage number ' ' = Create new key field, field name ' ' = do not import layer information, field name |
File.Exit | Enabled | Boolean | true, false |
View
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
View.Mode | Enum types | normalMode, spotColorMode, draftMode | |
View.EntireMap | Enabled | Boolean | true, false |
View.MoveTo | X Y |
Double Double |
|
View.Zoom | Double |
Symbol
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
Symbol.ChangeStatus | Number Status |
integer integer |
e. g. 100000 for symbol number 100.000 [0, 1, 2, 3] for normal, proteced, hidden and hidden protected |
Map
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
Map.OptimizeRepair | Enabled | Boolean | true, false |
Map.ChangeScale | NewScale EnlargeReduceSymbols |
Integer Boolean |
e. g. 10000 true, false |
Map.ConvertLayer | CrtFile | String | crt file name |
Map.DeleteObjectsBySymbol | SymbolNumber | Double | e.g. 526.002 |
Map.LoadSymbolsFrom | File | String | ocd file name (with symbols to be loaded) The option replace existing colors and symbols is used |
Map.ScaleAndCoordinateSystem | CoordinateSystem | Integer | internal grid id |
Map.Transform.ChangeCoordinateSystem | CoordinateSystem EastingOffset NorthingOffset ScaleSymbols |
Integer Integer Integer Boolean |
internal grid id true, false |
Database
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
Database.Dataset.New | DatasetName DBaseFile OdbcDataSource Table KeyField SymbolField TextField SizeField LengthUnit AreaUnit Decimals HorizontalCoordinate VerticalCoordinate Username Passwort |
String String String String String String String String String String Integer String String String String |
mandatory mandatory mandatory |
Database.Dataset.Remove | Dataset | String Integer |
all for all databases 3, 2, 1, ... for only one or several |
Database.Assign.Symbols | Dataset CntFile |
String Integer String |
all for all databases 1, 2, 3, ... for only one database Condition table file |
Database.Assign.Texts | Dataset TextField Condition Symbol ReplaceExistingObjects |
String Integer String String String Boolean |
all for all databases 1, 2, 3, ... for only one database ex. 101.0 true, false (Default) |
Database.SetObjectDirection | Dataset AngleField MathematicalFunction |
String Integer String String |
all for all databases 1, 2, 3, ... for only one database eg.: *180/3.14159 |
Database.CreateObjects | Dataset SelectSymbol Condition HorizontalCoordinate VerticalCoordinate Unit TextField HorizontalOffset VerticalOffset |
Integer Double String String String Enum types String Double Double |
1, 2, 3, ... Number of dataset Symbol numer. ex. 207.0 SQL String (ex. SYMBOL LIKE 207.0) Database fieldname Database fieldname m, km Database fieldname |
Background Map
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
BackgroundMap.Open | FileName Visible VisibleInFavorites Dimm Transparent SpotColor Blockout Infrared |
String Boolean Boolean Integer Boolean String Boolean Integer |
true, false; Default = true true, false; Default = true [0..100]; Default = 0 [only works if Blockout is false] true, false; Default = false [only works if Blockout is false] spot color name true, false; Default = false 0=undefined, 1=32bit-infrared, 2=32bit RGB |
BackgroundMap.Remove | String | all or filename | |
BackgroundMap.Reload a) | String | all or filename |
a): Limited functionality. Not avaiable for all users.
Example
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- OCAD XML Script for multiple Shape import and assigning symbols from database --> <OcadScript> <File.New> <!-- This path has to be adjusted before using the script! Choose a template file. --> <File>C:\Export\Chlosterwald.ocd</File> </File.New> <File.MultipleFileImport> <!-- This path has to be adjusted before using the script! --> <Directory>C:\Export\Files</Directory> <CoordinateSystem>1000</CoordinateSystem> <NewOffset>true</NewOffset> <Horizontally>600000</Horizontally> <Vertically>200000</Vertically> <Angle>0</Angle> <MapScale>10000</MapScale> <GridDistance>500</GridDistance> <LayerField>OBJECTVAL</LayerField> </File.MultipleFileImport> <Database.Assign.Texts> <Dataset>all</Dataset> <Condition/> <TextField>TEXT</TextField> <Symbol>902.000</Symbol> <ReplaceExistingObjects>false</ReplaceExistingObjects> </Database.Assign.Texts> <Database.Assign.Angles> <Dataset>all</Dataset> <AngleField>ANGLE</AngleField> </Database.Assign.Angles> <Database.Assign.Symbols> <Dataset>all</Dataset> <CntFile>C:\Export\Chlosterwald.cnt</CntFile> </Database.Assign.Symbols> <Database.Dataset.Remove> <Dataset>all</Dataset> </Database.Dataset.Remove> <Map.OptimizeRepair> <Enabled>true</Enabled> </Map.OptimizeRepair> <View.EntireMap> <Enabled>true</Enabled> </View.EntireMap> <File.Save> <Enabled>false</Enabled> </File.Save> <File.SaveAs> <File>C:\Export\Chlosterwald_Example.ocd</File> </File.SaveAs> <File.Close> <Enabled>true</Enabled> </File.Close> <File.Exit> <Enabled>false</Enabled> </File.Exit> </OcadScript>
XML Script Thematic Maps
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.CreateThematicMap | <MapTheme> Name StatDataPath StatDataTable StatDataCommonField VisualizeAttributes AttributesValuesType Classify RepresentationFeature GeometryDataPath GeometryDataCommonField JoinType VisualizationMethod VisualizationType <VisualizationProperties> ScalingMode MaxSize MinSize FillColor StrokeColor StrokeMaxWidth StrokeMinWidth DecreaseStroke ShowZeroValue ShowNoData Opacity ThemeLegendTitle </VisualizationProperties> </MapTheme> <MapTitleStyle> Color Opacity Font Size isBold isItalic Alignment </MapTitleStyle> <LegendTitleStyle> see MapTitleStyle... </LegendTitleStyle> <LegendTextStyle> see MapTitleStyle... </LegendTextStyle> AddScaleBar AddScaleText AdditionalInformationText |
string string string string string ValueType ClassifyType RepresentationFeatureType string string JoinType VisualizationMethodType VisualizationTypeType ScalingModeType double double FillColor StrokeColor double double boolean boolean boolean integer string ColorType integer string double boolean boolean AlignmentType ... ... boolean boolean string |
Theme name statistic data file path Sheet or table for Excel or Access files Common Id field Attribute(s) to visualize: Ex. 2004 or 2009|2011 absolute, relative yes, no point, line, area Geometry data file path Common Id field see Thematic Map Data Types table see Thematic Map Data Types table see Thematic Map Data Types table see Thematic Map Data Types table max. size in mm min. size in mm fill color: ex. C=84 M=0 Y=128 K=0 stroke color: ex. C=0 M=0 Y=0 K=255 max. stroke width in mm min. stroke width in mm true, false true, false true, false % ThemeLegendTitle font color: ex. C=0 M=0 Y=0 K=255 opacity in % font name font size true, false true, false 0=align bottom left ... ... true, false true, false Ex. Coordinate system: Pseudo-Mercator |
Thematic Map Data Types
Data type | Values |
---|---|
ValueType | absolute, relative |
ClassifyType | yes, no |
RepresentationFeatureType | point, line, area |
JoinType | 0=KeepAllRecords, 1=KeepOnlyMatchingRecords |
VisualizationMethodType | mProportionalSymbols, vmProportionalLines, vmProportionalArrows, vmGraduatedSymbols, vmGraduatedLines, vmGraduatedArrows, vmChoropleths, vmCharts |
VisualizationTypeType | vtProportionalBar, vtProportionalCircle, vtProportionalSquare, vtProportionalLine, vtProportionalArrow, vtGraduatedBar, vtGraduatedCircle, vtGraduatedSquare, vtGraduatedLine, vtGraduatedArrow, vtChoropleth, vtPieChart, vtWingChart, vtBarChart, vtDividedPieChart, vtDividedWingChart, vtDividedBarChart, vtStackedBarChart, vtPercentageStackedBarChart |
ScalingModeType | 0=scaling by representation ratio, 1=scaling by max. size |
DataClassificationMethodType | cmManual, cmNaturalBreaks, cmEqualIntervals, cmQuantiles |
ColorType | CMYK color definition [0..255]: C=84 M=0 Y=128 K=0 |
Thematic Map Script Examples
The following example creates a thematic map with proportional squares about the population in europe 2011.
<?xml version="1.0" encoding="UTF-8"?> <OcadScript> <OcadVersion>OCAD 12.0.1.515 - Professional 32-bit</OcadVersion> <File.New> <File>Thematic Map.ocd</File> <MapScale>25000000</MapScale> </File.New> <File.SaveAs> <File>Thematic Map Population Europe ProportionalSquare.ocd</File> </File.SaveAs> <File.CreateThematicMap> <MapTheme> <Name>Population 2011</Name> <StatDataPath>C:\import\population.xls</StatDataPath> <StatDataTable>Sheet0$</StatDataTable> <StatDataCommonField>id</StatDataCommonField> <VisualizeAttributes>2011</VisualizeAttributes> <AttributesValuesType>absolute</AttributesValuesType> <Classify>no</Classify> <RepresentationFeature>point</RepresentationFeature> <GeometryDataPath>C:\import\europe.shp</GeometryDataPath> <GeometryDataCommonField>ne_10m_adm</GeometryDataCommonField> <JoinType>0</JoinType> <VisualizationMethod>vmProportionalSymbols</VisualizationMethod> <VisualizationType>vtProportionalSquare</VisualizationType> <VisualizationProperties> <ScalingMode>1</ScalingMode> <MaxSize>30.00</MaxSize> <MinSize>1.00</MinSize> <FillColor>C=84 M=0 Y=128 K=0</FillColor> <StrokeColor>C=0 M=0 Y=0 K=181</StrokeColor> <StrokeMaxWidth>0.40</StrokeMaxWidth> <StrokeMinWidth>0.08</StrokeMinWidth> <DecreaseStroke>true</DecreaseStroke> <ShowZeroValue>true</ShowZeroValue> <ShowNoData>true</ShowNoData> <Opacity>80</Opacity> <ThemeLegendTitle>Population</ThemeLegendTitle> </VisualizationProperties> </MapTheme> <MapTitle>Population in Europe 2011</MapTitle> <DefaultTextStyle> <Color>C=0 M=0 Y=0 K=150</Color> <Opacity>100</Opacity> <Font>Arial</Font> <Size>9.0</Size> <isBold>0</isBold> <isItalic>0</isItalic> <Alignment>0</Alignment> </DefaultTextStyle> <MapTitleStyle> <Opacity>80</Opacity> <Size>24.00</Size> <Alignment>1</Alignment> </MapTitleStyle> <AddThemeLegend>true</AddThemeLegend> <AddBasemapLegend>true</AddBasemapLegend> <LegendTitleStyle> <Size>12.0</Size> </LegendTitleStyle> <LegendTextStyle> <Size>9.0</Size> </LegendTextStyle> <AddScaleBar>true</AddScaleBar> <AddScaleText>true</AddScaleText> <AdditionalInformationText>OCAD ThematicMapper sample map</AdditionalInformationText> </File.CreateThematicMap> <File.Save> <Enabled>true</Enabled> </File.Save> </OcadScript>
XML Script Partial Map
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
Export | File coordSystem L, R, B, T |
String Enum types Float |
eg.: ‚ c:\export\PartialMap1.ocd ‘ OCAD creates files PartialMap1_#verticalPages_#horizontalPages.ocd mm (paper, m (real world) left, right, bottom, top |
Export.loop | Enabled HorizontalPages VerticalPages HorizontalOverlap VerticalOverlap |
Bool Integer Integer Float Float |
true, false number of pages in horizontal direction number of pages in vertical direction horizontal overlap in [mm] or [m] vertical overlap in [mm] or [m] |
Example
The following example exports parts of an ocad map.
<ocadScript> // comment <partialMapScript><br> <export id="0"> // first export section <file>c:\export\PartialMap1.ocd</file> // export file <coordSystem>mm</coordSystem> // paper oder real world coordinates <T>100</T> // export rectangle with Top Left point and Bottom Right point <L>0</L> <B>50</B> <R>50</R> <loop> // the loop export several ocd files. For this example 21 files. <enabled>true</enabled> <horizontalPages>7</horizontalPages> <verticalPages>3</verticalPages> <horizontalOverlap>10</horizontalOverlap> // horizontal and vertical overlap. <verticalOverlap>10</verticalOverlap> </loop> </export> <export id="1"> // second export section <file>c:\export\PartialMap2.ocd</file> <coordSystem>mm</coordSystem> <L>0</L> <R>50</R> <B>50</B> <T>100</T> <loop> // export only one ocd file <enabled>false</enabled> </loop> </export><br> </partialMapScript> </ocadScript>
XML Script Print
Print parameters can be saved in a XML script.
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Print.Printer | Name DmPaperSize DmDefaultSource DmPrintQuality DmColor DmMediaType |
String Integer Integer Integer Integer Integer |
Eg. ,HP Color LaserJet 2840 PCL' File->Print->Save XML Script->Open the Script and depending on which printer was choosen, the informations are there. |
File.Print.Portrait | Enabled | Bool | true, false |
File.Print.SpotColor | Enabled Colors |
Bool String |
true, false Name of the spot color(s) |
File.Print.PartOfMap | Range Coordinates L, R, B, T |
Integer Enum types Float |
1 mm (page), m (real world) Left, Right, Bottom, Top |
File.Print.HorizontalOverlap | Float | ||
File.Print.VerticalOverlap | Float | ||
File.Print.PrintScale | Integer | Eg. 25000 | |
File.Print.Copies | Integer | Number of copies | |
File.Print.Intensity | Integer | ||
File.Print.LineWidth | Integer | ||
File.Print.PrintScreenGrid | Enabled PrintScreenGridColor |
Bool Integer |
true, false Ocad color number |
XML Script Export
Watch out for the file endings.
Resolution is only used if File.Export.GeoRef -> Enabled = false
AI (Adobe Illustrator), PDF
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Export | File Format Resolution ExportScale |
String Enum types Integer Integer |
eg.: ,c::\Export\Chlosterwald.ai‘ AI, PDF in dpi [40..2540] (only if the map has raster background maps) eg. '10000' for the scale 1:10'000 |
File.Export.PartOfMap | Enabled Coordinates L, R, B, T |
Bool Enum types Float |
true, false mm (page), m (real world) left, right, bottom, top |
File.Export | Colors | Enum types | normal, spotColors |
File.Export.SpotColors | Combine Enabled |
Bool String |
true, false [only if Colors = spotColors] Spotcolor name [only if Colors = spotColors] |
BMP, GIF, JPEG
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Export | File Format Quality Resolution Anti-Aliasing ColorCorrection |
String Enum types Integer Integer Boolean Boolean |
eg.: ‚c:\Export\Chlosterwald.bmp‘ BMP, GIF, JPEG only for JPEG, [0..100] in dpi [40..2540] true, false true, false |
File.Export.PartOfMap | Enabled Coordinates L, R, B, T |
Bool Enum types Float |
true, false mm (page), m (real world) left, right, bottom, top for rotated maps use here the coordinate of the upper left und lower right corner |
File.Export.Tiles | Enabled Width Height |
Boolean Integer Integer |
true, false [only if Enabled = true] [only if Enabled = true] |
File.Export.GeoRef | Enabled PixelSize CreateWorldFile |
Bool Float Bool |
true, false in meter [only if Enabled = true] true, false [only if Enabled = true] |
EPS
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Export | File Format ExportScale |
String Enum types Integer |
eg.: ‚c:\Export\Chlosterwald.eps ‘ EPS e.g. '10000' for the scale 1:10'000 |
File.Export.PartOfMap | Enabled Coordinates L, R, B, T |
Bool Enum types Float |
true, false mm (page), m (real world) left, right, bottom, top |
File.Export | Colors | Enum types | normal, spotColors |
File.Export.SpotColors | Enabled | Spotcolor name | [only if Colors = spotColors] |
SVG (Scalable Vector Graphics)
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Export | File Format ExportScale CompressFile |
String Enum types Integer Boolean |
eg.: ‚c:\Export\Chlosterwald.svg ‘ SVG e.g. '10000' for the scale 1:10'000 true, false |
File.Export.PartOfMap | Enabled Coordinates L, R, B, T |
Bool Enum types Float |
true, false mm (page), m (real world) left, right, bottom, top |
TIFF
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Export | File Format Resolution Anti-Aliasing ColorCorrection |
String Enum types Integer Boolean Boolean |
eg.: ‚c:\Export\Chlosterwald.tif‘ TIFF in dpi [40..2540] true, false true, false |
File.Export.PartOfMap | Enabled Coordinates L, R, B, T |
Bool Enum types Float |
true, false mm (page), m (real world) left, right, bottom, top |
File.Export.Tiles | Enabled Width Height |
Bool Integer Integer |
true, false [only if Enabled = true] [only if Enabled = true] |
File.Export.GeoRef | Enabled PixelSize CreateWorldFile |
Bool Float Bool |
true, false in meter [only if Enabled = true] true, false [only if Enabled = true] |
File.Export | Colors | Enum types | normal, spotColors |
File.Export.SpotColors | Combine Enabled |
Bool Spotcolor name |
true, false [only if Colors = spotColors] [only if Colors = spotColors] |
File.Export | ColorMode | Integer | 0 = 32 bit CMYK 1 = 24 bit RGB 2 = 256 colors 3 = grayscale 4 = 8 bit CMYK 5 = 1 bit black/white 6 = halftone screen [only if spotColor = true] |
File.Export | Compression | Integer | 1 = no compression 2 = CCITT [only used with ColorMode 5/6] 4 = FaxG4 [only used with ColorMode 5/6] 5 = LZW |
DXF
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Export | File Format ExportScale ConvertAnsiToOem ConvertOemToUnicode ObjectsSelectedSymbols AddSymbolDescription UseCrtFileName ExportAsSplines Coordinates |
String Enum types Integer Boolean Boolean Boolean Boolean String Boolean Enum types |
eg.: ‚c:\Export\Chlosterwald.dxf ‘ DXF e.g. '10000' for the scale 1:10'000 true, false true, false true, false true, false eg.: ‚c:\CRT\Chlosterwald.crt‘ true, false m, mm |
Shape
Node <OcadScript> | Parameter | Data type | Values / Description |
---|---|---|---|
File.Export | ExportPath Format PointObjects LineObjects AreaObjects TextObjects Dataset WordWrap ProjectionFile Utf8Encoding |
String Enum types Boolean Boolean Boolean Boolean String Integer Boolean Boolean Boolean |
eg.: ‚c:\Export‘ (only path name) SHAPE true, false true, false true, false true, false all for all databases 1, 2, 3, ... for only one database true, false true, false true, false |
Example
The following example exports two pdf files in spot colors and two Shape files. Each OcadScript node can contain many children.
<?xml version="1.0" encoding="ISO-8859-1"?> <OcadScript>
<File.Open> <File>M:\OCAD12\Changes\11-06xx\11-0663\Chlosterwald.ocd</File> </File.Open>
<File.Export> //PDF export <File>M:\OCAD12\Changes\11-06xx\11-0663\output\Chlosterwald.pdf</File> <Format>PDF</Format> <PartOfMap> <Enabled>true</Enabled> <Coordinates>mm</Coordinates> <L>0</L> <R>50</R> <B>50</B> <T>100</T> </PartOfMap> <ExportScale>10000</ExportScale> <Colors>spotColors</Colors> <SpotColors> <Combine>false</Combine> <Enabled>Blau</Enabled> <Enabled>Gelb</Enabled> </SpotColors> </File.Export> <File.Export> //Shape export <ExportPath>M:\OCAD12\Changes\11-06xx\11-0663\output\</ExportPath> <Format>SHAPE</Format> <PointObjects>false</PointObjects> <LineObjects>true</LineObjects> <AreaObjects>true</AreaObjects> <TextObjects>false</TextObjects> <Dataset>all</Dataset> <WordWrap>true</WordWrap> <ProjectionFile>false</ProjectionFile> </File.Export>
<File.Save> <Enabled>true</Enabled> </File.Save>
<File.Close> <Enabled>true</Enabled> </File.Close> </OcadScript>
Run XML Script from the Command Line
It is possible to execute a XML script file from the command line or from batch file.
Open the Windows command and enter the OCAD program name and the xml script file. For example: "C:\Program Files\OCAD\OCAD 12\Ocad12.exe" "C:\Data\ExportScriptExample_PDF.xml"
Do not forget to use the parameter <File.Open> to open the file, <File.Close> to close it and <File.Exit> to close OCAD.
Open ocd File from the Command Line
It is possible to open an ocd file from the command line with optional view parameters.
Open the Windows command and enter the OCAD program name and the ocd file name.
For example:
"C:\Program Files\OCAD\OCAD 12\Ocad12.exe" "M:\Data\Map.cod"
Additional OCAD supports the following optional view parameters to open an map at desired postion and view scale.
-c: center for view -s: view scale
For example:
"C:\Program Files\OCAD\OCAD 12\Ocad12.exe" -c 710000,231000 -s 2500 "M:\Data\Map.cod"
Back to Main Page
Previous Chapter: Thematic Map
Next Chapter: Course Setting for Orienteering