79

Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since
Page 2: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

1.11.2

1.2.11.2.21.3

1.3.11.4

1.4.11.4.21.4.31.5

1.5.11.5.21.5.31.5.41.6

1.6.11.6.21.6.31.7

1.7.11.7.21.7.31.7.41.7.51.8

1.8.11.8.21.8.31.9

1.9.11.9.21.9.31.9.4

TableofContents

IntroductionAboutThisDocument

CourseOverviewCourseResources

FME2018OverviewNewFeaturesin2018

FeatureCachingCachingFeaturesPartialRunsExercise:EmergencyResponseProject

CollapsibleBookmarksCollapsingBookmarksCollapsibleBookmarkBestPracticeCollapsibleBookmarksandCachesExercise:EmergencyReponseProject

ToleranceandPrecisionToleranceParametersToleranceExamplesExercise:ToleranceandDataCleaning

MicrosoftFormatsFormatsandTransformersMicrosoftWordMicrosoftPowerPointMicrosoftExcelExercise:VancouverCommunityMappingProject

FeatureJoinerFeatureJoinerModesMultipleJoinMatchesExercise:CrimeAnalysisProject

CourseWrap-UpProductInformationandResourcesCommunityInformationandResourcesFeedbackandCertificatesThankYou

2

Page 3: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

UpgradingtoFMEDesktop2018TrainingCourse

Thisisatrainingmanualforusersupgradingtothe2018versionofSafeSoftware’sFMEDesktopapplication.

Thetrainingwillintroducenewconceptsandterminology,andhelpstudentsbecomefamiliarwithmethodologythathaschangedsincethepreviousrelease.

CourseStructure

Thecourseismadeupofvarioussections,including:

Ageneraloverviewof2018AuthoringworkflowswiththePartialRuntoolsCollapsiblebookmarksandrelatedfunctionalityPrecisionandtoleranceinspatialtransformationWritingandstylingMicrosoftdataformatsUsingthenewFeatureJoinertransformer

CurrentStatus

Thecurrentstatusofthismanualis:COMPLETE:thismanualcanbeusedfortraining.

NB:Evenforcompletedcontent,SafeSoftwareInc.assumesnoresponsibilityforanyerrorsinthisdocumentortheirconsequences,andreservestherighttomakeimprovementsandchangestothisdocumentwithoutnotice.Seethefulllicensingagreementforfurtherdetails.

Introduction

3

Page 4: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

AboutThisDocument

Thismanualisatrainingcourseforusersupgradingtothe2018versionofSafeSoftware’sFMEDesktopapplication.

LookoutforresidentsoftheCityofInteropolis,whowillappearfromtime-to-timetogiveyouadviceanddispenseFME-relatedwisdom.Infact,herecomessomeonenow:

Mr.E.Dict(AttorneyofFMELaw)says...OnbehalfoftheCityofInteropolis,welcometothistrainingcourse.Hereisthestandardlegalinformationaboutthistrainingdocumentandthedatasetsusedduringthecourse.

Besuretoreadit,particularlyifyou'rethinkingaboutre-usingormodifyingthiscontent.

LicensingandWarranty

Permissionisherebygrantedtouse,modifyanddistributetheFMETutorialsandrelateddataanddocumentation(collectively,the“Tutorials”),subjecttothefollowingrestrictions:

1. TheoriginoftheTutorialsandanyassociatedFME®softwaremustnotbemisrepresented.

2. RedistributionsinoriginalormodifiedformmustincludeSafeSoftware’scopyrightnoticeandanyapplicableDataSource(s)notices.

3. YoumaynotsuggestthatanymodifiedversionoftheTutorialsisendorsedorapprovedbySafeSoftwareInc.

4. Redistributionsinoriginalormodifiedformmustincludeadisclaimersimilartothatbelowwhich:(a)statesthattheTutorialsareprovided“as-is”;(b)disclaimsanywarranties;and(c)waivesanyliabilityclaims.

SafeSoftwareInc.makesnowarrantyeitherexpressedorimplied,including,butnotlimitedto,anyimpliedwarrantiesofmerchantability,non-infringement,orfitnessforaparticularpurposeregardingtheseTutorials,andmakessuchTutorialsavailablesolelyonan“as-is”basis.InnoeventshallSafeSoftwareInc.beliabletoanyonefordirect,indirect,special,collateral,incidental,orconsequentialdamagesinconnectionwithorarisingoutoftheuse,modificationordistributionoftheseTutorials.

Thismanualdescribesthefunctionalityanduseofthesoftwareatthetimeofpublication.Thesoftwaredescribedherein,andthedescriptionsthemselves,aresubjecttochangewithoutnotice.

DataSources

CityofVancouver

Unlessotherwisestated,thedatausedhereoriginatesfromopendatamadeavailablebytheCityofVancouver,BritishColumbia.ItcontainsinformationlicensedundertheOpenGovernmentLicense-Vancouver.

AboutThisDocument

4

Page 5: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Others

ForwardSortationAreas:StatisticsCanada,2011CensusDigitalBoundaryFiles,2013.Reproducedanddistributedonan"asis"basiswiththepermissionofStatisticsCanada.©ThisdataincludesinformationcopiedwithpermissionfromCanadaPostCorporation.

DigitalElevationModel:GeoBase

FireHallData:Someattributedataadaptedfromcontent©2013byWikipedia,usedunderaCreativeCommonsAttribution-ShareAlikelicense

StanleyParkGPSTrail:UsedwithkindpermissionofVancouverTrails.com.

OpenStreetMapDatasets:©OpenStreetMapcontributors.

ContainsinformationlicensedundertheOpenGovernmentLicence–BritishColumbia

Copyright

©2005–2018SafeSoftwareInc.Allrightsarereserved.

Revisions

Everyefforthasbeenmadetoensuretheaccuracyofthisdocument.SafeSoftwareInc.regretsanyerrorsandomissionsthatmayoccurandwouldappreciatebeinginformedofanyerrorsfound.SafeSoftwareInc.willcorrectanysucherrorsandomissionsinasubsequentversion,asfeasible.Pleasecontactusat:

SafeSoftwareInc.Phone:604-501-9985Email:[email protected]:safe.comGitHub:github.com/safesoftware/FMETraining

SafeSoftwareInc.assumesnoresponsibilityforanyerrorsinthisdocumentortheirconsequences,andreservestherighttomakeimprovementsandchangestothisdocumentwithoutnotice.

Trademarks

FME isaregisteredtrademarkofSafeSoftwareInc.Allbrandorproductnamesaretrademarksorregisteredtrademarksoftheirrespectivecompaniesororganizations.

DocumentInformation

DocumentName:UpgradingtoFMEDesktop2018.0TrainingCourse

®

®

AboutThisDocument

5

Page 6: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CourseOverview

Thetrainingwillintroducenewconceptsandterminology,andhelpstudentsbecomefamiliarwithmethodologythathaschangedsincethepreviousrelease.

CourseStructure

Thecourseismadeupofvarioussections,including:

Ageneraloverviewof2018AuthoringworkflowswiththePartialRuntoolsCollapsiblebookmarksandrelatedfunctionalityPrecisionandtoleranceinspatialtransformationWritingandstylingMicrosoftdataformatsUsingthenewFeatureJoinertransformer

AbouttheManual

TheUpgradingtoFMEDesktop2018TrainingmanualnotonlyformsthebasisforthistrainingcoursebutisalsousefulreferencematerialforfutureworkyoumayundertakewithFME.

AllscreenshotsinthesematerialsweretakenusingFMEonWindowsServer2016.Thefontsused(especiallyinscreenshotsofthelogwindow)mayberesizedorotherwisechangedforimprovedlegibility.

CourseOverview

6

Page 7: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CourseResources

Anumberofsampledatasetsandworkspaceswillbeusedinthiscourse.

OnYourTrainingComputer

ThedatausedinthistrainingcourseisbasedonopendatafromtheCityofVancouver,Canada.

MostexercisesaskyoutoassumetheroleofacityplanneratthefictionalcityofInteropolisandtosolveaparticularproblemusingthisdata.

Whetherit'salocalcomputeroravirtualcomputerhostedinthecloud,you'llfindresourcesfortheexamplesandexercisesinthemanualatthefollowinglocations:

Location Resource

C:\FMEData2018\Data DatasetsusedbytheCityofInteropolis

C:\FMEData2018\Resources\DesktopBasic Otherresourcesusedinthetraining

C:\FMEData2018\Workspaces\DesktopBasic Workspacesusedinthestudentexercises

C:\FMEData2018\Output Thelocationinwhichtowriteexerciseoutput

<documents>\FME\Workspaces ThedefaultlocationtosaveFMEworkspaces

YoushouldalsofindFMEpre-installed,plusadigitalcopyofthismanual.

Pleasealertyourinstructorifanyitemismissingfromyoursetup.

YoucanfindthelatestversionofFMEDesktopandFMEServerforWindows,Mac,andLinux-togetherwiththelatestBetaversions-ontheSafeSoftwarewebsite.

CourseEtiquette

Foronlinecourses,pleaseconsiderotherstudentsandtestyourvirtualmachineconnectionbeforethecoursestarts.Theinstructorcannothelpdebugconnectionproblemsduringthecourse!

Forlivecourses,pleaserespectotherstudents’needsbykeepingnoisetoaminimumwhenusingamobilephoneorcheckinge-mail.

CourseResources

7

Page 8: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

2018Overview

FME2018Overview

8

