Using transformers to modify data.
Recently active
Is there a way to get AreaBuilder to produce results closer to Pro's geoprocessing? It seems that whenever I give FME lines similar to the example below, it builds one polygon and calls it a day unless I specify an absurdly high snapping tolerance, in which case it produces garbage (e. g. a 1m tolerance would create a small extra triangle in the middle of the northern line where the small /\\ is, but still leave the large area empty; 5m would create a large jaggy polygon. The example is roughly 100m across, btw.). The polygon parameters have no effect, neither do the snapping types. The lines are 2D, I've also included a 2DForcer before the AreaBuilder to make 100% sure it doesn't even get Z coordinates, but to no effect.Pro, with all of the line vertices displayed and filled areas (three separate polygons, as expected):FME, with one polygon ☹
I managed to generate a new json from the original one getting the info I need but now I see there's some missing data.Each project group has an id, lat-lon info and an array with data for every project inside the group.I generate a new json with a feature for every project but need to also add a feature for every project group without projects in it.This is what I have:[ let $doc := fme:get-json-attribute("_response_body") for $i in (1 to jn:size($doc)) let $id := $doc($i)("id") let $lat := $doc($i)("lat") let $lon := $doc($i)("lng") let $proj := $doc($i)("projects") for $j in (1 to jn:size($proj)) return {| {"id" : $id}, {"lat" : $lat}, {"lon" : $lon}, {"proj_name" : $proj($j)("name")} |}]I've tried to nest an If statement to check when $proj is empty but it throws an error.
Hi,I would like to use System Caller to run an ili2fgdb command (http://www.eisenhutinformatik.ch/interlis/ili2fgdb/). The command works in cmd but not with System Caller. Does System Caller only work with .exe and batch files? Here is my command:"java -jar "C:\iliTools\ili2fgdb-4.4.4\ili2fgdb-4.4.4.jar" --trace --proxy xxx.xx.xxx.ch --proxyPort 8080 --schemaimport --defaultSrsCode 2056 --fgdbXyResolution 0.00005 --fgdbXyTolerance 0.0004 --createTidCol --createBasketCol --createEnumTabs --beautifyEnumDispName --dbfile "\path\BL_Natstr_oereb_20190514_SU_4_4_4.gdb" --modeldir "http://models.geo.admin.ch"" target="_blank">http://models.interlis.ch/;http://models.geo.admin.ch" --models OeREBKRMtrsfr_V1_1 --log "\path\BL_Natstr_oereb_Schemaimport_Log_4_4_4.txt""How can I execute this command directly in system caller? Any help is much appreciated!Many thanks in advance.
I am having trouble in FME to find the correct scale in model space to find the correct size of text when there are multiple annotative scales and viewports. In Autocad the text element has Paper text height and Model text height, as shown below in the screenshotThis text element is in multiple viewports at different annotative scales. When viewing the 2 different viewports in paper space, one size is correct (in this example 3.5 at 1:400) and one is incorrect (when looking at the 1:200 viewport). FME sets the text size in model space using the model text height value, but we have no way to know which Annotation Scale was used to calculate that which I can see? It looks like to workout the original value we need to be able to find the model space annotative scale (set in the bottom bar of AutoCad see image below) or alternatively we need to know the paper text height value (which is consistent when changing Annotative Scale in AutoCAD). Are either of these values saved as an attribute
Hi All, I was wondering if anybody has any experience with reading WMTS services via FME. Any help would be appreciated. Itay
Hello there, I have a question about how the attributes are displayed in the 'FeatureJoiner'. I did an inner join (pic- feature joiner parameters box) with my two dataset and selected the join port. I viewed the data in Data Inspector and found the attributes from both datasets are not displayed in the attribute table (pic- 2nd picture, only displaying attributes from the right dataset) but only in the 'Feature Information' box (pic- attributes displayed from both). My question is, how do I get both features to display in the attribute table?
I have 2 Columns.First Column is the Date.The second Column has a value.I want to see for each Day in the first Column the sum of the last 7 Days.How can i do that in FME?
Hi, I am trying to essentially take one raster over another to produce one merged raster. With some simple logic if cell is present in raster B choose raster cell B otherwise A. When I do this the transformer just outputs and empty map. what am I doing wrong? Thank you
Hi.I added 2 new resource folders to FME Server 2020. I simply defined the shared resources by adding the corresponding lines to fmeServerConfig.txt and FmeEngineConfig.txt files, restarted FME Server services and voilà.Now I need to remove one of these resources from FME Server but removing them from the config files and restarting FME Server takes no effect. It still appears in the resource list.Did I miss any step? Is there anything else I should do?Thanks!
Hi I have a road segment line/polyline dataset that I need to split for each segment object into 10m intervals and create a new record. What's the best way to go about this? Thanks in advance Tim
Hi, I am using the RegxAttributeSplitter. My delimiter has to be digits followed by a whitespace. I have used the positive lookahead Regex (?=\\d(\\s)) but instead of splitting the string and keeping the delimiter in the first list, the delimiter moves into the second list. I need my delimiter to remain within the first list, I thought the answer would be to use Regex negative lookahead (?!\\d(\\s)) but the negative lookahead stalls the transformer completely and produces no result. Any clues what Regex I should be using? I have also tried using Regex in the StringReplacer but no positive results here either. Below is sample of the string.. H02.CCU066 Sluice (Shared 2,Rooms) H02.THD067 Treatment Area - 14,Spaces Yellow highlight is the delimiter moving to the second list
Hi everybody, I have written a very simple script that:Reads some ESRI-JSON placed in folder tree recursively (**/*.json)For every data which is in the same folder (= same type of data), gathers all entries in the same dataset and creates a new feature class with the name of the folder in an ESRI file geodatabase (having eliminated duplicates) Precisions:Every input json files in the same folder share the same schema. But in differents folders the schemas are not the same and there may be or not M values attached to the data. However, the field OBJECTID can always be found and that key is used to remove duplicates. Issue:I cannot find the way of setting the output port to retrieve the original schema which is the same of the JSON files the output dataset aggregates. When I check "Dynamic Schema Definition" I have no choice but to use fme_feature_type (the script fails otherwise) attribute but it represents the whole schema (since all files are ESRI-JSON); so there are lots of
HelloI need to create a polyline dataset based on a point dataset which contains a text string. The text attributes also contain the orientation. As I have 1 point for each text feature how can I either :- add another point at the end of the text string and then join the points together to create a polyline, or can I just create a polyline directly from the text string for the correct length and orientation. Any suggestions on how to achieve this would be welcome. Thanks
I need to find the width of many small hill like features. I have the base point on one side, but need to find the matching elevation point on the other side of the line and measure the distance between the two. The data is a series of cross section Shapefile lines draped over las . Points are also Shapefiles Is there a way to search the line to find the same elevation along the line as the base point? Thanks
Can I do this in one Statistics Calculator OR do I have to use a Statistics Calculator for each year? Thanks,Justin
I have a table and I want to build another table from it, e. g.values | types12 | house3 | car4 | boatto:house | car | boat12 | 3 | 4This works with the AttributeCreator (Input: @Value(types) / values), if you check the output with a Logger. However I can't see or use the result in other transformers, unless I expose the fields with the AttributeExposer, which defeats the purpose of the dynamic creation. Is there any way around that? The content of the table changes, so exposing manually is not exactly desirable. There's a custom transformer, AttributeTransposer, but it also requires exposing afterwards.
There is both a support ticket and an idea. When reading a large list of drawings from an excel list. you "must" know the entire list of layers you want to read. in the "Features Types to Read:" selection box. Several things are what i consider ambiguous.if you use the cached data selection and select layers from 1 data source (1 drawing only can be selected) and select a layer with a space in it and a layer with no space in it. it returns a text list of the layers with no quotations. however the layer with a spcae will not select any features.If you use the text editor and type your own list of layers and use quotations and commas (like I would do in an esri product) all of the layers with no spaces (and quotations around them) are skipped. If you read the list in a text editor and are trying to identify layers with spaces that need quotations, you are unable to determine which layers have spaces and which layers are simply the next layer in the list. If you desir
As the IFC property sets are configured in other systems i do not have prior knowledge of the attributes to expose these for the writers. I need to be able to feature attribute cleanup so that i can expose these attribute collections without prior knowledge of the feature information.I have successfully exposed the attributes from the collections as a feature attribute but these are still hidden from the writer. I am able to interrogate each feature and build a picture of those attributes in Python but cannot seem to expose these programmatically. def processFeature(feature): print("**Processing feature**") print(feature.getAttribute('ifc_property_set')) #ifcpropertieslist = feature.getAttribute('ifc_properties') print(feature.getAllAttributeNames()) i=0 attrNames=feature.getAllAttributeNames() elementCount = int(feature.getAttribute("_element_count")) print(elementCount) exposeAttrsNames={} for i in range(elementCount): attrname = "ifc_properties{
Sorry, not sure how to word this correctly. For example, I have 2 published parameters. First parameter is StateName and second parameter is Cities. If I pick a certain state in the first parameter, could the second parameter (cities) only display cities in that state from the first parameter?
Hello, I have ready procedures to transform from .gdb to .gdb format. They were made for version arcgis 10.4, but now I have version arcgis 10.0 and to work I have to reload the reader and writer. Since this is a lot of reader and writer I would not want to do the procedure again. Is there a possibility of automatically switching from a higher version of .gdb to a lower version of .gdb? Thanks in advance,
I'm trying to extract all unique combinations of a given datamodel. For example:Table 1.FRUIT COLOR TYPEApple Green Kanzi Yellow Jonagold Red Elstar Golden Fuji Pink Golden Delicious Royal GalaWith this given datamodel, I can make 30 unique combinations.Like this:Table 2.FRUIT COLOR TYPEApple Green KanziApple Green JonagoldApple Green ElstarApple Green FujiApple Green Golden DeliciousApple Green Royal GalaApple Yellow KanziApple Yellow JonagoldApple Yellow ElstarApple Yellow FujiApple Yellow Golden DeliciousApple Yellow Royal GalaApple Red KanziApple Red JonagoldApple Red ElstarApple Red FujiApple Red Golden DeliciousApple Red Royal GalaApple Golden KanziApple Golden JonagoldApple Golden ElstarApple Golden FujiApple Golden Golden DeliciousApple Golden Royal GalaApple Pink KanziApple Pink JonagoldApple Pink ElstarApple Pink FujiApple Pink Golden DeliciousApple Pink Royal GalaI made table 2 in excel with copy and pasting. The real dataset that I have has alot more columns and values. T
Hello,I am trying to generate a single SketchUp file having several layers, using several attributes and a GeometryPropertySetter such as sander described here. Thing is, by doing so, all the edges of my shapes are into the default Layer0 layer, while surfaces are in the correct layer :This is very annoying when I want to work with such files on SketchUp afterwards, any ideas about what is wrong here ? Also, some of my layers are set as such, but with the same method, I sometimes get my features into created groups, I really don't know how. Thanks in advance,Mickael
Hi,Please, any transformer suggestion about how transpose the Table1 into Table2 ? Table1ID Field2005 Field2006 Field2009 Field20181 10.0 28.0 23.8 -3.82 80.0 34.0 -3.8 40.0 Table2ID YEAR VALUE1 2005 10.01 2006 28.01 2009 23.81 2018 -3.82 2005 80.02 2006 34.02 2009 -3.82 2018 40.0 Neither of List transformers nor AttributeExploder + Aggregator transformers work in this case. I have been working with these examples [1] but I don't get exactly what I need. Before using PythonCaller I would like to inspect other transformer possiblities. So, any FME workpace example or transformer suggestion is apreciated. Thank you [1] https://community.safe.com/s/article/transpose-a-table-using-fme
I read in map drawings that have the coordinate system defined. There are many files so they have multiple systems (mostly state plane but still varied systems) I have opened the dwgs and they have a coordinate system defined correctly in AutoCAD Map 3D. I have also used the geomap command and they are all correctly located in the state plane cs they say they are in. I use the csExtractor then a test filter to test for whether there is a CS defined. Then near the end prior to writing to fgdb I have CsmapReprojector to reproject the data (with read from feature) to LL84. After the wb completes successfully i open the fgdb to find that (only some) of the data has been reprojected too far south of the US. In reality they are not IN south america. but they are south of Mexico in the ocean. (see screen shot)The only thing i can find going wrong is that the original cs is TX-SC which gets read in as TX83-SCF. so the nad27 gets read as nad83. but even creating a new wb and reading just the of
How could i force the shortest path finder to go through some specific points ? i have used 20 points (from to line ) , and my network .and 10 points,i would like the path to go through them if there is a path . i used the shortest path finder to find the shortest path and it works great but i have some points , in network .i would like to go through this point if there is a path . as example , i have Pt.a - Pt.b (i found the path in network between A - B) but i have some points inside the network as Pt.c ,i would like to check if there is a path through pt.c or not even if it is longer .so, if there is a path then the path will be A-C-B ,if not ,the path will be A-B .i think , i should add to cost attribute but i am not sure ,how could i consider the Points.Thanks for help .