Using transformers to modify data.
Recently active
I'm calling 6 separate StatisticsCalculator transformers, and they each take a (relatively) long time to run. All I'm calculating each time is a min, max and count attribute so this seems like overkill. Is there an easy alternative I'm missing? Is there a way to use a math function against the entire dataset for example?
I have a pointcloud in LAS format which I want to use as the basis for a CAD project. I need to create contours in DXF format containing z-values from the pointcloud so that they can be imported into a CAD program and visualised in a 3D model.What would be a good workflow to do this?
Hi Guys,I'm here with yet another brick wall I'm facing. This time a pretty complex one, at least in my mind.What I have as my inputs:Two line layers with name attributes:Let's call the Blue lines my base layer, and the Red lines the match layer. The red lines overlap the Blue lines everywhere, so in other words, where there is Red, there is Blue as well underneath, although the geometry will not always match 100%. Both layers have name attributes.What I need:I need to look at the name of each Red feature, and see if I can find any matches in nearby Blue features in its name attribute. If there are multiple matches, I need to find which one is the closest, percentage wise. In the end, the idea is to identify Red lines where there are no blue lines with names that are >70 similar to Blue lines within a 20 meter radius.What I have so far:I've used a NeighborFinder to get a maximum of 5 neighbors within a 20m range. I then have a ListConcatenator to add an Attribute of
I have an AutoCAD Map 2018 dwg file with multiple inserted drawing blocks. The blocks also contain object data tables (OD). When trying to selectively extract each inserted block to a separate new dwg file, I either get all OD attributes, or none. When using a CAD viewer, the layer names (and FME read feature types) appear to be in the form {block name}%0%{layer name}. I have tried using regex / contains to determine which original block the feature has been sourced from.My attempt so far is pictured below, and contains two different versions of parameter settings for the AutoCAD OD reader - one of which is disabled for testing. Apologies in advance for redaction of some detail that is confidential to the research. The desired output is a dwg file for each inserted block, containing only those OD tables relevant to the specific block inserted. Where features are from the original dwg (not inserted), they would be written to a new dwg containing only original dwg information and OD tabl
I have 208 points going through PointOnLineOverlayer and I am getting 238 points for output. I have tried various tolerance values to no avail. It appears that there is some duplication occurring. Has anyone else experienced this?
After using the LineCloser to close 3D lines I discovered that some vertices in my dataset were changed. My assumption was that the LineCloser only adds a segment between the last vertice and the first vertice of the polyline but the Z from the last vertice was changed to the Z of the first vertice... Changing the parameter Connect Z Mode from "First Wins" to "Ignore" solved my problem. But I wondered if the setting "First Wins" was set as Default intentionally, and if so, why?The image: 1. The open line. 2. The closed line with the setting First Wins. The Z value of the last vertice is changed to the Z of the first vertice. 3. The closed line with the setting Ignore. Now only a segment between the last and the first vertice was added, no vertices changed.FME Desktop 2017.1.2 and 2018.0.0.2.Workspace attached.
I have a piece of FME log message: 2018-05-16 13:20:18| 0.1| 0.0|INFORM|FME Configuration: Reader Keyword is `MULTI_READER' I can guess all of the pieces except for 0.0 and 0.1. Does anyone have a clue?
Hi there,I'm having some difficulty identifying and taking actions on features where no entries are passed. Here's what my data looks like:TYPEGEOCLASSRESTRICTIONSIGNMissing4132Incorrect3361Rework2345Problem is, my output is an excel sheet that uses a precise template, and I need all records to be present, regardless of their values. I will be running several datasets through the workspace, all with different values missing and/or present. So if I run data through the workspace and there are no entries that has TYPE = Rework, the output looks like this:TYPEGEOCLASSRESTRICTIONSIGNMissing4132Incorrect3361What I need instead is:TYPEGEOCLASSRESTRICTIONSIGNMissing4132Incorrect3361Rework0000So what I essentially need is to just have a test for each TYPE (Missing, Incorrect, Rework) and if there are no entries, I pretty much just need to create a blank entry (0, or _, or whatever) with the same TYPE name.Am I overthinking this or missing the obvious?Thanks in advance,
Dear FME community.I would like to make a flow map like in french "carte en oursin"For do that, I've multiple group of points like this structure : One center with multiple destination for each group of points.I tried to do that with this workbench : Can you help me ?Thank you.
When I'm using this WMS service as background map in Data Inspector (FME 2018, build 18284) the meausurement tool does not seem to work. I can click and drag all I want but it's not showing any results.I think it's something specific to this service, other WMS'es don't seem to have this issue.
I'm just trying to get an epoch timestamp. I have a Creator>Attribute Creator>Inspector. I'm using @DateTimeFormat(@DateTimeNow(),%s) but am getting null returned. All other formats work. What would cause this?Seems like I'm having an issue with epoch time. I'm seeing the same results (null values or rejected features) in other transformers as well, such as the DateTimeFormater. I have tried converting both ways, from and to epoch. Interestingly the 'preview' in the transformer always works. My '%s' format is also auto-recognized as epoch too.
Dear FME community.I've a line with vertex and I want for example to move point 1 (x : 100 y: 100) to x : 102 y : 80.I've attribute with Start X, Start Y, End X, End Y and line ID.It is possible to do that ?Thank you.
I'm using a series of MSWordStylers to layout a Word document. It has multiple paragraphs and some of the paragraphs have sentences or words in bold. The rendered output:The custom paragraph option allows me to specify the font and font size and the option to use markdown to bold specific parts of the paragraph as required. However, I can't seem to use both markdown and custom fonts at the same time. The paragraph using markdown defaults to the default font, in this case Cambria, and doesn't match the rest of the document. The words and sentences marked up in markdown are rendered correctly though. So markdown is working correctly on the structure but the transformer is losing the presentation settings. A bug? A feature? Anyone else confirm this?I'm using FME 2018.0.0.3.
Hi all, I've done some data preparation of OpenStreetMap data (epsg:4326) in QGIS and as part of that work reprojected the OSM data to epsg:27700, naughtily relying on QGIS on the fly reprojection without too much thought. That defaults to a transformation that looks good in QGIS for my purposes and aligns well with the OSM web tiles in QGIS. I now want to use the 3DTiles in FME visualisation to export the data as a Cesium web map (thus going back from epsg 27700 to 4326) but I see a shift of about 1m or 2m of my OSM data when in Cesium (i.e. the product of the FME writer). I presume this is because FME is doing a different transformation to go back (appears to default to using OSTN15 grid shift) to that which I applied in QGIS. The QGIS transformation appears to be named as EPSG:1314. https://epsg.io/1314 so I thought I could transform the data with that to 4326, before sending to the 3DTiles writer. However, I can't find epsg:1314 as a transformation in the csMapReprojec
I am trying to get NeighborFinder to match effectively two different datasets in such as why that each candidate is only matched to one base but not all bases have candidates. (Should be able to find these by utilizing the Maximum Distance Field). However, when the data gets chaotic and there are 10 measurements on top of each other, the matching candidates (which are labels) are often not the closest candidates. I am wondering if anyone has an idea about how to match a cluster of measurements with their candidates in such as way that it produces the lowest average distance between the bases and candidates and makes sure that each candidate finds a reasonably close base. The post: https://knowledge.safe.com/questions/59605/neighborfinder-and-excluding-candidates-after-matc.html gives me an idea, but I do not think that it provides a complete answer to my problem. This image illustrates the problem. I bet that using a waterfall technique would get about 20% of this wrong.
Not sure if I am even asking this correctly, but I pretty much want to move the effective point of my text object to the middle of the current position of the text. When I use Neighborfinder, I want my labels to be matched to their respective objects based on the positions that their center of gravity occupies, not that annoying little point in the lower left corner. My thoughts were that I would use the BoundsExtractor to find the min and max coordinates of the text and then use have the difference between these to move the text object in the Affiner. Trouble is that the BoundsExtractor seems to find the extent of the point, not the text since its output is not making the Affiner move it at all (I assume because min =max). I do know that FME can read a Max and Min associated with the text however because in the inspector on the reader, it shows such an extent (see image below Min and Max Extents). How do I extract that informantion?
I have a summary table of collection routes and the number of collection points on each route. Each route gets a colour value based on the number of collection points (grouped into bands of 100). I'm routing this into the ChartGenerator and using my "fill_colour" attribute to colour each bar on the chart.I have seven bands in my dataset and I'm expecting to see 7 different colours on the chart but instead I seem to get a default blue colour.My fill_colour field has values like 65,174,118 just as recommended in the help file. I've tried with and without quotes and can't get my specified colours.Any suggestion? Am I asking too much of the ChartGenerator?
Hi, I would like to convert a dataset with GPS tracking points to routes using the the LineBuilder transformer. My challenge is that I want to create separate routes based on break values/attributes. Each route start with zero (value) and ends with one (value). Based on break values/attributes I would like to add an unique routeID to each route (collection of points) and use this as connection break attribute in the LineBuilder. See attached example of attribute table.Any idea how to acomplish this?Thanks in advance,Morten
When I use the RasterCellCoercer within a workspace in FME desktop, it works fine. But when I run the same workspace in FME Server, it returns the polygons in the wrong order it seems.See example1 image, the blue polygons should be on the same position as the raster, but they aren't.Does anyone has any idea what the solutions could be?
Hi all,I want to use FuzzyStringComparer but I'm wandering is it possible to force it to rate sth like this higher? eg. Pizzeria Saracino <-> Saracino Pizzeria => 0.47So the words are correct but the order is wrong, and I need to know if the name is basically the same. In this case it is the same for me. Is there possibility to configure this transformer to check words in string separately? Thanks in advance!
Hi all,We've just upgraded to 2018.0.0.2 from 2017.1.x and a workbench that used to run in about 5 minutes is now running at 1 record per second and I have 62,000 records to process. The bottleneck appears to an AttributeValueMapper with 140 lookup values. The FileGDB and AttributeRemover read all 62,000 records in next to no time and then they hit the AVM and everything slows right down.We've tried a FeatureWriter (to CSV with DuplicateRemover) to get a file of unique values and updated this with the new mapped values and then used a DatabaseJoiner but that is still slow at 2 features per second.Any suggestions on how to speed things up?The workbench takes a FileGDB table and uses DatabaseJoiners to join two more FileGDB tables (with a common key field in each one) to build one output table in PostgreSQL with selected fields from each table.ThanksRoss
Hello, I need to transform my DWG to SHP. I have one layer that contains 2 types of elements, block reference and polyline, how can i get 2 shp files, one point shape with block reference elements and one line shape with polyline elements? All attributes must be kept in attribute list of shape files.
I'm evaluating FME Workbench for our company GIS ETL processes. It doesn't look like the SQL reader supports stored procedure data sources. Is this correct?I can work around it by using a view as source and a filter string on the reader but want to know if there's a way to use the stored procedure directly.Thanks.
Hello, I am new to FME and would like to try and obtain geotagged Flickr / Instagram posts based on specific search criteria, e.g. keywords and coordinates. This is for a conservation project. Using Yosemite National Park as an example, I would like to search for images within a 10 mile radius of Yosemite (37.8651N, 119.5383W) with the option of filtering out posts based on the keyword “black bear” and then place those queried results on a map. I have had some success using the TweetSearcher Parameters transformer for aggregating Twitter posts, but am wondering how and if this could be applied to Flickr and Instagram to reveal posts and images. From what I gather I should use the httpcaller to talk with the api, but any ideas on how to create a search query? Is such a thing possible? Thanks so much for your help. Charlie
Hi, I am not able to upload my transformers created with FME Desktop 2016 to FME hub. I tried two of them and here are the error messages:Category 'Geometric Operators' is deprecatedCategory 'Linear Referencing' is deprecatedIs there a list of current valid categories?Thanks in advance.