Page 9: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

NewFeaturesin2018

FMEDesktop2018introducesmanynewtoolsandfunctionalitytobothFMEWorkbenchandtheFMEDataInspector.Thesetoolsmakewide-rangingchangestothemethodsworkspaceauthorsuseindesigningandcreatingworkspaces.

TopTools

Themostimportantnewtoolswillbecoveredduringthiscourse.Theyare:

CachesandPartialRunsTheabilityforFMEtocachedataateachpointofatranslation,andtore-usethatcacheddata.

CollapsibleBookmarksTheabilityforbookmarkstobecollapsedtosimpleinput/outputports,tohidethecontents.

PrecisionandToleranceParametersTheabilitytosettoleranceonanumberofspatialoperations,toworkaroundcoordinateprecisiondifferences.

MicrosoftFormatsTheabilitytowritedatatoMicrosoftPowerPointandMicrosoftWord,andtheadditionofstylingtransformersforallMicrosoftformats

FeatureJoinerASQL-basedtransformerforcarryingoutjoinsinamorepowerfulversionoftheFeatureMerger

OtherUpdates

Besidesthesetoptools,itisalsoworthmentioningotherhighlightsfromtheFME2018release:

NewFormats

TherearemultiplenewformatssupportedinFME2018,withover50newrasterformatsbasedonGDALtechnology.Someofthekeyformatsare:

AppleVenueFormat(AVF)ReaderandWriterBentleyi-ModelReaderEsriIndexed3DSceneLayer(I3S)LDAP(ActiveDirectory)ReaderPCD(PointCloudData)ReaderandWriterPDFReader(2D/Raster/Text)QlikDataExchangeWriterWellLogASCIIStandard(WLAS)Reader

ThereisalsoanFMEARformatandassociatedappontheiTunesstore.

NewTransformers

AsidefromMicrosoft-relatedfunctionality,newtransformersin2018mostlyrevolvearoundconnectingtowebservices:

HDFSConnector(Hadoop)ProjectWiseConnectorS3ConnectorSalesforceConnector

WorkbenchUpdates

FMEWorkbenchincludesanumberofupgrades-somesmall,somelarge-separatetowhatthiscoursecovers.Theseinclude:

Copy/pastetransformerparametersDynamiclogwindowfilteringFeatureWriteroutputportsNewgeometrytypesupport(clothoidsand3Darcs)SupportfornewGermanandAustraliancoordinatesystemdatumsTesterDateTimesupport

NewFeaturesin2018

9

Page 10: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ChangeRejectedFeaturehandlingwitharight-click

Annotationwordwrapsbydefault.BookmarksfilledbydefaultNewWindowsrenderingoptionsforhighDPIdisplaysandwebviews

PlacenewannotationdirecttothecanvasusingCtrl+K

FurtherReading

FormoreinformationonwhatelseisnewandgreatinFME2018,seetheFME2018unveilingwebinar,theFMEDesktopDeepDivewebinar,andtheFMEServerDeepDivewebinar

NewFeaturesin2018

10

Page 11: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

NewFeaturesin2018

11

Page 12: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

FeatureCaching

FeatureCaching

12

Page 13: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

FeatureCaching

InpreviousversionsofFME,itwaspossibletorunaworkspaceusingRunwithFullInspection.

FullInspectionmeantthedatawassavedateachstepoftheworkspaceandsowasavailableforimmediateinspection.

InFME2018thefunctionalityaroundthistoolchanged,andsothenamewaschangedtoo,toRunwithFeatureCaching:

Withthisoptionactive,FMEgeneratescachesateverystepofthetranslationwhentheworkspaceisrun:

Thecachesareindicatedbythesmalliconsoneachobject.

InspectingCachedData

Sometimesit'simportanttobeabletoinspectdataatanystepofthetranslation.AddinganInspectortransformerateverystepwouldbetiresome,soinsteadtheDataCachingoptioncanbeused.

Cacheddatacanbeinspectedbysimplyclickingontheicononaparticularobject.

SavingCachedData

Becauseworkspacescanbeworkedonoverseveralsessions,andbecauseyoumightwanttotransferaworkspacewithcachestoanotheruser,savingaworkspaceasatemplatealsogivestheoptiontosavethedatacaches:

CachingFeatures

13

Page 14: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Thatwayanyworkspacecreatedfromthetemplateautomaticallygainsaccesstothecachesfromthepreviousrun.

TIPIt'scertainlyquickertosetup"RunwithDataCaching"thantomanuallyaddInspectortransformers.However,beawarethatcachingdataobviouslycausesthetranslationtobeslower,andtousesystemresourcessuchasdiskspace.

Datacachingisveryusefulwhiledevelopingaworkspace,butshouldbeturnedoffbeforeputtingaworkspaceintoproduction.

CachingFeatures

14

Page 15: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CachedDataStatus

Whenthecacheonatransformerorfeaturetypeisgreen,itmeansthatthecacheisup-to-date;i.e.thecacherepresentsthedatathatwouldbeproducedweretheworkspacetoberunatthatpoint.

Heretheworkspacecreatesadatetimeattributeandtheworkspaceisruntofillthecaches:

However,whentheworkspaceisedited,cachescanchangecolortoyellow.Thismeansthecacheisnolongerup-to-date;i.e.thecachenolongerrepresentsthedatathatwouldbeproducedweretheworkspacetoberun.

HeretheDateTimeStamperhasbeenchangedtocreateadateonlyattribute:

Allcachesafter(downstreamof)theDateTimeStamperturntoyellowtoindicatetheynolongerrepresenttheworkspace.Butcachesbefore(upstreamof)theDateTimeStamperremaingreen,becausetheyarenolongeraffected.

ReusingCachedFeatures

ThemainreasonthefunctionalitychangednamefromFullInspectiontoFeatureCaching,isthatthecacheddatacannowbeusedforpurposesotherthaninspection.

Whenitistimetorunaworkspace,datacanbeautomaticallyretrievedfromgreencachesanduseddownstreamofthatpoint.Forexample,intheaboveworkspacedatadoesnotneedtobereadfromthesourcedatasetbecauseitisalreadyavailableinanup-to-datecache.

Thisisachievedbyclickingonthetransformeryouwishtorun,andusingoneofthetwopop-upactions:

PartialRuns

15

Page 16: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ThetwooptionsareRuntoThisandRunfromThis.

RunToThisrunstheworkspaceupto,andincluding,thechosentransformer.It'sperfectforwhenthattransformerhasbeenedited,andyouwanttoseewhattheresultthattransformeraloneis.

RunFromThis(shortcutF6)runstheworkspacefromthechosentransformeronwards.It'sperfectforwhenthattransformerhasbeenedited,andyouwanttoseewhatthefinalworkspaceresultswillbe.

Hoveringoveroneoftheseoptionscausesthesectionofworkspacetoberuntohighlightingreen:

HeretheAttributeFiltertransformerisbeingrun,thedatabeingfetchedfromthepriorcache.However,becausethepriorcacheisyellow,andout-of-date,FMEwillinformtheuserthatitmustgobackfurthertoobtainavalidcacheandruntheextratransformersinbetween:

PartialRuns

16

Page 17: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Iftheauthorwishestore-runtheentireworkspace,theycandothatusingtheusualrunbutton(orF5),whichwillre-runtheworkspaceand(assumingtheFeatureCachingoptionisturnedon)refillallofthecaches.

TIPAJunctiontransformercanplayausefulpartinPartialRuns.Forexample,heretheworkspaceissplitintotwostreams.IfIwishtorunbothstreamssimultaneously,thentheonlycommandwouldbeRunFromThisontheSpatialSorter.

ButthatmeanstheSpatialSorterwillalsoberun.IfIwanttorunbothstreamsbutnottheSpatialSorter,thenaJunctiontransformerintheappropriatelocationwillallowmetodothat.IcanRunFromThisontheJunctiontransformeritself,whichhaslittleoverhead.

WhyReuseCachedData?

Theobviousreasonforusingcacheddataisoneofperformance.Iftheworkspacecanusedatathatwascachedinaprevioustransformer,thenthattransformationdoesnotneedtooccuragain.Whenbuildingaworkspaceonetransformeratatime,theworkspacecanbetestedateachstepandonlythecurrenttransformerneedstobeexecuted.

Similarlythiscanpreventexcessreadingofdata.Ifdataisbeingreadfromadatabaseonanetwork,forexample,thenacacheofdatapreventsFMEfromhavingtomakesubsequentcallstothatdatabase.Itsavesonbothnetworktrafficandquerytime.

Additionally,thisisagreattooltouseforcachingtheresultsofwebservices.Forexample,recordsbeingsenttoawebserviceforgeocodingmightincuranactualmonetarycostforthatservice.ButnowFMEisabletocachethatdataandreuseit,avoidingtheneedtorepeatedlyusethatwebservice.

MsAnalystsays...Obviouslydatacachingtakesnoaccountofwhatmighthavechangedinthesourcedataset.Itonlyknowswhathasbeenchangedintheworkspace.It'suptotheworkspaceauthortobeawareofifthesourcedatasethaschangedandthereforeneedstoberefreshedwithanewrun.

PartialRuns

17

Page 18: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

PartialRuns

18

Page 19: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise CachingandPartialRuns

Data Roads(AutoCADDWG)FirehallsandZones(GML)

OverallGoal CreatetimeanddistanceisolineswiththeNetworkCostCalculator

Demonstrates Datacachingandpartialruns

