Using transformers to modify data.
Recently active
I am running into an issue while trying to import a 3D model made in SketchUp into ArcGIS Pro. My planned workflow was to: Reproject the spatial reference of the .skp file from XY-M to NAD83 CSRS Zone 10.Deaggregate the mass buildings to individual buildings.Convert the .skp (SketchUp) to .dae (COLLADA)Use the Import 3D Files 3D Analyst Tool in ArcGIS Pro to import the .dae model into Arc. Once imported into ArcGIS Pro, the spatial reference of the model appears to be in NAD83 CSRS Zone 10, but the model still ends up in the middle of the ocean, as if it didn't change projections. How should I go about importing the models so they end up in the correct location? Will I have to geo-reference each model? Thanks!
Hi, I have a big csv file with points that I want to transform to lines. The Linebuilder works fine when you have attribute that controls when to build a new line. But what is the approach if I want to start a new line when the next point is far away?
Hello, I am trying to read an excel file with FeatureReader but my excel file has an extra row before the true header row. Row 1: Report TitleRow 2: Header RowRow 3-N: Data Is there a way to skip over the first row when reading in the file with FeatureReader? Thank you
I have a workspace that accepts both a raster input and a point vector input. I want to get the value of the raster at every single point. I know that the vector features will always be provided in WGS84 latlongs, but the raster might be any arbitrary coordinate system. The simplest solution is to reproject the raster to WGS84. However, raster reprojection is very expensive compared to reprojecting a few hundred points. I want to be able to temporarily reproject the points to whatever CRS the raster is in. What is the best approach to this in FME? So far I have been able to use the coordinate system extractor to set the crs as an attribute on the raster feature, but I'm struggling to get this single attribute from the single feature to use to set the reprojector input. Things I have tried unsuccessfully:Python scripted parameter (can't find a python API class that can load the raster and look at the CRS)Set a parameter within the workspace at runtime (apparently the parameter
Hi all,I have issues using FeatureReader transformer when reading all .xlsx files from folder. During execution of the entire workbench it will load just couple of them. But when I use Run From This (from FeatureReader) it will load all files.I'm using FME Desktop 2022.2 version. Thanks,Bogdan
I have this block of XML. <?xml version="1.0" encoding="UTF-16"?><place place_id="11703"> <gas_price type="regular">22.19</gas_price> <gas_price type="premium">24.19</gas_price> </place> I used an XMLfragmenter to break up the big block of XML from the data source into the above snippets for different stations. But I can't figure out how to extract these using the XML transformers. I am trying to get a result like this: ID | Price Premium | Price Regular11703 | 24.19 | 22.19 I know I'll probably have to transpose the data, but even before then I can't get the XML extractor or flattener to do anything to this little JSON snippet. Is there an obvious query to extract this using one of the transformers? Thanks
Is there a way to add logic to User Parameters? Example: If one option is selected then another will be disabled?
Hi all, I'm looking for the optimal way to create a 'mesh' of potential flow paths to use with the ShortestPathFinder. Currently I feed my workspace a polygon of interest, then to a point cloud of required spacing. Turn that into individual points and then connect them up in the 8 points of the compass using a NeighbourFinder/ListExploder/VertexCreator. My query with this is at the end I have to use the Matcher to remove lots of geometric duplicates where point A has connected to point B, and point B has connected to point A. Line direction is irrelevant to this task so I was wondering if anyone has any ideas as to how I could optimise this process?
Hi All,Hoping a fresh set of eyes may be able to identify why the workbench below performs differently when run on its own and when called on using a workspace runner. The intent of the workflow is to read a table of gps points and filter them into 'Runs' between a Start and End time. I have two branches for testing right now. One writes to a spreadsheet and one to csv. I am expecting that all the runs will be written out to the spreadsheet while each run will be written out to their own csv file using the unique RunName. I don't think it is an issue of datetime format. The workspace below runs with test values in the User Parameters but when the Workspace runner reads the table of Start/Stop Runs and feeds the StartTime EndTime and Runname to the workbench only one csv is output while the spreadsheet contains a larger but incomplete dataset of filtered gps points. So the spreadsheet gets more data but incomplete while only one csv is written out when I am expecting many cs
Hi there,I tried to use a ‘User Parameter’ as the ‘Selected Attributes’, but it didn’t work. As you can see the first screenshot below, the HU100 are different between two input resources with GEOID 00037. However, they are listed in the 'Matched' tab. If I use hard coded text 'GEOID HU100' as the 'Selected Attributes', then the Matcher will work fine and the two records will go to 'NotMatched' tab (see the second screenshot below). Could anybody tell me what's wrong with the 'User Parameter'?
In FME 2021, the "Medial Axis" option for CentreLineReplacer was removed - does anyone know of a succinct way to replace this?2020.1: CenterLineReplacer (safe.com)2021+: CenterLineReplacer (safe.com)I found this a very useful feature when combined with a preceding HullAccumulator for auto-generating a new shared network routing close to multiple destination points:My current solution is to use the "Straight Skeleton" CentreLineReplacer option, then trim away all the lines connected to end points:
I have a survey and those filling out the survey are asked if a condition has passed or failed. There are close to 50 questions like this. When a condition has failed it is expected that the person filling out the survey will include details on the failure. The table that collects this information has schema similar to this: Condition1, Condition1 Comments, Condition2, Condition2 Comments, Condition3, Condition3 Comments; ad nauseam. I have created a TestFilter to test for the different conditions. Now for each specific failure I have a corresponding outport. The records that go through these outports will be turned into Cityworks Work Orders. Thankfully, they are all considered the same work order (a generic one). I'm a bit puzzled with how to manage the comments. How can I grab the corresponding comments for a failure? It would be good to also have the ability to report more than one failure and grab all of the comments. I hope I've provided enough detail. I appreciat
Here it says it should recocnize Recap files: https://docs.safe.com/fme/2021.1/html/FME_Desktop_Documentation/FME_ReadersWriters/recap/recap.htm
Hello everyone,My colleague encounters an error when running the featureader when the spatial filter is different from <No Spatial filter>. When spatial filter is set on <No Spatial filter> then no error occurs, however my colleague really needs to make use of one of the filters. When he sets the spatial filter on something different, he gets the following error (see image below)He is trying to read features from an oracle database.The problem doesn't occur when he is using fme desktop 32 bit, but then he gets performance issues. 64 version can't be used due to higher version of arcgis pro that is not compatible with fme desktop 2021 64 bit. The error mentions that the table has no spatial index, but it's weird thing is that this problem doesn't occur with fme desktop 32bit version. Does anyone might know what the cause might be of this error?
I've had some success with the Poisson surface but was interested to see the results from Marching Cubes, however, it never outputs a surface with this option for me.
I have 2 datasets of points created from the vertex extractor transformer. The 2 points have the same X, Y coordinate but differ in Z. I want to create vertical lines between these 2 points. I think this should be possible using the vertex creator transformer with 2 transformers after each other but can’t get it to work.
Does the constant interpolation method in the surfaceDraper transformer takes into account X, Y and Z coordinates (2.5D) or is it only looking at the closest 2D value in X and Y coordinates?
I've been trying to match the closest curve to a series a points.I tried the NeighbourFinder with ListStatistics and a Sorter, but it wasnt giving good matches to the points I have (likely because it's looking at points in all directions, not just points perpendicular to the curves). Any ideas how to match the curve closest to the points?Curves are grouped by _segment_id.
I can't fathom how to do this as a newbie. My feature has two attributes, start_coord and end_coord.On a row by row basis, I want to create a line out of these two points. They are currently WKT POINT geometries that I have created from coordinates. I have attempted to use LineBuilder but that appears to build a line out of all my features (rows) so 44 rows output one messy line. I suppose the PostGIS approach would be something along the lines of:ST_MakeLine(ST_GeomFromText(Attribute From Feature), ST_GeomFromText('Attribute From Feature'), ST_GeomFromText('Different Attribute From Same Feature')) Any advice would be wonderful.
The caller just hangs.Works fine on desktop but not the server.I had to add a feature holder between the HTTP Caller and the XML templater. Any other suggestions?? That seems to be only part of the solution.
Say I have one datasource with an scale attribute. On the same workspace but in a different and unrelated set of features I want to use this scale setting as a variable for a buffer. What is the best way to achieve this?I have tried a few different methods and transfering the attribute through the FeatureReader seems to be the most solid of those I tested, but surely there is a more elegant way to do this?
I want to translate a shp file into gpkg format, but there is a id(32 bit int in shp) field in shp file. I can't do it via FME serverIt throw errors of3792023-3-7 11:28:17 | OGCGEOPACKAGE writer: OGCGEOPACKAGE writer: For feature type 'd_y_n40', primary key attribute 'id' has unsupported type 'mediumint'. Primary key must have type 'int,PrimaryKey'I try to use AttributeRenamer, But it is not working.How can I use AttributeRenamer in this caseThe attached is testing dataset
I have got a school's spatial data (point data) with capacity information in the attribute table. I have set up the Transformers to allocate the students to particular schools. But after allocating, I need to go back to the school's data for the next student. But after looping back, the data should show 1 less number in the capacity (because that seat got allocated to the student). I am stuck here on how to go back and start the process again with reduced capacity. Datasets I am usingSchools Feature ServiceMaster Spreadsheet with Students Data Thank you
I need these translation log info to be part of my translation canvass so I can include them into the header of my report. I used to have this solution in place but I'm hoping to find a more efficient way to include the info in my canvass and not the shutdown. https://community.safe.com/s/question/0D54Q000080hedASAQ/using-the-processid-and-timestamp-as-my-log-name-failing-on-rename-with-py3x-but-not-27
I'm setting a variable via a variable setter as one of the first transformers in my workspace (after an sql creator) so I'm sure the variable is set.However when fetching that same variable downstream in the workspace in a custom transformer (or a custom transformer in a custom transformer).The value is empty. I'm pretty sure that the variable name in setter & retriever is exactly the same (see screenshots). I've tested it by setting the first transformer in my custom transformer to be the VariableRetriever, but the output is empty.I don't cache the data so it's not related with data caching. If I do a VariableRetriever in the main it finds the variable. When I do it in a custom transformer it doesn't find it. What am I overlooking? In other workspaces this works without an issue