Scandinavian Edition - dataflow.center · More than 50 raster formats to choose from...
Transcript of Scandinavian Edition - dataflow.center · More than 50 raster formats to choose from...
Scandinavian Edition
Goals for These Two Days
Foster dialogue and feedback
Build FME skills
Share best practices
Interact with Us on Twitter
Tweet about these days using “#fmeodyssey”
@SafeSoftware
@FMEDoctors
@FMEEvangelist
@FMEBetaBuilder
Top FME Recipes: Demos & Best Practices from the Safe Kitchen
Dale Lutz
VP Development
Recipe #1Infuse your GIS with Essence of CAD
CAD & GIS
What’s important to CAD users?
Visual clarity / Editing tools Symbology
Labels & white space
Dimensions
What drives the GIS?
Data structure / Data model Consistency
Attribution / enumerated values
Location
Connectivity
Analysis
Example: GIS as-built CAD Design GIS Proposed
What CAD Formats?
• AutoCAD DWG
• AutoCAD Map 3D
• AutoCAD Civil 3D
• MicroStation
• PLS-CADD (XML)
• …
GIS to CAD
GIS CAD key points
Create AutoCAD blocks / MicroStation Cells
Preserve attributes as Map 3D object data
Translate the Smallworld annotation
Schema Transformation (i.e. National CAD Standard, etc.)
CAD to GIS
CAD GIS
Preserve attribution
Data Improvement
Create connectivity (snapping)
Recover attribution from text or blocks
Data Quality
Layer / Level consistency
Valid attributes
CAD to GIS
Pair Labels with Lines based on:
Angle
Distance
Recipe #2: Cookin’ Up Raster With FME
Taste Test #1Translate
More than 50 raster formats to choose from
ArcSDE&GeoDatabase Raster
CADRG
ECW
Geodatabase Raster
GIF / PNG
JPEG / JPEG2000
Oracle Spatial GeoRaster
…
Taste Test #1 FME Raster Formats List
ADRG
ASRP
Aircom ENTERPRISE
BMP
Bathymetric Attributed Grid (BAG)
CADRG
CDED
DMDF
DTED
ECW
ENVI .hdr RAW Raster
ER Mapper ERS
ESRI .hdr RAW Raster
ESRI ASCII Grid
ESRI ArcGIS Binary Grid
ESRI ArcGIS Image Server
ESRI ArcSDE Raster Catalog
ESRI ArcSDE Raster Map
ESRI Geodatabase Raster
GIF
GeoTIFF
Golden Software Surfer Binary Grid
Hierarchical Data Format 4 (HDF4)
JPEG
JPEG 2000
Landmark Z-MAP
Leica Geosystems ERDAS IMAGINE
Leica Geosystems ERDAS RAW
Maptech BSB Nautical Chart
Marconi PlaNet
MrSID
NETCDF
NITF
Oracle Spatial GeoRaster
PCI Geomatics Database File
PNG
R Statistical Raster (RDATA)
RADARSAT-2 XML
Shuttle Radar Topography Mission Height (SRTM HGT)
TIFF
USGS DEM
Vertical Mapper Grid (NGrid)
Web Map Service
X11 Pixmap (XPM)
Taste Test #2Reproject
Taste Test #3 - Mosaic
Taste Test #4 - Clip
Taste Test #5 - Tile
Taste Test #5a – Web Tiling
Taste Test #6 - Drape
Resources
Dmitri’s Raster Tutorial
http://bit.ly/masterraster
Raster from the basics on up…
Resources
Dmitri’s Raster Studio
http://bit.ly/dmitri_raster
20+ examples, including
Non-rectangular raster clipping
Point clouds
Raster to 3D translation
RasterExpressionEvaluator
Rasterization for Web Mapping Platforms
Raster Palette Manipulations
Avoiding black edges while reprojectiong rasters
Raster Mask for KML output
And more!
Recipe #3Cook’n up some XML
Why is XML so difficult?
XML is really a language
The language describes the data structures as well as the data content
XML folks seem to revel in complex data structures
Hierarchical data structures
GIS systems are usually based on relational data models
FME & XML
You need to tell FME how to interpret the XML data structures.
Reading XML
Options for Reading XML with FME
GML 3.2 & XSD
Most GML can be interpreted if FME can use the XSD
This will work if the OGC spec. is followed and internal feature constructs are not overly complex.
Xfmap
Proprietary script for mapping XML structure to FME features
Xquery
W3C compliant Xquery
Map XML tags to features or attributes using XQueryExploder & XQueryExtractor
27
Writing XML
Options for Writing XML with FME
GML standard formats
FME supports a wide range of GML profiles (GML SF0, OS MasterMap, etc.)
GML 3.2 & XSLT
Apply an XSLT (Extensible Stylesheet LanguageTransformations) to the output
Xquery
W3C compliant Xquery
Map FME features to XML templates using XMLTemplater transformer
28
XML Transformers
Reading
XQueryExploder
Split XML documents into manageable “features”
XQueryExtractor
Extract attributes and other structures
Writing
XMLTemplator
Convert FME attributes to XML
Transformation
XSLTProcessor
29
Example: XML Object hierarchy
Creating an electricsubstation XML:
Coordinates
and
Attributes
and contains
Feeder(s) contain
Attributes
XML Document
Substation
Feeder A
Feeder B
Example
Sample XML: Source of XML
templates
Add Xquery: replace attribute values with Xquery statements
Sample XML <substation objectID="Vancouver Substation">
<mapLocation>
<coord>
<X>669170.169</X>
<Y>1000199.534</Y>
</coord>
</mapLocation>
<facilityID>5E67B377</facilityID>
<sectionID>RPG123</sectionID>
<phaseCode>ABC</phaseCode>
<feederList>
<feederObject objectID="8-64">
<feederName>10-24</feederName>
<feederNo>8763</feederNo>
<eaLoc>9D2D</eaLoc>
</feederObject>
<feederObject objectID="8-65">
<feederName>10-25</feederName>
<feederNo>8766</feederNo>
<eaLoc>9D3F</eaLoc>
</feederObject>
</feederList>
<name>Vancouver Central</name>
</substation>
<feederObject objectID="{fme:get-attribute("objectID")}">
<feederName>{fme:get-attribute("feederName")}</feederName>
<feederNo>{fme:get-attribute("feederNo")}</feederNo>
<eaLoc>{fme:get-attribute("eaLoc")}</eaLoc>
</feederObject>
Recipe #4Add a Dash of Update to Your Database
Dump and Reload Tables (Or Whole Databases)
or
Update Individual Rows
Database Update Options
Use fme_db_operation format attribute
Feature Level Updates
FME 2010:
Joiner
SQLExecutor
ArcSDEQuerier
OracleQuerier
FME 2011 adds:
FeatureReader
SQLQuerier
SQLCreator
Database Transformers
Database Update Example
Update Address Points for selected Zip Code boundaries
Read the Zip Codes
Spatial query for the Address Point updates (based on the zip code boundary)
Create the fme_db_operation attribute
Write to database with insert | update | delete
Recipe #5Schema Mapper!
Schema Mapper
Move the intelligence of attribute and feature type mapping out of the workspace
Very powerful in combination with Dynamic Workspaces
Makes workspaces easier to maintain!
Schema Mapper (Input)
nam,add,pho
Ulf,Staffanstorp,2743-028 244
Peter,Malmo,0792-234 098
Eddie,Abyggeby,0775-700 500
Schema Mapper (Mappings)
old,new,dataType,tableNameAttr,outputTable,geometry
nam,Name,fme_char(40),fme_feature_type,Addresses,fme_no_geom
add,Address,fme_char(80),fme_feature_type,Addresses,fme_no_geom
pho,Phone,fme_char(150),fme_feature_type,Addresses,fme_no_geom
Schema Mapper (Output)
Name,Address,Phone
Ulf,Staffanstorp,2743-028 244
Peter,Malmo,0792-234 098
Eddie,Abyggeby,0775-700 500
Recipe #6HAVE FUN!!!!
Questions???
Please visit the FME Support Pantry & Dr’s Office
Thank You!
Don’t hesitate to drop me suggestions, comments, ideas, opportunities, etc:
Email: [email protected]
@DaleAtSafe
http://fmepedia.com
http://www.safe.com
http://blog.safe.com