StartWorkspace None

EndWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\Caching-Ex1-Complete.fmwt

Toassistinplanningemergencyservicesforthecity,youhavebeentaskedwithassessingemergencyresponsetimesbycreatingadatasetofisochrones-contourlinesdepictingtraveltimefromeachfirehall-formedicalemergencies.

1)AddFirehallReaderStartFMEWorkbench.SelectReaders>AddReaderfromthemenubar.Settheparametersasfollows:

ReaderFormat GML(GeographyMarkupLanguage)

ReaderDataset C:\FMEData2018\Data\Emergency\FireHallsWithZones.gml

Whenprompted,selecttheFireHallsandMedicZonesfeaturetypestoaddtotheworkspace:

2)AddRoadsReaderOncemoreselectReaders>AddReaderfromthemenubar.Thistimesettheparametersasfollows:

ReaderFormat AutodeskAutoCADDWG/DXF

ReaderDataset C:\FMEData2018\Data\Transportation\CompleteRoads.dwg

Whenprompted,selectallofthefeaturetypestoaddtotheworkspace(i.e.wewantallroadtypes)leavingoutonlylayer"0".

3)RunWorkspaceEnsurefeaturecachingisturnedon(Run>RunwithFeatureCaching)andruntheworkspace.Thedatawillbereadandcached.Thismeans:

Ourpre-translationinspectioncanbedonehereWedon'thavetoreaditseparatelyintheDataInspector

ThedataisnowreadyforusebylaterstagesoftheworkspaceWhenwerunthewholeworkspace,FMEwon'thavetore-readthedata

Selectallofthefeaturetypesintheworkspace,right-clickoneofthem,andchooseInspectCachedFeatures(shortcutCtrl+I):

Exercise:EmergencyResponseProject

19

Page 20: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Nowwecaninspectthedatatoseewhatwearedealingwith.

4)AddTesterForthisexercisewe'llworkonasinglefirehall,FireHallnumber4.SoaddaTestertransformerconnectedtotheFireHallsfeaturetype.Setituptofilteroutotherfirehalls.Thesimplestwayistocheckfor(andkeep)featureswhoseNameattributeendsinthenumber4:

ClickontheTesterandpresstheRunFromThisbutton(shortcutF6).TheTestertransformerwillrunusingthecacheofdatafromthefeaturetypetowhichitisconnected.

ClickonthegreencacheiconforthePassedoutputport.TheDataInspectorwillopenandshowasinglefirehallfeature.Itshouldbehallnumber4.

5)AddNetworkCostCalculatorNowwe'lladdaNetworkCostCalculatortransformer.ThebestwayofdoingthisistoselectalloftheroadfeaturetypesandthenuseQuickAddbytypingNCCandselectingthattransformer.Thiswaythetransformerwillbeaddedandallroadfeaturetypesconnectedautomatically.

ThenconnectTester:PassedtotheSourceinputport:

Exercise:EmergencyResponseProject

20

Page 21: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Rearrangetheobjectsasnecessarysoyouavoidoverlappingconnections(ormovetheinputportsup/downinstead).

TIPNoticethateventhoughwehaven'truntheNetworkCostCalculatoryet,wehavefeaturecountsontheconnectionsintoit.They'recoloredgreytoshowthatthishasn'thappened,butthat'swhatthecountswouldbe.

6)SetNetworkCostCalculatorParametersInspecttheNetworkCostCalculatorparameters.SetOutputOptimalCostAsto"Z-Values".SetSnapSourcePointsto"Yes"andsetaSnappingToleranceof100:

TheseparameterswilloutputthecostsasZvaluesoneachnetworkline,andwillsnapthesourcefirehalltothenetworkifitdoesn'tsitexactlyuponit.

RuntheNetworkCostCalculatorbyclickingitandchoosingRunToThis.

Exercise:EmergencyResponseProject

21

Page 22: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

TIPBecausewecurrentlyhaveallthedatacached,andtherearenotransformersafterthis,itdoesn'tyetmatterifwechooseRunFromThisorRunToThis.Bothachievethesameresultwiththesameperformance.

InspecttheConnectedoutputcache.Ifyouqueryaroadfeatureyou'llseethatithasZvaluesoneachvertex.TheZvaluerepresentstheroaddistancetothefirehall.

7)AddContourGeneratorTovisualizetheseresults,addaContourGeneratortransformerconnectedtotheNetworkCostCalculator:Connectedoutputport.TheContourGeneratorporttoconnectisPoints/Lines:

OpentheContourGeneratorparametersdialog.SettheSurfaceToleranceto10andtheOutputContourIntervalto50.RuntheContourGeneratortransformerandinspecttheContoursoutputcache:

TheoutputisasetofIsodistancelinesshowingthedistance(byroad)fromthechosenfirehall.

8)AddExpressionEvaluatorTocreateIsochrones(linesofequaltraveltime)weneedtospecifythespeedatwhichavehiclecantravel.Obviouslythisvariesdependingonthetypeofroad,terrain,weather,andintersectioncrossings;butaquicksearchshowsthattheaveragespeedofafiretruckinacityis55kph(35mph).

So,addanExpressionEvaluatortransformertotheworkspace,betweentheAutoCADRoadsfeaturetypesandtheNetworkCostCalculatortransformerLineport.ThequickestwaytodothisistoclickonthegreenLinearrowandtypethenameoftheExpressionEvaluator.Thatwaythetransformerwillbeinsertedinalloftheconnectionssimultaneously:

Exercise:EmergencyResponseProject

22

Page 23: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Noticehowthecaches"downstream"fromthenewtransformerchangetoyellow.Theyarestalebecausetheynolongerrepresenttheresultstheworkspacewouldgenerate.

9)SetUpExpressionEvaluatorInspecttheparametersfortheExpressionEvaluator.SetupanexpressiontocalculateanattributecalledTravelTime.Theexpressionshouldbe:

@Length()/916.666666

@Length()isanFMEfunctionthatmeasuresthelengthofeachroadlink.

916.66666comesfrom(speed(metres-per-km/seconds-per-minute))whichis(55(1000/60))

10)AdjustNetworkCostCalculatorNowinspecttheparametersfortheNetworkCostCalculatoragain.

ChangetheWeightTypeparameterfrom"ByLength"to"ByTwoAttributes".SelectTravelTimeastheattributeforboththeforwardandreverseweight:

11)AdjustContourGeneratorNowinspecttheparametersfortheContourGeneratoragain.

ChangetheSurfaceToleranceto1andtheOutputContourIntervalto1(i.e.eachcontourwillrepresent1minuteoftraveltime).

Nowwemustre-runtheworkspace.Youcanchoosetoeither:

RunFromThisontheExpressionEvaluator

Exercise:EmergencyResponseProject

23

Page 24: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

RunToThisontheContourGeneratorRunFromThisontheContourGenerator

Thesamesectionsofworkspacewillhighlightasyouhoveroverthefirsttwooptions.ThethirdoptionwillonlyhighlighttheContourGeneratoritself,andwhenchosenwillwarnthatpriortransformersneedtobeincludedastheydon'tyethavevalidcaches.

InspectthenewContourGeneratoroutputcache:

Theresultwillbeaseriesofisochronesrepresentingtraveltimesforemergencyvehiclesfromfirehallnumber4.

12)SaveasTemplateWe'llcontinuethisexerciseattheendofthenextchapter.Incaseyoucloseandre-opentheworkspaceinthemeantime,we'llsaveitasatemplate.Thatwaywecankeepthecaches.

SoselectSave>SaveAsTemplatefromthemenubar.Whenpromptedenteratemplatename.BesuretochecktheoptiontoIncludeFeatureCaches:

Nowwhenwere-opentheworkspaceusingthistemplate,thedatawillalreadybecachedandreadytouse.

Exercise:EmergencyResponseProject

24

Page 25: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CONGRATULATIONSBycompletingthisexerciseyouhavelearnedhowto:

TurnonFeatureCachingInspectallcacheddatainaworkspaceCarryoutapartialrunusingRunFromHereandRunToHereDecidewhenRunToHereorRunFromHereismostappropriateSaveatemplatefilewithFeatureCachesincluded

Exercise:EmergencyResponseProject

25

Page 26: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CollapsibleBookmarks

CollapsibleBookmarks

26

Page 27: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Bookmarks

Asweknow,abookmark,likeitsreal-worldnamesake,isameansofputtingamarkerdownforeasyaccess.

WithFMEthebookmarkcoversanareaofworkspacethatisusuallycarryingoutaspecifictask,soausercanpickitoutofalargersetoftransformersandmovetoitwithrelativeease.

Asoneuserhasputit,bookmarksarelikeparagraphsforyourworkspace!

Theaboveworkspaceillustratesnicelyhowtomarkupdifferentsectionsofaworkspaceusingbookmarks.Asyoucansee,it'spermittedtosubdividebookmarksfurtherbynestingonebookmarkinsideanother.

ButinFME2018thereisfunctionalitytotakethisonestepfurther...

CollapsingBookmarks

InFME2018,eachbookmarkhasasmalliconinthetop-leftcornerthatallowsittobecollapsed:

Collapsingabookmarkmeansitiscompresseddowntothesizeofasingletransformer,displayingnoneofthecontentsexceptforwheredataentersorexitsthebookmark:

CollapsingBookmarks

27

Page 28: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Clickingtheiconasecondtimere-opensthebookmarktoitsprevioussize.

