Is there a way to use the Area/Perimeter and Length Update tools from the Database Operation toolbox if the data is queried from Oracle Spatial? Currently, when I try to use the tool I get the message "SELECT statement returned no rows", and I can only get that far if I've connected to the database through the Settings -> Database -> Connect... option (in addition to the Oracle Interoperability connection I needed to query it).
If there's a way in the GSA to have these fields automatically updated when the geometry is altered, we'd be interested in that as well; but I'm curious why the tools aren't working for me, and why they would require a different connection than the Oracle 'graphical source'.
Thanks in advance!
It's good to know that its working for you now. In v8i Bentley Map automatically generates an area property for any polygon feature, and length for linear features. The properties are grayed out and not allowed for editing. If you want to select property values from a pick-list, you can create a comboBox property and push a domain list to it.
We also offer a rich Bentley Institute course for these sorts of tricks and tips. The course name is "Bentley Map Administrator".
Thanks, Mohammad Sr Geo AE, Houston
Mostly working now.
For some reason I assumed that it would automatically update the values after I drew the shape even though it was an "editing" initial value. I now see that if I draw and complete the shape and then use the edit function to review the shape, it will populate these values. Then I can accept the updates and post the shape.
If I could make a feature suggestion it would be an easier way to tie a property of a feature to a geometric attribute and have it updated when the place command completes (also when an edit completes). Ideally, I would select area/perimeter/etc from a dropdown somewhere in the property attributes. These could be greyed out in the edit dialog. We have users who are bringing in AutoCAD files and converting them to spatial features. It'll be pretty tedious if they then have to 'edit' each feature to update these attributes.
Thanks for the pointers, guys.
Thanks Mohammad, it's still not working for me, though.
I've done all my testing on existing properties, detected by the GSA during registration. Changing the return type doesn't seem to change the behavior for me.
To rule out problems caused by customizations we might have done, I created a new project and registered a single feature with an "area_size" column. I added the edit watcher to that property/column, exported and ran without any other changes.
I don't want to drag this out in the forum if it's something with our configuration, so I'll put in a support request. I'm creating a new schema with a small feature set to try and help the support team reproduce the problem.
Thanks, -Rob
Rlingle-
It does not matter whether the feature is oracle spatial registered or not..but for your benefit, I have added an oracle spatial registered feature in the same schema anyway, exported the schema and drew a new feature in Bentley Map... and everything worked perfectly. Please see the attached screenshot...one segment showing the string in the schema, another showing that it is oracle registered and the last showing it has populated the area field.
Please make sure your C-expression return value type is NOT set to "Double"! Also, try with an existing property, instead of creating a new one.
HTH-
Mohammad Masud Sr Geo AE, Houston
Guessing from your screenshot, but it looks like you're using a feature that isn't a "Registered Oracle-Spatial Feature" as your example.
I set up a test feature exactly like yours and it worked as expected. I configured one of my registered features as in the attached screenshot, and it does not update the area.
Through testing I found that no matter what value I enter as the expression for the registered feature, it won't error- as if it's not even being evaluated. If I gave the unregistered feature an invalid expression, it populated the area with "Expression handler error: -1".
Is there a way to make Map provide detailed logging for this?
update: To rule out problems caused by including/omitting underscores in my feature names, I created an unregistered feature collection called B_TEST_AREA_Collection. The area was updated properly using the cexpression ([B_TEST_AREA.Area]). Grasping at straws here, I know. :)