Using transformers to modify data.
Recently active
I have a DWG that I am trying to create a polygon from to represent the extents of the data.The polyline data doesn't seem to be able to be coerced to form a polygon and I am unsure why.I have tried to aggregate the polylines into a single feature, but no luck.
I'm trying to create 3D Buildings (Lod1) from shapefile, I extrude the buildings but I can't see the 3D models in FME (and inspector). While in FZK everything is OK, what am I doing wrong? PS. I use shape file from OSM
Hello,I have an Excel file with WKT format geometry in two separate columns (attributes, correct?) that I am struggling to encode without creating duplicate rows (features) or overwriting one or the other. Using GeometryReplacer, I can replace the geometry separately, but if I chain them together, only the last one is shown as it goes into 3D Coercer. If the GRs are in parallel, they create duplicate rows. It is important to keep the row structure intact. Above, the Boundaries and Rep. Points transformers are the GeometryReplacers. Obviously, this is no good, but it is the only way I can see both attribute geometries. This what I want (but without the dupes):Ideally, it would be something like this, but it doesn't work:Per the "Go with the Flow" article, if the Workspace takes each feature(row) through the process before moving on, why does GeometryReplacer negate the first GR (Boundaries) and just encode the last (Rep. Points), even though the source attributes are
Hi, I'm using FME to parse a JSON file and eventually upload specific parts to an Oracle table.One concept I'm not sure how to approach is, what to do when the JSON has a nested list, that is always a different size?Would the JSONFragmenter be the best option in this case, or something like the JSONExtractor? When using the JSONFeature reader, I can only get one item of the list at a time. I've attached a snapshot of how the section of the JSON looks.
I have a workspace that reads from non-SharePoint sources and writes to SharePoint. I am using a change detector along with fme_db_operation to insert, delete, or update accordingly. However, I recently noticed an error message that the updates were not updating and required a sharepoint_item_id. 1) Is there a way to update SharePoint without the sharepoint_item_id, perhaps on a separate unique attribute, or is sharepoint_item_id mandatory? 2) If 1) requires sharepoint_item_id, what is the best way to attach sharepoint_item_id to records. I can imagine a reader, then join, but wondering if there is a best practice for these cases. Thank you, Tyler
As the title says, I have a city limits boundary layer and a emergency service boundary layer. I want to ensure the city limit boundaries do NOT move but I want to adjust the the emergency service boundary that covers a city to match the city limit boundary if needed. Any ideas? I am going in circles looking and testing the various geometry validation and topology tools but am struggling with how to isolate the city limits layers from not moving in the process. Thanks in advance!
I have one problem with getting the right height of the polygons as shown here in CC.
Hello, just started FME a few days ago. Have an Excel file with 3 columns containing geometry in WKT format. How do I translate into readable geometry? Example: POINT (2648.81837074121 433.2500) Thanks
I want to translate my fbx mesh in local coordinates to a rectangle region in EPSG:4326. The mesh XY bounds has the same ratio as the rectangle region. I tried reprojecting the mesh from XY-M to EPSG:4326 and apply an offset to shift it to the rectangle center, but the reprojection doesn't seem to change the mesh vertex coordinates. How can I translate the fbx mesh in arbitrary coordinates to a point (or the origin) in EPSG:4326 coordinate system?
Hello. I am trying to make a transformation in the values of a certain field called Labeltxt in a feature type in a gdb. I change the value in the field. This succeeds, but when I need to write back into the gdb i have a problem: Either i use "drop and create" in the writer, but then the objectID field is re-written, which we use to relate to other tables. Or i use the "update" "use existing", and then select "labeltxt", but then the field is not changed in the gdb that is written. Is there a way that I can retain the Object ID and also change the labeltxt value? Regards Rasmus
Hi, I'm experimenting with bit shifting in FME, and I do not get the expected results. In FME 2020.1.0.1 (see example workbench), (255 << 24) is transformed to a 64 bit integer, and gives me 4278190080. in Postgres database this operation gives the expected result of -16777216. I'm using Postgres as a reference since eventually the results of my FME script will be stored there and used by other applications. I don't understand what I'm doing wrong (or should do to achieve my expected result), and hope somebody can help me out. Thanks, Richard.
I am trying to think of ways to use the newly available CurveFitter to speed up work processes. Could the resulting data be saved to a PostGIS database? It seems so from the documentation I have found, but the info is very vague. If PostGIS would not work, is there some other database format that would accept the curves/arcs?
Hi, I've converted GDB file to 3d tiles via FME. These created titles are working fine. But, i get the this warning at console: This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] This tile uses a lowercase refine "add". Instead use "ADD". Required property geometricError is undefined for this tile. Using parent's geometric error instead. what could be the reason for this?
I process CAD files that have the same information in them but the information is formatted differently.I need to find each iteration and process acordingly.I am trying to split an attribute with AttributeSplitter. I have also tried the fmehub RegxAttributeSplitter. (A-[0-9]+ )The problem I have is that in one case the string will split with \\n but in another there is no line break. (as far as i can tell the autocad text box is set to a specific width and the text just rolls to the next line with no break or even a space.)So if I split on lf on one dataset it works. but on another data set it just puts the entire string in with no space. are there any suggestions as to how to accomplish this?
I had a minor task of buffering just over 70 000 points in lat-long by half a meter. I thought I would try the new parameters on the Bufferer instead of using the GeographicBufferer and the performance was very disappointing. Has anyone else experienced this?I decided to run a few tests with the same data and the results were as follows. Reader -> Bufferer [Buffer Distance: 5e-6, Buffer Distance Units: Ground Units (None)] runtime: 38.9s Reader -> Bufferer [Buffer Distance: 0.5, Buffer Distance Units: Meters] runtime: 4h 16m Reader -> GeographicBufferer [Buffer Distance: 0.5] runtime: 2min 0.5s Reader -> CommonLocalReprojector[_AZMED_] -> Bufferer [Buffer Distance: 0.5, Buffer Distance Units: Ground Units (None)] -> Reprojector [LL-WGS84] runtime: 49.8s Reader -> Reprojector[_AZMED_] -> Bufferer [Buffer Distance: 0.5, Buffer Distance Units: Ground Units (None)] -> Reprojector [LL-WGS84] runtime: Error, apparently bad things happen with the Reprojector
I have a huge Geopackage where the included tables have foreign names. I would like to rename these tables to something more intuitive so that the data gets easier for me to work with. There is a external text file with translations that I would like to use. I guess there are two ways to do this: Either run a workspace and save a new geopackage with the "new" table names, or rename when opening the file. Both methods are fine by me. How do I rename the tables?
I have been able to connect with FME directly to the PostgreSQL database that holds the ArcGIS Portal host feature services. The features are stored as tables with a "shape" field holding the geometry. However, I can't figure out how to convert that shape field, which is labelled "st_geometry" into actual geometry. FME writes it to the data inspector as a text, for example, 280000000100000001000400E193040010000000010000009587C3B5B486AD0380BFE7BF9590AC13. Thanks for your help.
Hi,is it a bug, that whitespace is removed in the next step (Parameter Fetcher) in the AttributeConcatenator? In the userparameters the space is still their and the parameter is not checked.
I have an Excel sheet that looks like this:I would like to be able to write out data to the table outlined in red.However, I do not know how many rows of data I will be writing out before I run the workbench. Sometimes it will be two rows of data, other times it will be 7000+ rows of data. In the instance that it will be more than the 7 rows that already exist in the template, I would like the table to expand so that I keep my formatting and I don't write over the data and tables that exist below. I have tried using named ranges as outlined here but I have not been successful at even getting it to write to the correct spot that way. Currently, these are the parameters for the Excel Writer that I have:But this will only start it writing out in the correct spot and then overwrite the rest of the sheet when there are more than 7 rows of records:I currently have a work around where my template has 10000 extra blank rows in the table and then I run an Excel macro to delete all the extra
I am working with a roads dataset, and need to assign what is primary and what is secondary for each line segment. I have the line segments in a single feature class. Each segment has a Unique ID, a routeID, then the mile marker for the start and endpoint of the line. What I need to do is compare the mile markers for each line segment that share a routeID. The end goal (as illustrated in the attached image) is to eliminate areas of overlap (which will be marked secondary). I plan to accomplish this by seeing where the mile marker endpoint of one segment falls within the range of another segment that shares a routeid. So in the example attached, the segment that stretches from 5-7 would be marked as an overlap because endpoint 5 falls within the segment that stretches 0-6. Thanks!
I am trying to follow the documentation listed here https://community.safe.com/s/article/json-transformations about making an HTTP call, flattening the JSON with JSONFlattener, and then pulling out the attributes with AttributeExposer. The flattener even seems to show the flattened JSON feature information. But when I connect that to the attribute exposer, it seems like I can't choose anything out of the JSONFlattener as my attribute to expose in the attribute exposer. Importing isn't any better. It doesn't automatically find the features for me, and the import options seem to be only documents or URLs. A URL pointing at the API would work for this example, but not if I wanted to use an API with more stringent access policy. Am I missing a transformer or a JSON query in between the flattener and the Attribute Exposer? Is there a better workaround here?
I have a CSV file of attributes that I want to assign to a new CSV file and have been trying to use the FeatureMerger to assign the original attribute to the new attribute but it doesn't work, any suggestions?
First of all, I agree that IFC is used in many ways, not all IFC's fits together, and not all IFC's are completely "after the book". One way is to give an address and lat / long in IfcSite. But this is only an approximate location, linked to the address point. It has nothing to do with the coordinate system used. By using this, one probably ends up on the right plot, but not with any particular accuracy. Example from a sample file good building-case-project: IFCSite with Address Verification:# 111 = IFCSITE ('01uPthe3Uixx0TRWar3Vt8', # 26, 'Helland', 'Test plot in B \\ X2 \\ 00F8 \\ X0 \\', $, # 108, $, $,. ELEMENT., (59,24,47,484830 ), (9,3,30,811790), 75000., '3817-55 / 40/0/0', # 99); # 99 = IFCPOSTALADDRESS ($, $, $, $, ('Kyrkjevegen 6'), $, $, 'B \\ X2 \\ 00F8 \\ X0 \\ i Telemark', '3800', 'Norge'); But what needs to be taken into account are: # 80 = IFCGEOMETRICREPRESENTATIONCONTEXT ($, 'Model&
Hi, I have a huge data table where some cells have codes (e.g. ND, TR, TC, XX, etc.). This table gets updated all the time, and I read this data, and I want to get rid of these codes and just replace with zero. I have no idea how many codes are out there (a code may not be in the current table but may appear in an updated version). So, I just want to select any cell with a string and replace it zero. How can I do this? Maybe a conditional statement similar to the ISTEXT formula in Excel? Or a wildcard (*)? Thank you :-)
Hi All, I'm looking for advice on how to share/deliver a workspace to another organisation which has a dependency on a linked CustomTransformer and CustomFormat. It's pretty easy in FME Server, just pack it up in to an FME Server project, however, with Desktop the user must first install the dependencies before even opening up the workspace. I'm curious to see how others have approached this task. I know Safe are working on packages, however, they aren't here yet (at least not with FME 2020) CheersMatt