Thisfunctionalityallowslargesectionsofworkspacetoberenderedinamuchsmallerarea,andonlyopenedupwheneditingisrequired.

Forexamplethesectionofworkspacedisplayedabovemightbereducedtothis:

Thisisobviouslyahugesavingofspaceonalargecanvas.

CollapsingBookmarksvsCustomTransformers

It'seasytoseecollapsingbookmarksasareplacementforcustomtransformers,especiallywherethecustomtransformerwasintendedonlyasameanstosavespaceoncanvas:

However,collapsiblebookmarksarenotsuchagoodreplacementwherethecontentisintendedtobereusedinmultiplelocations.That'sbecauseeachcustomtransformerinheritsitsbehaviourfromamastercustomtransformerdefinition.Editingthedefinitionupdatesallthecustomtransformers.

Thesameisnottrueofacollapsedbookmark.Thereisnomasterdefinitionandeditingthecontentsofabookmarkdoesnotautomaticallyupdatethecontentsinanyotherbookmarks,evenifitwasadirectcopy.

Additionally,acollapsedbookmarkcannotbesharedwithotherusersanddoesn'thavetheabilitytosetpublishedparameters,inthesamewaythatacustomtransformerwould.

Sowhileacollapsedbookmarkcanreplacesomeaspectsofacustomtransformer,itcan'tfullyreplacethem.

CollapsingBookmarks

28

Page 29: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CollapsedBookmarkStyle

Withnewcollapsiblebookmarks,thereareaspectsofBestPracticeandstylethatneedtobeconsidered.

RenamingPorts

Theinputandoutputportsoncollapsedbookmarkscanberenamedtohelpclarifythedataenteringandexiting:

It'snotobviousthatthiscapabilityexists,butinfactitcanbeaccessedinthreedifferentways!

Double-clickingtheobjectSelectingtheobjectandpressingF2UsingtheRenameoptiononthecontextmenu(aspicturedabove)

Theobviousbenefithereisoneofclarity.Byknowingwhateachinputandoutputportisfor,extraconnectionscanbemadetoitwithouthavingtoexpandthebookmarkcontents.

RearrangingBookmarks

Althoughyoucancollapseonebookmarkatatime,anoptionontheNavigatorwindowallowsyoutocollapseallbookmarksatonce:

Doingsoillustrateshowmuchspacecanbesavedinasinglecanvas:

CollapsibleBookmarkBestPractice

29

Page 30: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Ofcourseithelpstothenmovethebookmarksclosertogethertoreusethatspace:

Butbesidesreusingthespace,thereisanotherreasonforthisreorganization.

Whenbookmarksarepositionedclosetoeachother,re-openingacollapsedbookmarkadjuststhelayoutoftheworkspace,movingothertransformersorbookmarksoutofthewaysothatitscontentsareshownwithoutoverlap.Re-closingthebookmarkcausestheoppositetooccur.

Forexample,intheabovescreenshot:

CollapsibleBookmarkBestPractice

30

Page 31: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

...ifanybookmarkisexpanded,thenthebookmarksarounditaremovedtoonesidetoaccommodatethenewspacerequirements.Whenthebookmarkiscollapsedagain,thereversetakesplace,togivethesamecompactlayoutasbefore.

CollapsibleBookmarkBestPractice

31

Page 32: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CollapsedBookmarksandCaches

Collapsiblebookmarkshavebeendesignedverycarefullysothattheyinteractwithcachesandpartialruns.

RunningaBookmark

Thepop-upoptionsforapartialrun,aswellasappearingontransformers,arealsopresentonbookmarks:

TheoptionsarecalledRunToContainedandRunFromContained,andappearwhetherthebookmarkiscollapsedorexpanded.

Thisobviouslymakesiteasiertorunasectionofworkspace,particularlywherethebookmarkiscollapsed.

ImprovingPerformance

Whenanauthorcreatesaverylargeworkspace,asisusuallythecasewhentherearemanybookmarks,runningwithfeaturecachingturnedoncouldcreatealargeamountofunwantedcaches:

NoticeintheabovescreenshotthateverytransformerinthePrepareDataforMatchingbookmarkisbeingcached.

Toavoidthis,featurecachinghasbeendesignedtoavoidcachingdataforeverytransformerinsideacollapsedbookmark.Whenaworkspaceisrunalltransformersinthecollapsedbookmarkoperateasusual,buttheonlydatacachedisfortransformersrepresentedbyanoutputportonthebookmark:

Wecanseethatbyexpandingthebookmarkaftertheworkspacehasfinishedrunning:

CollapsibleBookmarksandCaches

32

Page 33: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Thissavesconsiderabletimeandresourceswhenworkingwithalargeworkspace.

Dr.Workbenchsays...Obviouslyyoudon'twanttoputaworkspaceintoproductionwhencachingisturnedon,regardlessofwhetheryourbookmarksarecollapsed.Thistechniqueisonlyrecommendedforuseinthedesign,authoring,andtestingphasesofworkspacecreation.

CollapsibleBookmarksandCaches

33

Page 34: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise CachingandPartialRuns

Data Roads(AutoCADDWG)FirehallsandZones(GML)

OverallGoal CreatetimeanddistanceisolineswiththeNetworkCostCalculator

Demonstrates CollapsibleBookmarks

StartWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\Bookmarks-Ex1-Begin.fmwt

EndWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\Bookmarks-Ex1-Complete.fmwt

Herewe'llcontinuetheexercisefromtheCachingchapter.Ourgoalistoassistinplanningemergencyservicesbycreatingadatasetofisochrones-contourlinesdepictingtraveltimefromeachfirehall-formedicalemergencies.

1)StartWorkbenchStartFMEWorkbenchand,ifnecessary,openthetemplatefileforthepreviousexercise.Youcanfindacopyofitat:C:\FMEData2018\Workspaces\UpgradingTo2018\Bookmarks-Ex1-Begin.fmwt

Theworkspaceworksfine,butitneedsacoupleofadjustments,plusitisindireneedofbestpracticestyle.

2)AddBookmarkThefirstthingwecandoismaketheworkspacecanvastidierbybookmarkingalltheroadfeaturetypesandcollapsingitintoasmallerspace.

So,selectallofthefeaturetypesfortheAutoCADroadsreader.PressCtrl+B(orselectInsertBookmarkfromthetoolbar).NamethebookmarkAutoCADRoadsReader:

Exercise:EmergencyReponseProject

34

Page 35: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Ifwecollapsethebookmarknow(tryitandsee)we'llstillgetmultipleoutputsandconnections.Wedon'treallyneedthis.SoaddasingleJunctiontransformerbetweenalltheconnectionsandtheExpressionEvaluatorandresizethebookmark(expandingitfirstifnecessary)tofittheJunction:

Collapsethebookmarkandnowtherewillbejustasingleoutputport.Double-clicktheporttorenameit.NameitRoads:

Thishasobviouslysavedquitealotofspaceinthecanvas.

Exercise:EmergencyReponseProject

35

Page 36: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

3)AddClipperToreturntothetaskathand,thecurrentworkspaceoutputcoversallofthecityofVancouver,whereasweonlyneedittoshowcontoursfortheareaofresponsibilityforfirehallnumber4.

ToclipthedataaddaClippertransformertotheworkspace.ConnectthecontourstotheClippeeinputportandtheMedicZonefeaturetypetotheClipperport:

Rearrangetheobjects/portstoensuretherearenooverlappingconnections.

4)DuplicateTesterTheMedicZonesdatacoversallofthecitytoo,andweonlyneedfirehallnumber4.WecanfilterthiswithaTester;infactwiththesametestastheexistingTester.

So,selecttheexistingTesterandpressCtrl+D(RightClick>Duplicate)toduplicateit.DroptheduplicateTesterintotheMedicZones-Clipperconnection:

Butdon'truntheworkspaceyet...

5)AddBookmarkIfweruntheworkspacenowthereareanumberofyellowcachesthatwillbeupdatedandsaved.However,wedon'treallyneedthese.Cachesareusefulfortestingasectionofworkspace,butwealreadyknowthemainpartofthisworkspaceiscorrect.

So,addabookmarkaroundthefourmainprocessingtransformers(ExpressionEvaluator,Tester,NetworkCostCalculator,ContourGenerator):

Nowcollapsethebookmark,renameitsports,andrearrangecontentaroundit:

Exercise:EmergencyReponseProject

36

Page 37: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Noticethatthereisnowonlyasinglecacheforthewholebookmark.

6)RunWorkspaceRe-runtheworkspacebyselectingtheClippertransformerandchoosingRunToThis.

Wearenowsavingcachespacebecauseonlyonecacheiscreatedforthebookmarkedparts.Expand(andre-collapse)theIsochronebookmarktoprovethis.TheContourGeneratorhascachesbecauseitisthelasttransformer.TheTesterhascaches,butonlybecauseitalreadyhadthem:

Noticethatasyouexpand/collapsethebookmark,otherobjectsmoveinresponsetokeepfromoverlapping.

NowinspecttheClipper:Insidecache.Youshouldseethattheisochronesareclippedtotheareaofresponsibilityforfirehall4.

7)SaveWorkspaceRe-savetheworkspaceasatemplate-includingcaches-soitisreadyforfurthereditingifrequired.

TIPToseesomeadvancedtasksforthisproject,checkouttheGISTutorialontheFMEKnowledgeCentre.

CONGRATULATIONSBycompletingthisexerciseyouhavelearnedhowto:

