Tag Info

Hot answers tagged

12

The reason that people organize data in separate tables is because of Database Normalization principles (follow the link, all the rationale is there). That being said, ESRI Relationship Classes are a GeoDatabase-level implementation of a those principles. Honestly, I would personally only use them in two instances: when you have some data that is ...


5

This works for a "relate" (definded in an MXD). I'm not sure if it works for a "relationship class". Please try. If you work with a relate you make a selection in table A and transfer this selection to tabe B (this works in both directions of a relate): Make a selection in the "vegetation table". Open the attribute table of "vegetation table" Click the ...


4

You could find a topological representation of county boundaries, such as the CTA boundary files (another source would be the OpenStreetMap, but that's not as complete) and then pick out all distinct pairs of county IDs on opposing sides of boundary lines - e.g. in the CTA files, there's these two fields in the link entity (as described in the ...


4

SDE and SQL are not really friends. They do not cooperate very well. SDE uses sql but does not take advantage of all its native capabilities. A relationship set up in sde is not reflected in SQL. Editing feature class tables managed by SDE, modifying table schema's outside of catalog, as well as doing many other things, will pork SDE. Given this track ...


4

The relationshipClassNames property is supposed to do this but it does not seem to work for me (tested in a file geodatabase, created relationship class between two feature classes, checked the property, the list returned is empty for both). Maybe it will work for you.


4

i found the answer here at wolf mapper blog - right click on the point shapefile and select “Properties” > “Labels” tab > “Expression…” button. In the “Label Expression” window select “Python” as the “Parser:” and click the check-box next to “Advanced.” Insert the following code: def FindLabel ( [LocID] ): import arcpy myDataTable = "data table" ...


4

Relationship classes: Maximizing performance describes the indices added when creating a relationship, which would explain a performance increase as you described.


4

This is possible. But for QGIS to support this type dynamic change when editing data, the data has to have a backend to support that like a RDBMS. If using PostgreSQL that has PostGIS enabled, you could create a new VIEW to facilitate the requirements of the JOIN. Then when you add a new feature to your source table (the geometries) or the view, then the ...


3

You'll need to obtain exclusive access to the data by getting the other users to close ArcMap temporarily. It should then allow you to split the line. Hope this helps.


3

Short answer to the question "Can we create relationship classes based on a geometric network?" Relationships yes, relationship classes no. Long answer: A relationship class as defined by ESRI deals with how attributes inside fields relate to each other in two or more tables. A relationship class can be one to one, one to many or many to many. It can be ...


3

If you want to assign IDs (or another field) automatically, you should programmatically create Class Extension that listens to edit events and updates corresponding Id field http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//000100000201000000


3

You just need to create a new field in your feature class and use the Field Calculator to create the unique ID based on fields in the class. Something like: "CH%s%s" % (!StreetField!, !UniqueCodeField!) using Python.


3

Assuming you have a 1-M relationship between the two tables: Open up the attribute table for your big table right-lick on the foreign key column, and select Summarize Select the fields that you need to do your statistics on and the statistics method (sum, avg, etc). It creates a new output table Join the output table back to your origin table. Open up ...


3

Since you mention you are a programmer, here's some code that works with arcgis 10. Update: If you don't feel like programming, I've posted a zipped shapefile of the graph here. public void TestGetNeighbors() { var fLayer = ArcMap.Document.FocusMap.get_Layer(0) as IFeatureLayer; var dict = GetNeighborsByName((ITopologyClass)fLayer.FeatureClass, "{0} ...


3

UPDATE: Added spatial index to improve performance and brief instructions for using this script on Windows. #------------------------------------------------------------------------------- # This script will build an adjacency table in csv format representing # county polygons that "neighbor" each other. This script is intended # to illustrate the use ...


3

In QGIS, you can calculate those sums and means with "Join attributes by location" tool. It will create a new shapefile with additional attributes.


2

For a programmatic approach, I see several options: custom Layer. custom renderer. layer extension that implements ILayerExtensionDraw. With any of these approaches, you can use IRelationshipClass.GetObjectsRelatedtoObject, (or RelatedToObjectSet), assuming you've set up a relate to the score table.


2

The only time I have had problems with relationship classes that exist in SDE not being automatically published in a map service was because there is a problem with permissions on the account I was publishing with to see the related table in SDE. How are you adding related feature classes/ tables to the .mxd? Is it the same user/version as the key feature ...


2

Since you're setting your environment variable env.workspace, I think you may be misleading the tool by re-stating the name of the database in your variables: origin_table,destination_table, and relationship_type. What the tool sees this: origin_table = "a.gdb\a.gdb\Trail_meta" destination_table = "a.gdb\a.gdb\trails_mfg" out_relationship_class = ...


2

It might be worth looking at the Infrastructure Network Editing (ArcGIS 10) to see if the attribute assistant can be configured to create your IDs. I don't recall if it can be used outside of a network. http://www.arcgis.com/home/item.html?id=14bdfb26bc2f4e0388a633fbd0ccca02 Zip Infrastructure Network Editing also includes an editor extension called ...


2

Another option is to open the Attribute Table. Once the table is open you can select any number of features. Once Selected, click the Options Button and view Related Tables. This will create a fly-out list of the related tables either via GDB Relations Classes or ArcMap Relates, select the table you want and it's table will then open with the related ...


2

If you need to update records based on edits to the origin, there are several ways to do it. What it boils down is to listen to the Relationship Class events and to update accordingly. That is one way to do it. Another one is to do it as an Editor Extension.


2

Open table properties by right-clicking on the tablename in the table of contents. In the Display tab, change the field to 'Plant_Species_Present'


2

Based on your additional notes it sounds like you will want to use the IRelationshipClass.GetObjectsRelatedToObject method, at least for starters. For better performance you might consider using one of the other methods, such as GetObjectsRelatedToObjectSet that takes a set of input objects though. This will reduce the number of round trips to the database ...


2

firs you need to have a date filed at you table. Second you should use COMPOSITE Relationship class — A relationship between dependent objects where the lifetime of one object controls the lifetime of the related object (parent to child). I'm also recommenced on editor tracing Through editor tracking, ArcGIS can automatically record the following information ...


2

It looks like you're still using a path for the relationship class name, that should only be the name you want for the relationship. Also, if you copied the .dbf tables into your file geodatabase they should not have .dbf at the end of the name. I think this may be confusing ArcGIS. When you have tables in the geodatabase they do not need a file extension at ...


2

If there is such an inbuilt method for ArcPy then I am unaware of it. Curiously, the ArcInfo Workstation architecture (which preceded ArcGIS for Desktop) had a cursor implementation within its Arc Macro Language (AML) that supported working with related records.


2

Rather than build a solution yourself, there is a plugin you can use. The Data Driven Input Mask plugin can handle data entry for one-to-many situations. It can also handle constraints, foreign key relationships, etc in your Postgres database.


2

Yes, you will be able to query and edit related records from Javascript, assuming the Server data has been set up for this of course. The pros and cons of actually relating tables will depend a lot on how you plan to use and maintain the data beyond GIS. I recommend reading the Esri article on joining and relating tables before deciding if it's the right ...


2

Make sure all the Keys have the same data type. One of the keys was a double instead of text....but strangely this wasn´t identified by ArcGIS.



Only top voted, non community-wiki answers of a minimum length are eligible