Using transformers to modify data.
Recently active
I have a set of (thousands) 3D models in KML/Collada file. These represent a geospatial area. I want to mass convert these into a set of OBJ files. This in itself is quite easy, thanks to the KML reader and the OBJ writer.But now I need a way to split the big OBJ into smaller obj files, based on the spatial properties of the files.I tried using the Tiler, but this doesn't seem to work for 3D objects. (Shame cause it felt like this is exactly what I would need)I also tried using the Grouper in combination with the AttributeRangeFilter, but this would just amount to me having to create hundreds of OBJ writers to match the _group_index attribute written by the grouper. Which kind of defeats the purpose of trying to automate it.So is there a way to output multiple Wavefront OBJ files instead of just one? And if so, how?
Hi.I have a database of roughly a million polygons and I have another dataset of 50 polygons which represent areas of interest. Some of these areas of interest overlap.I would like to select every feature from the large database that overlaps an area of interest polygon and write these to 50 individual datasets. I tried to set up a loop using a spatial filter. Some screenshots are belowOverlapping areas of interestMain workbenchCustom transformerI should let you know I haven't worked with loops before in FME before. I was hoping the first area of interest polygon would enter the filter then the large database would enter the candidate path. It would select the correct polygons. The passed and failed features would enter back through the candidate path and it would perform the same operation on the next filter polygon.Any help would be greatly appreciated.Thanks,Matt
New to the forum and FME really... I did some searching around on here and couldn't find what I was looking for...I have blockgroup level statistics and want to be able to perform proportional spatial overlay calculations to calculate polygon level statistics for custom polygons (radius, drivetime, etc.). The approach I am using, conceptually is.... Join the blockgroup boundaries to the blockgroup tabular dataUse AreaCalculator to generate the area of each BGUse AreaCalculator to generate the area of the custom polygonUse AreaOnAreaOverlayer to bring them togetherThat is where I get lost...Ideally I would end up with a list of all the BGs that are within the polygon along with their percent intersect. From there I can apply the proportion to the BG statisticDoes anyone have an example workflow that I could follow along with? I am used to using Alteryx for this kind of spatial work and haven't done anything this advanced in FME to date.
I’m looking to calculate the total hours of water consumption based on records ON/OFF from a GIS feature class. Each feature can be ON and OFF several times along the month. What transformer can I use to calculate the total number of hours it has been ON.
Hello,I have a network of (+) intersecting lines (There is no (T) intersections). I have also nodes of these + intersections also extracted.I want that whenever there is an intersection, the shortest line to be splitted to 2 lines but the long ones remains as it isCan anyone help me with this ?Thank you very much
Hi,I have the following list attributes set up in an AttributeManager which I am passing to an Excel Spreadsheet Writer set up in Dynamic Schema mode.The first attribute named 'TEST' is outputting correctly in the Excel Spreadsheet with the values from the field named 'LIST_0' (which is not actually a list, just to confuse) populating the column as expected.In regards to the second attribute, which I have named dynamically from an actual list called 'LIST_NAME_UNIQUE{}', the column name in excel is outputting the correct name as per the list value I specified, but no values are populating the column. Can anyone see what I'm doing wrong here? I feel like it is a really simple mistake but I just can't work it out...I am using FME Desktop 2017.1.1.1Thanks,
HiFor different reasons I am trying to use FME Server to run a batchfile scheduled.The batchfile's task is to run a specified Powershell-script that converts a spreadsheet to PDF using MS Excel.(Yes, if FME would have had a proper plain PDF-writer I would have used this.). Both powershell-script at batchfile are working flawlessly when used manually.I've created a workspace with a systemcaller to run the batch-file. When I start this workspace, it runs the batchfile and it does what it is supposed to do, and fme logs what is happening.From the fme-log:SystemCaller: Executing `C:\Scripts\RunPowershellScript.bat'Z:\Some\network\address>>ECHO *********************************************************Z:\Some\network\address>>ECHO ** run powershellscript to convert spreadsheet to pdf. ** ** run powershellscript to convert spreadsheet to pdf. **Z:\Some\network\address>>ECHO *********************************************************Z:\Some\network\address>PowerShell -NoProf
I wonder if aynone has expericence with using asyncio in python FME?I've been trying to decorate with some asyncio.coroutine and do some async def, but I cannot grasp the whole picture on how to combine a syncronized FME project with an async library like asyncio.Anyone who would share their knowledge on this topic would be Awsome!Paal
Hi. I want to know if it's possible to use the 'linejoiner' tool by using an angle tolerance? For example, if I have 2 segments with an 'L' shape, I dont' want them to be joined together because they are 90° difference. But if my segments are less than 45° angle difference between each segment, I want them to be connected. Is there an easy way to do that? Thanks Frank.
According to the documentation: "The AreaOnAreaOverlayer takes in area features. All polygons are considered against each other, and where they overlap, new polygons are created that represent both the overlapping area and the original areas with the overlap removed."All I need are the overlapping areas themselves, not the 'original areas with the overlap removed'.. It seems like this should be a simple check box in the AreaOnAreaOverlayer tool? But I'm using three additional transformers to weed out those 'original areas' (Clipper, and a pair of testers) . Am I missing something (probably something very obvious)?Thank you!
I've searched for a solution to this but none of the other posts seem to provide the minor detail I'm missing.My goal: I need to find the distance "as the crow flies" between street intersection points (point geometry features). What I have: Street Intersection points feature set with a unique ID field populated for each point. What I've done: [1a] NeighborFinder (Street Intersection points as both the Base & Candidate inputs) [1b] Vertex Creator using the Nearest neighbor output ( Mode= Add Point ; _closest_candidate_x & _closest_candidate_y) [2] LineBuilder (inputs are the original Street Intersection points and the Vertex Creators output points) grouping on the unique ID field. However this process does not output any lines. What am I missing?
Thanks to ideas from @takashi that I discovered here, I have a ChangeDetector to discover differences in table schemas, which works as expected.For a logical value of 'No Changes' or 'Changed' I want to feed the ChangeDetector output into a tester, but I don't come to grips with the way the Tester works with the fed results:The way it is wired now always leads to 'Failed'
I have a Multipatch that I need to color with the GeometryColorSetter. The MP contains an attribute with RGB (0-1, comma separated). Unfortunately the GeometryColorSetter won't let me pick an attribute for the coloring. Is there a workaround? I tried FeatureColorSetter but it doesn't color the MP. AppearanceStyler also does nothing.
Thanks to @david_r, I am able to calculate CRCs from schemas now.The next problem arises when comparing those CRCs in the following setup:My deliberation is that the CRCs are calculated one after the other and the tester waits for both results to arrive. But as you can see from the attached log , it does not happen in that sequence so the test does not give the expected results. What's wrong?
To compare database table structures, I try to calculate the CRC of the table schema like this.However I seem to be unable to set the parameters for the crc calculator to do what I want. In the end I only need that one number of the CRC to compare it with the equally retrieved CRC of the same table in a different database
Hi there,I've been having some severe difficulties (and google has proven fruitless) in something I'm trying to achieve.So in a nutshell, I have a point layer, and in this point layer, SOME of them are duplicates, geometrically. However, these duplicates can have different attribute values. For example, two points may be geometrically on the exact same location, but they have a field called "color", where one is attributed as "Yellow" and the other "Red". What I need for these cases, is to have the point merged into a singular point, but have the attributes concatenated so that it will end up being one point, saying "Color: Yellow; Red".Aggregator seems to kind of do this, but the problem is that my output needs to be Shape file, which does not support mulitpart geometries, and for the life of me, hours of googling have not given any answers as to an elegant way (at least as far as my competence goes) to "flatten" my aggregated
I am reading table name and attribute values from text file. I do not have column names but only table name and values in the list.I would like to insert the values into SQL Server table. How do I map list to destination table schema. The order of column values match with table structure. Following is the example of text file row.I~6000000~PDEN ~A058951~PI~PI~DEHYDRATOR~~261384~~~B&C; COMPRESSOR STATION~802103~~~~~~~~~~~~A~~A~USA~17~027~~61~022033~~~~~~20171001~~~~~~~~N~~~~CONGRESS_PRD~~3~~~~~~~~~~~~~~~~G~LA~~L~~~~~~~~~~~~~~~~~~~~'I' is the transaction type.6000000 is table idPDEN is the table name.Rest of them are Attribute Values.Text file can contain values for multiple tables and it can have update or deletes also.For now I am trying to find a solution for inserts.Please let me know your thoughts.
In 2017, I would use dates like 'today', 'last month', etc in the DateFormater to create dates in FME and other formats. The new DateTimeConverter no longer recognizes natural language dates. Was this an oversight?
Is there a transformer that creates an ESRI AddressLocator tool?
Hi!I’m trying to build a start up script in FME Desktop2016.1, which will check if the destination dataset(s) is available for writingor not. If it’s available I would like a message telling me so, if not I wouldlike the translation to fail and tell me why (and not continue for over an hourand tell me at the end of the translation it failed).The idea is that I have a script that I can use in all workbenches,whatever the workbench is doing. So I’m trying to fix it in the start up scriptand not with transformers.I made a script in Python, which gives me a niceexception when I run the translation… However, it also gives the exception when the destinationdataset is still available (not locked by me on purpose), and it shouldn’tthrow the exception... Am I missing something?Thanks for the help!Script:import fmeimport fmeobjectsimport os# Raise exception if the Writer destination is locked (before translation!)# Create an empty list, later we will add the locations of the destinationt dataset
I have lines with nodes at the ends of each line (classic node-edge-topology). For my export I need the from- and to-node of each line. To add the node-information to the lines I use the TopologyBuilder what works great in most cases. The problem I have is shown in the two screenshots below. If I two or more lines are overlapping the TopologyBuilder split the second line into individual features. How can I avoid that? It destroys my topology. (I'm working with FME2018) Data before TopologyBuilder:Data after TopologyBuilder:
How can we use AttributeCreator which receives an array of data to only pull the last index of that array?
I found an example of the minimum spanning tree but wondering if it is possible to do Steiner Tree. I have the Edges, Nodes and Steiner Nodes all created but I want the optimal undirected route to connect all the Nodes.
I have a CSV file showing Bus Stop Codes in one column and Bus Route Numbers in another column.As you can see there are multiple Bus Stop Codes for each Route..I want to create a table which shows the followingI am very new to FME and only learning the basics. Is there an easy way to do this in FME for all the Bus Stop Codes ??I've attached an example CSV fileJames
Hello,I have some questions about the AreaGapAndOverlapCleaner transformer.In the documentation, it's written that the ''Tolerance is : The minimum distance between geometries in 2D before they are considered equal"How this distance is calculated between 2 polygones? If set to automatic, what does it mean that ''a tolerance will be estimated based on machine precision at the location of the input geometries."Thank you.