AddandcollapsebookmarksAddaJunctiontoreducethenumberofbookmarkoutputportsRenamebookmarkoutputportsRearrangeobjectsaroundabookmarksothattheymovewhenthebookmarkiscollapsed/expandedCollapseabookmarktosavecachingexcessdata

Exercise:EmergencyReponseProject

37

Page 38: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise:EmergencyReponseProject

38

Page 39: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

PrecisionandTolerance

ToleranceandPrecision

39

Page 40: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ToleranceParameters

FME2018introducesatoleranceparametertomanyexistingtransformers,andonenewtransformer:

AreaGapAndOverlapCleanerAreaOnAreaOverlayerClipperDissolverFeatureMergerGeneralizerIntersectorLineOnAreaOverlayerLineOnLineOverlayerSnapperTilerTopologyBuilder

TheAreaGapAndOverlapCleaneris,ofcourse,thenewtransformer.It'sadirectreplacementfortheSliverRemover.TheSnapperalreadyhadatoleranceparameter,butthathasbeenupdatedtousethisnewfunctionality.

Sowhythesetransformers?Becauseit'sasetoftransformersthatuseacommonpieceofcode.Thatcodewasupdatedtoallowatolerancetobeappliedandwasexposedasanewparameter:

Thetoleranceparametershavethreedifferentoptions:

NoneAutomaticCustomValue

NonemeansthetransformeroperatesasitalwaysdidinFME;withoutanytoleranceapplied.Theoperationwillbecarriedoutusingstrictmatchesofcoordinates.Thisisthedefaultvalue(for2018.0atleast).

AutomaticmeansFMEwilldecideuponatolerance.HereFMEistryingtoresolveminorissueswithcoordinates,suchascoordinateprecisionandrounding.

CustomValuemeanstheuserwillenteratolerance.Theuseristryingtoresolveanyissuestheybelievecanbefixedthroughtolerance,suchasbadgeometry.

CollapsedPorts

SometransformerswiththenewtolerancesettinghaveaCollapsedoutputport.Thisisforfeatureswhosesizeissmallerthanthetolerancevalue,andwhichthereforecollapsetoasinglepoint.

TIPBecausetheAutomaticmodeisnewertechnology,itsperformanceinmanycasesisactuallyfasterthanhavingnotoleranceatall!

ToleranceParameters

40

Page 41: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ToleranceParameters

41

Page 42: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ExampleGeometryProblems

Ingeneral,datacannotjoin,meet,orintersectbecauseofoneoftwoissues.

Firstlythegeometryofthedatacanhavesimplybeencreatedbadly:

Inthatexamplethetwolinesaremeanttoconnect,butinsteadhaveagapofaround10metres.

Thesecondsourceofproblemsisgeometrythathasverytinyimperfectionsduetoissuessuchascoordinaterounding:

Inthiscasethetwolinesaremeanttoconnect,butinsteadthereisaverysmallgapof0.00000001metres.Thissortoferrorisverydifficulttolocatevisually,becauseofitssmallsize.

Suchanissuemightarisebecauseofcoordinaterounding(coordinatesareroundedtoaprecisionthatleadstogaps),becauseofdifferentdataformats(whereeachformatstorescoordinatesinslightlydifferentways),orperhapsbecauseofsomeotherautomatedprocessthathasbeencarriedout.

NoTolerance

Whentoleranceissettonone,thentheabovefeaturesarenotconsideredamatch.

Forexample,inaTopologyBuilder,thegapsineachcasewouldleadFMEtoassumethateachgeometryisaroadthatendswithoutaconnection.Therewouldbetwonodeswithagapbetweenthem:

Dependingonthedatathismayormaynotbethecorrectresult.Withagapofonly0.00000001metreswecansafelyassumeitisnotcorrectinthisexample.

ToleranceExamples

42

Page 43: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

AutomaticTolerance

Whentoleranceissettoautomatic,thenFMEwillassessthedataandcomeupwithareasonabletolerancetosolveminorproblems.Forexample,inaTopologyBuilderFMEwouldcorrectlydeterminethatthesmallergapisanerrorthatshouldbecorrected:

However,itwillnotfixthegrossererrorthatcausedthelargertolerancegap:

That'sbecausethereisnowayFMEcouldreasonablydefinethatasaproblem,orfixitwithoutpossiblyalteringothersimilargaps.

CustomTolerance

Whenthetoleranceissettoacustomvaluethentheauthoristryingtoresolveissuesatascaleoftheirownchoosing.Forexample,intheTopologyBuildertheycouldsetatoleranceof10.Thatwouldsolveboththesmallissuesandthelargerone:

Butitmightalsomistakenlyfixissueswheretwopointsarelegitimatelywithin10metresofeachother,likeatNode2.

Soingeneralcasesit'sbesttouseautomatictolerance,unlessyoucanbesurethatacustomtolerancewillworkasyouwantitto.

ToleranceExamples

43

Page 44: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise ToleranceandDataCleaningData PropertyBoundaries(MicroStationDGN)

OverallGoal Cleanlinedatainordertobuildpropertypolygons

Demonstrates Intersection,DataCleaning,andTolerance

StartWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\Tolerance-Ex1-Begin.fmwt

EndWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\Tolerance-Ex1-Complete.fmwt

Forasmallexercise,you'vebeenaskedtoturnasetoflinework(representingpropertyboundaries)intopolygonfeatures.ThisiseasilydonewiththeAreaBuilder.However...theremaybesomedatacleaningrequirementsthataren'tassimple.

1)StartWorkbenchStartFMEWorkbenchandopenthestartingworkspacetemplate.

TheworkspaceincludesareadertoreadasetofMicroStationDGNfeatures.ItalsoincludesabookmarkedsetoftransformersthatwerepreviouslyusedtocleandatainFME2017:

It'ssooldthattheyevenincludeInspectortransformers!Howquaint!

2)AddAreaBuilderFirstlylet'signorethatbookmarkedsectionandsimplyaddanAreaBuildertransformerconnectedtothereaderfeaturetype(ParcelLines):

Turnonfeaturecachingandrunthatpartoftheworkspace.InspectbothAreaBuildercaches:

Exercise:ToleranceandDataCleaning

44

Page 45: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Noticethatthereareseveral"unused"features.Whereafeatureisunuseditdidnotcreatetheproperboundaryandtheareacoverstwo(ormore)properties.

3)MoveAreaBuilderTransformerWenowknowthedatawon'tbuildproperpolygonswithoutsomecleaning.SodisconnecttheAreaBuildertransformerandmoveittotheendoftheworkspace,connectedinplaceoftheCleanNetworkInspectorfromthebookmark:

DeleteanyotherInspectortransformerstoo,connectthesourcedatatotheSnappertransformerinthebookmark,andruntheworkspace.

Inspecttheoutput.TherewillbeperfectlyformedpolygonsandnoIncompletefeatures.

Sowe'vefinishedtheproject.Except...surelythereisabetterwayin2018?

4)DeleteBookmarkandTransformersLet'sstartoutbydeletingthe2017bookmarkandallitscontents,plusthenewAreaBuildertransformer,sothatallwe'releftwithisthereaderfeaturetype.That'sjusttocleartheworkspaceofclutter.

5)AddIntersectorandAreaBuildertransformersPlaceanIntersectortransformer(ithasthenewToleranceparameterandsomayhelpus)plusanewAreaBuildertransformer:

Exercise:ToleranceandDataCleaning

45

Page 46: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

InspecttheIntersector'sparameters.MakesurethetoleranceparameterissettoAutomaticandre-runtheworkspace.Inspecttheoutput:

TherearesomeIncompletefeaturesbutnotasmanybadareas.TheIntersectorhasobviouslydonesomegood.However,thetolerancerequiredisjusttoomuchforFMEtohandleautomatically.

6)SetManualToleranceInspecttheIntersectorparametersagainandthistimesettheToleranceparametertoacustomvalueof0.2.Re-runtheworkspace.Theresultsarebetter,butnotquitecomplete.

Setthetoleranceparameterto0.3andtryagain.

Thistimetheareafeaturesbuildcorrectly.AnyIncompletefeaturesaresmalloverlapsandcanbeignored.

Sowehavereplicatedtheresultsofthe2017workspacebyreplacingallofthebookmarkcontentswithasimpleIntersectortransformer!Infacttheresultsarebetterbecausethe2017workspaceproducedsomeodditiesthatshouldn'texistinthedata(that'swhyithadmoreareasoutputthanin2018).

CONGRATULATIONSBycompletingthisexerciseyouhavelearnedhowto:

ApplyanAutomatictoleranceontheIntersectortransformerApplyaCustomtoleranceontheIntersectortransformer

Exercise:ToleranceandDataCleaning

46

Page 47: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

MicrosoftFormatsandTransformers

MicrosoftFormats

47

Page 48: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

MicrosoftFormatsandTransformers

FME2018introducesanewsetoftransformersandformatsforMicrosoft-relatedformats.Theseare:

Reader Writer Transformer

Excel Existing Existing New:ExcelStyler

Word None New New:MSWordStyler

PowerPoint None New New:PowerPointStyler

Inshort,FME2018hasnewwritersforWordandPowerPoint,andnewstylingtransformersforallthreeformats.AnExcelreaderandwriterhasexistedinFMEforalongtime,butthewriterhasnewformattingoptionsthatcanbefulfilledusingtheExcelStyler.

FormatsandTransformers

48

Page 49: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

MicrosoftWord

