Using transformers to modify data.
Recently active
I've got a duration in seconds that I want to format as hours and minutes so I thought I'd tell the DateFormatter that it was %s (seconds since the epoch) and ask for the output %k:%M.The output is an hour too long. (FME 2016.1.3.1)6861 comes out as 2:567861 comes out as 3:11That's not right, is it?
I have been struggling with this issue for two days. In summary, I am reading in some locations with the intent of creating mapping tiles only for those locations (the territory I am covering is huge, so an overall raster + raster tiler is not an option). The flow of the workspace is as follows:Read the "Sample.csv" Calculate the tile boundaries and tiles index numbers based in the PyTileMaker scriptSort the tiles so that similar tiles are grouped (in TileSorter)Generate the tiles bands, raster and points-in-tile in PyMakePointsIn the last step, I need to produce 4 bands (as in RGBA). The raster and bands are 256x256. I can generate the 4 bands if I use FME_INTERPRETATION_UINT8 for the band properties and a UInt8BandTilePopulator to generate the band. Unfortunately, the resulting raster has no idea which band is which in terms of RGB or alpha.So it seems logical that one would generate bands with the proper interpretation property, such as FME_INTERPRETATION_RED8 and a band p
I am wanting to translate a list of files in a directory from one raster format to another by calling an FME workspace using the Python fmeobjects API.import osimport syssys.path.append(r'C:\Program Files\FME\fmeobjects\python27')import fmeobjectsworkbench = r'D:\ESRIGrid2GeoTiff.fmw'directory = r'D:\Test\A Folder'raster_files = [os.path.join(directory, raster) for raster in os.listdir(directory) if raster.endswith('.asc')]parameters = {'SourceDataset': '\"' + '\" \"'.join(raster_files) + '\"', 'DestinationFolder': directory, 'InputCoordinateSystem': 'MGA94-54'}fme_runner = fmeobjects.FMEWorkspaceRunner()fme_runner.runWithParameters(workbench, parameters)From the log file its seems the issue is that the FME reader splits the paths where there is a space in a folder/file name, even though each path should be enclosed in double quotation marks. I can run the workbench successfully from Python if I input a single file and through FME directly witho
I need to replicate the Select by Location function in ARC.The catch is that I need to be able to set a negative search distance. i.e. I need the polygons in the candidate layer to overlap the filter lay by at least 2 meters. see ARC settings belowI have tried the Spatial Filter and Spatial Relator however I cant see where you can specify a distance.The Neighbour Finder lets you specify a distance but not a negative. Please Help.
We have a locally customized projection grid in Chile, presented as (X,Y) values in an Excel spreadsheet. How can I plugin the grid into FME to be recognized?
I have a group of features that are merged together into a spatial boundary (buffer of 25 feet) and I'd like to scale each group of features (lines included) from a known center point to a scale that would make each group more readable with labels. The number of groups varies from map to map. Each group is created as an inset map to a PDF. The brown diamond is where the center point is and the anchor point for my scaler. I wonder why the scaler transformer doesn't have a group by.
Is it possible to convert a surface to 3d pts, lines or polygons background: I've been given a surface from Civil3D and wrote it to an esri filegdb multipatch feature class using workbench, however you cannot use a multipatch with the surface tools in esri (contour, difference etc.) so i am attempting to recreate the autocad surface as an esri TIN. we don't have access to the masspoints or breaklines that originally generated the civil3d surface
I have in my test spatialFilter that brings in 4 polygons Filters and 11238 Candidates, but the trans only returns Candidates for the first Filter. I get 10 records but should get 40.
For a project I’m trying to use FME to directly write XML formatted metadata, stored in an attribute, to an ArcSDE Oracle database with FME. Following these examples (1&2), It works fine with a SDE Feature Class & the Esri Geodatabase (ArcSDE Geodb) writer. However, for a SDE Raster Dataset I’m experiencing some difficulties: The Esri Geodatabase (ArcSDE Geodb) writer won’t let me write to SDE Raster Dataset The Esri Geodatabase (ArcSDE Geodb Raster Dataset) writer doesn’t have the option to set the allowed geometries to geodb_metadata.Does anybody have experience with this issue (and perhaps a solution), or am I doing something wrong?
Hi,I have a workspace with two creators which I use to create a single constant text line each. The rest of the workflow reads data and creates text lines depending on the content of the data (10 lines in this example). Now I want to write the text line of the first creator first to a text file, then the lines generated dependent on the data and the text line from creator_2 last. As Creator_2 is much faster then reading all the data in between, in the resulting text file I get the text line from Creator_1 first, then the line from Creator_2 and the lines from the data last. Is there a way to control that the line created by Creator_2 is written last?So far I can only see that the Creator order can be controlled...thanks,Ludwig
I've tried a combination of CoordinateRounder, Snapper, GeomRefiner, and GeomValidator but am getting the error message after clipping.I've mapped the coordinates from the error message and they appear where the clip has failed. Screenshot below:Green = clipping boundary Blue = needs clippingBrown = clipping failed/did not come through any of the outputs (inside, outside, rejected).Pink = mapped error points to check if they occur at the failed clips.
I am trying to automate one of our processes here, where we import a LandXML file in, then move, rotate and scale to match up to our DCDB. I've got workbenches setup to define how much move, rotate and scale is needed, but what I need to do, is create a control point that won't move, rotate or scale, but the rest of the data to move, rotate and scale around this accurate mark. How do I define this mark as an anchored point?Once I define this, I'll then ask about how to do these adjustments?
I am currently trying to improve the performance of a data extraction process, and I want to know if an SSD (Solid State Drive) would be beneficial for my particular workflow. The process does not get close to memory limitations, so there is no writing of temporary files (that I am aware of) to disk during the translation. The process finishes by writing a shapefile in a zip file to a local network drive. I would like to know if FME temporarily writes the shapefile to my PC harddrive before it is zipped, because if it DOES, that would suggest that an SSD would be beneficial. But if the zipping process is done entirely in memory, then I doubt an SSD would be of benefit.Can anyone answer my question?
Hi guys,I have two feature classes here one is points and another is polygon. The rule i want to apply is to only let them join by attribute when the point intersects with polygons.Both feature classes are land ownership data hence both of them would have features with same geometry but different attribute (lot number, unit number and etcs)I am thinking to use database joiner to join the table but does anyone knows how i can apply the rule to only let intersected feataures to be joined?Thanks!
Is there any transformer equivalent to COUNTIF or COUNTIFS excel functions in FME.I have a very large csv file that is not openable in excel that i need to perform a count on certain attributes that have numerical values. e.g Count the total number of values between 1-10 etcI am currently using expressionevaluator transformer where it sets an attribute to 1 if condition is met otherwise 0. then i use statistics calculator to sum up the total.wondering if there is any quick and simple way to do that.I have two attributes that i need to check with 5 different conditions
Hello, I am having difficulty finding something similar to this in the Knowledge Center so I thought I would ask. I have an attribute whose value looks like this (it is a full line from a badly formatted text file). Ticket No: 4653 Nearest Intersection: Chinton Street Seq No: 34 I need them split to an attribute list and subsequent value listEg:Attribute_1 = Ticket NoValue_1 = 4653Attribute_2: Nearest IntersectionValue_2: Chinton StreetAttribute_3: Seq NoValue_3: 34It doesn't have to be a "list" as long as I can separate those part of the texts. I am guessing there should be a RegEx way of doing this. The attribute names "Ticket No", "Nearest Intersection" and "Seq No" will always remain the same with their values changing. I am trying to build a script to always separate them. Any suggestions? Thank you!Addition: For the first one, if there was a way to extract between 'Ticket No:' and 'Nearest' that would be fine. I can work
I am converting data from SQL spatial to FGDB. After I run the translation, it failed because of geometry. The data is polygon. I used geometryFilter for troobleshooting to see the different types. There are 6 features which have Collection type. How can I convert them to polygon?
Hello, I have two Postgis databases that contain several schemas. Each schema of a database also contains many tables. How I can do to create a workspace that allows you to copy all the tables of a schema from one database to another. The schema name containing the tables to be copied must be a published parameter. The user must just enter the schema name in order to copy its tables into the other database. I work with the FME 2017 version but what bothers me is that every time I have to list the schema and choose the feature types to read to use. To summarize I want to do a dump and restore tables of a schema database Postgis. Thank you for your help.
I have an Oracle table with rows organized in groups, each group with an unique attribute name, WELL_NAME, and sorted by an attribute, DEPTH. I want to add an attribute called SURVEY_NO that auto generates a sequential number for each row within each group, starting with 1, then 2, .. and end with the last row in that sorted group. So it will look like:WELL_NAME DEPTH SURVEY_NOname1 10 1name1 20 2name1 30 3name2 10 1name2 20 2name3 30 3
Hello,I'm trying to run the equivalent of an excel 'index match' formula, trying to return the 'Category Code' from a secondary table, that looks like this:Table A:AreaLine RefYards FromYards ToCatagory CodeAAA1A00210002150019AAA1A00215002200088AAA1A00220002250035AAA1B00210002150045AAA1B00215002200087AAA1B00220002250057BBB1A00210002150064BBB1A00215002200013BBB1A00220002250001BBB1B00210002150098BBB1B00215002200020BBB1B00220002250030From table B I am trying to return the relevant category that matches the following record:AreaLine RefYards FromYards ToCategory CodeBBB1A002189921899Within the range above, I would want to return category code '13'.Having looked around on the forums, I think I need to use an 'InlineQuerier'; I wouldn't know how to produce the SQL for what I need though. Any help would be massively appreciated!
FME 2017.1.1.0I manually defined in the shape writer a field type of short, when the data is generated, In ArcMap, the field type shown as Long. Is this a bug?By the way, I define a type of number, width of 4,the fractional part width of 0?in ArcMap shows the field type is Short.It seems that FME 2016 has the same problem, but it seems still not being resolved.https://knowledge.safe.com/questions/32929/short-datatypes-understood-as-long-with-new-shapef.html
I am using the AttributeManager to rename the field NAME_BODY to NAME. At the same time, I'm using the Conditional Value to input a new Attribute Value for the field NAME. What I'm trying to say is... if NAME_SUFFIX_CODE is 'HWY' and my NAME_BODY is 'Trans-Canada', the output value should be 'Trans-Canada Hwy'. This is what it looks like....The Output Value that I've stated in the above image is definitely wrong and I'm having no luck researching the proper way to put this together (I can't even get @value(NAME_BODY) + ' Hwy' to work). What is the correct way of writing it so that I get the value of NAME_BODY with the string ' Hwy' at the end of it?The ElseIF statement that I have for the Parameter Condition Definition, as shown in the image below, is basically doing the same thing as the one above. I am discluding all the values that I already took care of in the If statement by saying NAME_SUFFIX_CODE cannot be 'HWY