TheMicrosoftWordwriterinFMEallowswritingfeaturestoWorddocuments.Thewriteronlyhasasingleparameter,thattodefineaWordtemplatetouse.

ThedatasenttothewritermustalsofirstbestyledusingtheMSWordStylertransformer.

MSWordStyler

TheMSWordStylertransformerallowsthecreationofvariouscontenttypes:

Thiswayadocumentcanbebuiltupfromseveralcomponents,withheadings,images,lists,tables,andplaintext(paragraphs).Asadifferentcontenttypeisselected,theavailableparameterschangeinthedialog.Forexample,forTablecontenttheparameterslooklikethis:

...withtheoutputofthatlookinglikethis:

MicrosoftWord

49

Page 50: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

MapfeaturescannotbewrittendirectlytotheMicrosoftWordwriter,butcanbewrittenasanimagebyfirstrasterizingthedatawithanImageRasterizerorMapnikRasterizertransformer.

WriteOrder

Asyoumightexpect,featuresarewrittentotheWorddocumentintheordertheyarrive,soaworkspaceauthorcancontrolthedocumentbycontrollingtheorderoffeaturesusingaSortertransformer.

MicrosoftWord

50

Page 51: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

MicrosoftPowerPoint

TheMicrosoftPowerPointwriterinFMEallowswritingfeaturestoPowerPointpresentations.LiketheWordformat,thePowerPointwriteronlyhasasingleparameter,thattodefineatemplatetouse.

Aseparateslideinthepresentationiscreatedforeachfeature.

ThedatasenttothewritermustalsofirstbestyledusingthePowerPointStylertransformer.

PowerPointStyler

ThePowerPointStylertransformerallowsthecreationofvariousslidetypes:

Thiswayapresentationcanbebuiltupfromseveralcomponents,withcharts,maps,images,tables,andotherplaintextcontent.Asadifferentcontenttypeisselected,theavailableparameterschangeinthedialog.Forexample,forTablecontenttheparameterslooklikethis:

...withtheoutputofthatlookinglikethis:

UnliketheWordwriter,MapfeaturescanbewrittendirectlytotheMicrosoftPowerPointwriter.Featurescanbegroupedtogetherinoneslideandeachfeaturebecomesavectorobjectinthatslide.

ThePowerPointStylertransformeralsohasaparametertocontroltheorderoffeaturesbeingwritten.IfthisisleftasAutomatic,thenallthefeaturesgoingtotheMicrosoftPowerPointWriterwillbewrittentoapresentationinthesameordertheyarrive,meaningtheslideswillbeinthatorder.

MicrosoftPowerPoint

51

Page 52: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

SettingthisparameteronlymakessensewherethereismorethanonePowerPointStylertransformer.Ifanumberisenteredintothisfield,thenthefeaturesaresortedbythatnumberonwriting.Forexample,atitleslidecouldbegiventhenumber1toallowittobefirstinthepresentation.

Ifmorethanonefeaturehasthesameslideorder,thentheyarewritteninthesameordertheyarrive.

TIPThetemplatefileforaPowerPointcanbedesignedintheMasterslideviewinPowerPoint.Forexample,settingabackgroundimageinthetemplatecouldleadFMEtoproduceamapslidelikethis:

ParkImagebyOCParks,CCBY-ND2.0

Noticehowamapslideallowsthecreationoflabelsoneachfeature(alsotosetthefeaturecolor)andthecreationofa"caption"textboxintheupper-left.

MicrosoftPowerPoint

52

Page 53: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

MicrosoftExcel

FMEhashadaMicrosoftExcelreaderandwriterforanumberofyears.However,newin2018thewriterhasgainedanumberofnewformattingoptions,andtheseoptionscanbecontrolledwiththenewExcelStylertransformer.

ExcelStyler

TheExcelStylertransformerallowsstylingtobeappliedtoeitherindividualcellsortoentirerows:

Itallowssettingoffont,fill,border,andtextalignmentstyles:

Asshownabove,parameterscanbesetbyattributes;sofeaturescanbecoloredonthebasisofanattributeandthatattributeusedtosetthecolorintheExcelStyler,givingsomethinglikethis:

MicrosoftExcel

53

Page 54: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

...wherecolorisappliedonthebasisofastreetnameattribute.

TheExcelStyleralsoallowsforsettingcellformat(fornumbers)andcellprotection(whetheritishiddenorlocked).

MicrosoftExcel

54

Page 55: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise ThePowerPointWriter

Data Libraries(EsriGeodatabase)LandBoundary(EsriShapefile)

OverallGoal CreateaPowerPointpresentationshowingvariousitemsofinterestinthecityofVancouver

Demonstrates Microsoft-relatedtransformersandformats

StartWorkspace None

EndWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\Microsoft-Ex1-Complete.fmw

Aspartofaconferenceoncommunitymapping,youhavebeenaskedtoprovideapresentationondifferentaspectsofcommunityinthecityofVancouver.YourealizethisisagreatchancetobothcarryoutthetaskanddemonstrateFME'spotentialforsuchprojects.

We'llbeginthetaskbycreatingaslideaboutlibraries.Sincewe'venotusedthisformatortransformerbefore,thiswillbeajointvoyageofexploration!

NB:Ifyoudon'thaveaPowerPointvieweronyourcomputer,thenyoucanviewfilesonlineonsuchsitesasonlinedocumentviewer.com

1)StartWorkbenchStartFMEWorkbench.Generateaworkspaceasfollows:

ReaderFormat EsriGeodatabase(FileGeodbOpenAPI)

ReaderDataset C:\FMEData2018\Data\CommunityMapping\CommunityMap.gdb

ReaderParameters TableList:Libraries

WriterFormat MicrosoftPowerPoint

WriterDataset C:\FMEData2018\Output\Training\VancouverCommunity.pptx

WriterParameters Template:C:\FMEData2018\Resources\DesktopBasic\VancouverTemplate.pptx

2)AddPowerPointStylerTransformerIfweranthetranslationnow,wewouldn'tgetanyslidesintheoutput.That'sbecauseallthefeaturesneedtobestylizedforthePowerPointwriterfirst.So,addaPowerPointStylertransformerbetweenthereaderandwriterfeaturetype.

Inspectthetransformerparameters.Set:

SlideType:MapSlideSlideSubtype:MapWithCaptionTitle:VancouverLibrariesCaption:AMapofLibrariesinVancouver

Nextsetthelabelparameterstolabeleachobjectwiththelibraryname.UseafontandcolorofyourchoosingandmakesureWrapLabelTextissettoNo:

Exercise:VancouverCommunityMappingProject

55

Page 56: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ClickOKtoclosethedialogandacceptthechanges.

TIPThePowerPointStyleralsohasaparameterforHyperlink.Ifyoulike,settheHyperlinkparametertopointtotheattributeLibraryURL.ThatwayalltheoutputfeatureswillhavehyperlinksinthePowerPointfile.

3)Add2DEllipseReplacerTransformerApointfeaturewon'tshowupverywellinaPowerPointslide,solet'sturnthelibrariesintosomethinglarger.

Adda2DEllipseReplacertransformerbeforethePowerPointStyler.Setituptocreateanellipseofsize200x200:

Acceptthechanges,turnonfeaturecaching(ifnotalready)andruntheworkspace.Theresultwillbeaseriesofslides,eachwithonelibrary:

Exercise:VancouverCommunityMappingProject

56

Page 57: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

We'dpreferasingleslidewithalllibraries,sowe'llhavetochangethat.

4)AddAttributeCreatorTransformerThePowerPointStylertransformerhasanoptiontogroupobjects,butweneedanattributetogroupthemby.SoplaceanAttributeCreatortransformerbetweenthe2DEllipseCreatorandthePowerPointStyler(it'simportantforittogohereforalaterstep).

Usethetransformertocreateanattribute(callitGroup)withafixedvalue(say,1).

NowinspectthePowerPointStylerparametersagain.Nearthebottomofthedialog,underFeatureHandling,setCreateSlideFromtoMultipleFeatures,andsetSlideGroupIDtotheGroupattribute:

Nowre-runtheworkspace.Theoutputshouldbeasingleslidewithallthelibrariesonit:

5)AddShapefileReaderThemapiscorrect,butitreallyneedsabackgroundtothelibraryfeatures.We'llcreatethatwithadatasetoftheVancouverlandboundary.SoselectReader>AddReaderfromthemenubarandaddthefollowing:

ReaderFormat EsriShapefile

ReaderDataset C:\FMEData2018\Data\Boundaries\LandBoundary\VancouverLandBoundary.shp

Exercise:VancouverCommunityMappingProject

57

Page 58: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ConnectthenewlyaddedfeaturetypetotheAttributeCreatorinputport:

WeconnectittotheAttributeCreatorportsothatitgetsthesameattributevalueandappearsonthesameslideasthelibraryfeatures.

TIPIf(instep4)youweretemptedtouseanexistingattributeratherthancreateanewone,thisiswhywedidn't.Wewantsomethingthatwillworkformultipledatasets.It'salsowhyitwasimportanttoputtheAttributeCreatorafterthe2DEllipseReplacer,becausewedon'twanttoturnotherdataintoellipsestoo,justthelibraries.

6)AddSorterIfweruntheworkspacenowyouwillsee,however,thatallisnotwell.Thelandboundaryfeatureoverlaysthelibraries.Tohandlethiswemustsortthedatainsuchasorderthatthelibrariesarrivefirst.ThiswecandowithaSortertransformer.

Wecouldalsocreateattributesforeachdatatype,butwe'llavoidthatbyreusingtheformatattributefme_feature_type.

Soopentheparametersdialogforafeaturetype(itdoesn'tmatterwhich),clicktheFormatAttributestab,andputacheck-markagainstfme_feature_type:

ClickOKtoclosethisandputaSorterintotheworkspacejustbeforethePowerPointStyler.Setituptosortbyfme_feature_type,alphabetic,descending:

Exercise:VancouverCommunityMappingProject

58

Page 59: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Nowwhentheworkspaceisrun,weshouldgetlibraryfeaturesabovethecityboundary.

7)AddFeatureColorSetterThemapisnowvisible,butitwouldbebetterifwecouldgetastandardcolorforeachlibraryobject.WecansetcolorinsidethePowerPointStyler,butthatwouldcauseallfeaturestobethesamecolor,includingthecityboundary.

So,placeaFeatureColorSettertransformerbeforetheSortertransformer.Openitsparametersandsetituptocreaterandomcoloring,butbasedontheattributefme_feature_type:

Thismeansthateachdifferentfeaturetypewillgetitsowncolor.InthePowerPointStylertransformerlocatetheForegroundFillColorparameterandsetittofme_fill_color:

TIPThistechniqueislikecreatingagroup-bywithcolor.It'salsoagreattechniquetousefortheExcelStylertransformer,whereyouwanttocreatedifferentcolorsperrow,butbasedonanattributevalue.

Exercise:VancouverCommunityMappingProject

59

Page 60: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

8)AddTitleS lideOnelastthing:wereallyneedatitleslideforthepresentation.Thisiseasilyachieved.PlaceaCreatorontothecanvas,connectittoasecondPowerPointStyler,andconnectthattotheoutput:

OpentheparametersdialogforthesecondPowerPointStyler.Setitasfollows:

SlideType:TitleSlideTitle:TheVancouverCommunitySubtitle:AseriesofFME-generatedmapsandchartsSlideOrder:1

TheSlideOrderparameterisimportantbecausewewantthistobethefirstslideinthepresentation.Yes,wecouldrelyonthisfeaturebeingwrittenfirst,butthat'shardertocontrol.AlsovisitthefirstPowerPointStylertransformerandsetitsSlideOrderto2,toensureitcomessecondinthepresentation.

Re-runtheworkspaceandchecktheoutput.Youshouldnowhavetwoslides(onetitleslide,oneforlibraries),withallslidesandfeaturesinthecorrectorderandwithuniquecolorsper"layer":

ThisformsagreatbasisforyourpresentationonthecommunitiesofVancouver!YoucouldevenstartexperimentingwithusingtheBookCountandCirculationattributesasthesizeoffeatureinthe2DEllipseReplacer,tocreateathematicmap.

CONGRATULATIONSBycompletingthisexerciseyouhavelearnedhowto:

CreatemapswiththePowerPointStylerReplacepointfeatureswithellipsesusingthe2DEllipseReplacerCreateslidegroupsformultiplefeaturesperPowerPointslideSortfeaturesintothecorrectorderforvisualizingonaslideSetfeaturecolorsonarandomgroup-bybasisSortslidesintothecorrectorderinapresentation

Exercise:VancouverCommunityMappingProject

60

Page 61: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise:VancouverCommunityMappingProject

61

Page 62: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

FeatureJoinerTransformer

FeatureJoiner

62

Page 63: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

WhatistheFeatureJoiner?

TheFeatureJoinertransformerisnewforFME2018.It'saSQL-basedalternativetotheFeatureMergertransformer,thatjoinsdatatogetheronthebasisofcommonkeysandusingSQLterminologytodefinetheresults.

Onthecanvasitlookslikethis:

Andtheparametersdialoglookslikethis:

JoinModes

JoinedfeaturesexitthetransformerthroughtheJoinedport.WhathappenstotheremainingfeaturesiscontrolledbytheJoinModeparameter.

Therearethreejoinmodes:Inner,Left,andFull.

InInnermodefeatureswithoutajoinexitthrougheithertheUnjoinedLeftorUnjoinedRightport.

InLeftmode,LeftfeatureswithoutamatchstillexitthroughtheJoinedport.RightfeatureswithoutamatchexittheUnjoinedRightport.

InFullmode,bothLeftandRightfeatureswithoutamatchstillexitthroughtheJoinedport.

Wecanvisualizethisbehaviourwithadiagram:

Mode Description Depiction JoinedOutput UnjoinedLeft UnjoinedRight

Left

Leftfeatureslookforamatchandareoutputwhethertheyfindamatchor

AllmatchesplusunmatchedLeftfeatures

None UnusedRightfeatures

FeatureJoinerModes

63

Page 64: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

not

Inner

Leftfeatureslookforamatchandareoutputiftheyfindone

Allmatchesonly UnmatchedLeftfeatures

UnusedRightfeatures

Full

BothLeftandRightfeaturesoutputthroughtheJoinedoutputport,whethertheyfindajoinornot

AllmatchesplusunmatchedLeftandRightfeatures

None None

FeatureJoinerModes

64

Page 65: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

MultipleJoinMatches

EverytimeafeatureontheLeftmatchesoneontheRight,anewfeatureisoutputfromtheJoinedport.ThismeansthatwheretherearemultiplematchesforasingleLeft(Requestor)feature,therewillbemultipleoutputfeatures.

ThisiswhytheFeatureJoinerhasnoequivalenttotheFeatureMerger“handleduplicatesuppliers”parameter.Itdoesnotneedthis.ItjustcreatesanewJoinedfeatureforeachduplicatesupplier.

Tounderstandthis,let’stakealookatthiswithsomefeaturecountnumbersincluded:

Thereareeight(8)facilityfeaturesand1,463,442addresses.HowmanyfeatureswillexittheJoinedport?Well,itdepends.

Ifweassumeastrict1:1matchbetweeneachFacilityandanAddress,then8featureswillexitasJoined.Why?Becausewehave8matches.Dependingonthemodethecountwillbeoneofthese:

Joined UnjoinedLeft UnjoinedRight

Left 8 0 1,463,434

Inner 8 0 1,463,434

Full 1,463,442 0 0

However,wemightnothavesuchaclean1:1matchbetweenFacilityandAddresstable.Wecouldhave1:M,M:1,orevenM:M.

Let’ssayeachFacilityhastwomatchesintheAddresstable.Thenwegetthis:

Joined UnjoinedLeft UnjoinedRight

Left 16 0 1,463,426

Inner 16 0 1,463,426

Full 1,463,442 0 0

WhyarewegettingmorefeaturesoutthanweputintotheLeftport?Becausewearegettingonefeaturepermatch,andthereare16matches!

ThisisnotsomethingtheFeatureMergerwoulddo.Itwouldeitherignorethesecondmatchorcreatealist.ButthisisdesignedtobeaSQLequivalent,andsoitworksdifferently.Infact–inanextremecase–ifweassumedthateveryFacilityhasAddressID=1,andeveryAddresshasAddressID=1,theneveryfacilitywouldmatchtoeveryaddress!

Thatwouldgiveus8x1,463,442=11,707,536matches

IfyoudidwantthesameastheFeatureMergerwouldgive-onematchedrecordwithalistofmatches-thenyousimplyneedtocreatealistwithaListBuildergroupingbyyourjoinkeys.

MultipleJoinMatches

65

Page 66: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise TheFeatureJoiner

Data Addresses(EsriGeodatabase)CrimeStatistics(MicrosoftExcel)

OverallGoal Joincrimestatisticstoeachaddressusingstreetnameandblocknumber

Demonstrates TheFeatureJoinertransformer

StartWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\FeatureJoiner-Ex1-Begin.fmw

EndWorkspace C:\FMEData2018\Workspaces\UpgradingTo2018\FeatureJoiner-Ex1-Complete.fmw

Yourtaskfortodayistomakeajoinbetweenaddresspointsandadatasetofcrimestatistics.Anexistingworkspacehasalreadybeensetuptopreparethedatabystandardizingtheattributesrequiredtomakeajoinkey.

1)OpenWorkspaceOpenthebeginningworkspacefortheexercise,FeatureJoiner-Ex1-Begin.fmw

Inspecttheworkspacecontents:

NoticethattheStringReplacerandtheStringCaseChangerinparticulararesetuptoadjustthePostalAddressattributes(200HighStreet)insuchawayastomatchthoseinthecrimedata(2XXHIGHSTREET).

AlsonoticethatthecrimedataisbeingreaddirectlyfromtheCityofVancouverwebsite.Weprobablywon'twanttoreadthatmoretimesthanisnecessary,sowillmakeuseofcaches.

TIPIf,forwhateverreason,youcan'taccessthedataontheCityofVancouverwebsite,changethereaderparameterontheExcelreadertopointto:C:\FMEData2018\Data\Emergency\crime_xlsx_all_years.zip

2)RunWorkspaceBeforeputtingdownanytransformers,turnonfeaturecachingandruntheworkspace.Wecan'tbesurehowlongitwilltaketofillthecaches,andwecancarryonbuildingtheworkspacewhileitruns.

3)PlaceAttributeManagerAFeatureJoinertransformerdoesnotallowuseofatexteditortoconstructajoinkey,thereforeanyjoinkeywewishtomakemustbedoneinanAttributeManager.

So,placeanAttributeManagertransformer,insidethePrepareAddressesbookmark,connectedtotheStringCaseChanger:

Exercise:CrimeAnalysisProject

66

Page 67: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

OpentheAttributeManagerparametersdialog.CreateanewattributecalledJoinKey.Fortheattributevalueclickthedrop-downlistandchoosetoopentheTextEditor.Intheeditorenter:

@Trim(@Value(Number)@Value(Street))

...withaspacecharacterbetweentheNumberandStreetattributes:

4)PlaceFeatureJoinerAddaFeatureJoinertransformer,withthenewAttributeManagerconnectedtotheLeftinputportandtheCrimeDatafeaturetypeconnectedtotheRight:

Opentheparametersdialog.SettheJoinModetoInner,becausewewanttoonlykeepaddresseswherethereisamatchtocrimeonthesameblock.LeavetheothertwoJoinModeparameterstotheirdefault(UseLeft):

Exercise:CrimeAnalysisProject

67

Page 68: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

NowselectthenewlycreatedJoinKeyattributeastheLeftJoinOnkey.ChoosetheexistingcrimedataattributeHUNDRED_BLOCKastheRightJoinOnkey:

Closethedialog.

5)RunWorkspaceRuntheworkspacebyselectingtheFeatureJoinerandchoosingRunToThis.Besidesnoticinghowfastthetranslationruns,noticethattherewillbe67,896matchedfeatures.That'sbecausetherearemultiplecrimesperblockandsomultiplematchesperaddress.

Inspectthecacheddataandyouwillnoticethatthereisonejoinperfeature,ratherthanalistsuchastheFeatureMergermightcreate.

6)AddAttributeValueMapperThereasonwewanttocarryoutthisjoinistoassesscrimeforeachaddress.We'lldothisbygivingavaluetoeachcrimethatiscommittedandcreatingasumforeachaddress.

So,placeanAttributeValueMappertransformerconnectedtotheFeatureJoiner:Joinedoutputport.OpentheparametersandsettheSourceAttributetoTYPEandtheDestinationAttributetoCrimeValue:

NowclicktheImportbutton.We'llusethistoimportalistofdifferenttypesofcrimefromthecrimedataset.Enter:

ReaderFormat MicrosoftExcel

ReaderDataset C:\FMEData2018\Data\Emergency\crime_xlsx_all_years.zip

ClickNext.Whenprompted(itwilltakeawhiletoscanthedataset)pick2017astheFeatureTypeandchangeImportFromtobeAttributeValues:

Exercise:CrimeAnalysisProject

68

Page 69: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

NextselectTYPEastheSourceValue(noDestinationValueneedbeselected)andclickImport.FMEwillimportalistofdifferentcrimes.Giveeachcrimeavalue(sayfrom1-25)basedonwhatyouconsidertheseverityofthecrimetobe:

Don'tworry,it'sjustahypotheticalexercise.Youwon'tbemarkedonwhatvaluesyou'veawarded!

7)AddAggregatorNowweneedtogroupalljoinedfeaturesbytheiraddress,andaddtogetherthecrimevalues.AListBuilderandListSummermightbeonesolution,butherewe'lluseanAggregatortransformerbecauseitcandobothactionsinone.

SoplaceanAggregatorconnectedtotheAttributeValueMapper.Opentheparametersdialog.Set:

GroupBy:PSTLADDRESSCountAttribute:NumberOfCrimesAttributestoSum:CrimeValue

IfwewantedtocreatealistofcrimeswecoulddothatwiththeGenerateListoption,butwewon'tdothatfornow:

Exercise:CrimeAnalysisProject

69

Page 70: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

NowruntheworkspaceusingRunToThisontheAggregator:

TheoutputoftheAggregator(4,271features)plustheUnJoinedLeftoutputontheFeatureJoiner(9,326)shouldequalthenumberofaddressesenteringtheFeatureJoiner(13,597).Itdoes,sowecantellwehavethecorrectnumberoffeatures.

8)AddCenterPointReplacerInspecttheAggregatorcache.Noticethateachfeatureisactuallymadeupofamultipointfeature.Thiswedon'tneed,soaddaCenterPointReplacertransformertotheendoftheworkspacetoreducethistoasinglepoint.

Nowwehaveourdesiredoutput:afeatureperaddresswithacountofthenumberofcrimesinthatblockandasumoftheirseverity.Withthisinformationwecould(ifwewanted)calculatetheaveragecrimeseverityperaddress/block,andmaybeevenmapthisdatawithperhapstheMapnikRasterizertransformer.

Savetheworkspaceasatemplate,includingthefeaturecaches,anditwillbereadyforyoutocontinuetheprojectthenexttimeyoustartFME.

CONGRATULATIONSBycompletingthisexerciseyouhavelearnedhowto:

CreateajoinkeyfortheFeatureJoinerUsetheFeatureJoinertransformertojointwosetsoffeaturesGroupmultiplejoinfeaturestogetherwithanAggregatorCreateasinglepointgeometryforgroupedjoins

Exercise:CrimeAnalysisProject

70

Page 71: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

Exercise:CrimeAnalysisProject

71

Page 72: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CourseWrap-Up

AlthoughyourFMEtrainingisnowatanend,thereisagoodsupplyofexpertinformationavailableforfutureassistance.

CourseWrap-Up

72

Page 73: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ProductInformationandResources

SafeSoftwareWebSite

TheSafeSoftwarewebsiteistheofficialinformationsourceforallthingsFME.ItincludesinformationonFMEproducts,SafeSoftwareservices,FMEsolutions,FMEsupportandSafeSoftwareitself.

SafeSupportTeam

BehindFMEarepassionate,fun,andknowledgeableexperts,readytohelpyousucceed,withasupportteamphilosophybuiltontheprincipleofknowledgetransfer.

YoucanrequestproductsupportthroughaSupportCase(web/email)orusingaLiveChat.

YourLocalPartner

SafeSoftwarehaspartnersandresellersaroundtheworldtoprovideexpertiseandservicesinyourregionandyourlanguage.

YoucanfindalistofofficialpartnersontheSafeSoftwarePartnersPage.

ProductInformationandResources

73

Page 74: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

SafeSoftwareBlog

TheSafeSoftwareblogprovidestechnicalinformationandgeneralthoughtsaboutFME,customers'usecases,andspatialdatainteroperability.Itincludesarticles,videos,andpodcasts.

FMEManualsandDocumentation

UsetheHelpfunctioninFMEWorkbenchtoaccesshelpandotherdocumentationforFMEDesktop.Alternatively,lookonourwebsiteundertheKnowledgeCentersection.

ProductInformationandResources

74

Page 75: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ProductInformationandResources

75

Page 76: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CommunityInformationandResources

SafeSoftwareactivelypromotesusersofFMEtobecomepartoftheFMECommunity.

TheFMEKnowledgeCenter

TheFMEKnowledgeCenterisourcommunitywebsite-aone-stopshopforallcommunityresources,plustoolsforbrowsingdocumentationanddownloads.

KnowledgeBase

TheFMEKnowledgeBasecontainsawealthofinformation;includingtips,tricks,examples,andFAQs.TherearesectionsonbothFMEDesktopandFMEServer,witharticlesontopicsfrominstallationandlicensingtothemostadvancedtranslationandtransformationtasks.

Q&AForum

FMEcommunitymemberspostFME-relatedmessages,askquestions,andshareinansweringotherusers’questions.Membersearn"reputation"and"badges"andthereisaleaderboardofthetop-participatingusers.ComeandseehowtheycanhelpwithyourFMEprojects!

IdeasExchange

FMEdevelopmentisverymuchuser-driven.TheIdeasExchangegivesusersthechancetoposttheirideasfornewFMEfunctionality,orimprovementstoexistingfunctionality,andallowseveryonetovoteontheproposedideas.Themorevotesanideagets,themorelikelyitistobeimplemented!

TheFMEChannel

ThisFMEYouTubechannelisforthosedemosthatcanonlybeproperlyappreciatedthroughascreencastormovie.Besidesthisthereareahostofexplanatoryandhelpfulmovies,includingrecordingsofmosttrainingandtutorials.

CommunityInformationandResources

76

Page 77: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

CommunityInformationandResources

77

Page 78: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

FeedbackandCertificates

Theformatofthistrainingcourseundergoesregularchangespromptedbycommentsandfeedbackfrompreviouscourses.

CourseFeedback

MissVectorsays...There'sonefinalsetofquestions–andthistimeyou'llbetellingmeiftheanswersarecorrectornot!

SafeSoftwaregreatlyvaluesfeedbackfromtrainingcourseattendeesandourfeedbackformisyourchancetotelluswhatyoureallythinkabouthowwellwe’remeetingyourtraininggoals.

Youcanfillinthefeedbackformnow,butyou'llalsoberemindedbyemailshortlyafteryourcourse.SafeSoftware'spartnerswhocarryouttrainingmayaskthatyoufillinaseparateform,butyoucanalsousetheofficialSafeSoftwareformifyouwish.

Certificates

Mr.E.Dict,(AttorneyofFMELaw)says...Inordertoproveyouhavetakenthistrainingcourse,acertificatewillbeemailedautomaticallytoanyonewhowasloggedonforthedurationofSafeSoftwarehostedcourses.

FeedbackandCertificates

78

Page 79: Table of Contents - Amazon S3...Course Overview The training will introduce new concepts and terminology, and help students become familiar with methodology that has changed since

ThankYou

ThankyouforattendingthisFMEtrainingcourse.

ThankYou

79