|
POST
|
Thanks for the reply. It was very helpful but I am still stuck. I have found the Subtype and associated CVD through the methods described above. However, I cannot find which fields they are associated to. Type -- associated with field_x? What I am trying to to is link a field in a form to the subtype, and a separate field in the same form with the Coded value domain per the subtype. I have a form already populated with all of the feature attributes but can't find a way to link the fields with the subtype/CVD now. I know that my type is associated with my field FEATURE_TYPE however I cannot figure that out from either return value. Here is what I get when I return getFeatureTypes(): [Type: [ id: 0, name: HumanFeature, domains: {FEATURE=CodedValueDomain: [ domainName:dom_AllFeatures_HumanFeatures_Ca codedValues:{Cultural=Cultural, Culvert=Culvert, Gate Cattleguard=Gate Cattleguard, GTLF=GTLF, Guzzler=Guzzler, Land Treatment=Land Treatment, Mine=Mine, Monitor Measure=Monitor Measure, Sign=Sign, Well=Well, Other AssetFacility=Other AssetFacility, Other Barrier=Other Barrier, Other Forestry=Other Forestry, Other Fire=Other Fire, Other HazMat=Other HazMat, Other Hydro=Other Hydro, Other Minerals=Other Minerals, Other Range=Other Range, Other Recreation=Other Recreation, Other Transport=Other Transport, Other Wildlife=Other Wildlife, Other=Other} ]}], Type: [ id: 1, name: NaturalFeature, domains: {FEATURE=CodedValueDomain: [ domainName:dom_AllFeatures_NaturalFeatures_Ca codedValues:{Barrier=Barrier, Fauna=Fauna, Flora=Flora, Geologic=Geologic, Hydrologic=Hydrologic, Monitor Measure=Monitor Measure, Paleo=Paleo, Spring=Spring, Other=Other} ]}], Type: [ id: 2, name: HumanEvent, domains: {FEATURE=CodedValueDomain: [ domainName:dom_AllFeatures_HumanEvent_Ca codedValues:{Explosive=Explosive, Fire=Fire, Hazmat=Hazmat, LawEnforcement=LawEnforcement, Recreation=Recreation, Other=Other} ]}], Type: [ id: 3, name: NaturalEvent, domains: {FEATURE=CodedValueDomain: [ domainName:dom_AllFeatures_NaturalEvent_Ca codedValues:{Astronomic=Astronomic, Fire=Fire, Geologic=Geologic, Hydrologic=Hydrologic, Meteorologic=Meteorologic, Other=Other} ]}], Type: [ id: 4, name: Other, domains: {FEATURE=CodedValueDomain: [ domainName:dom_AllFeatures_Other_Ca codedValues:{Other=Other} ]}]] Here is what I get when I return getEditableAttributeFields(): [Field [name=FEATURE_TYPE, alias=Feature_Type, type=esriFieldTypeSmallInteger, type_int=20, editable=true, length=0, ], Field [name=FEATURE, alias=Feature, type=esriFieldTypeString, type_int=60, editable=true, length=50, ], Field [name=NOTES, alias=Notes, type=esriFieldTypeString, type_int=60, editable=true, length=100, ], Field [name=BUFFER_FT, alias=Buffer_ft, type=esriFieldTypeInteger, type_int=10, editable=true, length=0, ], Field [name=DISTURBANCE_PCT, alias=Disturbance_Pct, type=esriFieldTypeInteger, type_int=10, editable=true, length=0, ]] Thanks for any more assistance you can provide.
... View more
09-18-2014
01:40 PM
|
0
|
0
|
826
|
|
POST
|
I cannot track down subtypes in the runtime gdb. I've used a CVD from geodatabase.getEditableAttributeFields() and works fine, but the subtypes do not seem to be stored in the same way as a cvd.
... View more
08-29-2014
10:59 AM
|
0
|
2
|
3838
|
|
POST
|
Pretty sure you're going to need to do some sort of spatial query to your offline database then handle the results in some way.
... View more
07-02-2014
08:21 AM
|
0
|
0
|
480
|
|
POST
|
I cannot get a new feature to draw immediately after I add it to the offline geodatabase I am using. (It will draw once I pan or zoom) I am looking for a refresh() call but can't find any reference to it. I saw this thread that seems similar and references a refresh() but I can't find it. I am assuming what ever call is necessary to refresh the map drawing I should place it in the onResume() call? @Override
protected void onResume() {
super.onResume();
// Call MapView.unpause to resume map rendering when the activity returns to the foreground.
mMapView.unpause();
//refresh map/layers here?
}
... View more
07-01-2014
09:37 AM
|
0
|
1
|
3773
|
|
POST
|
The geodatabase was not created from ArcMap. It was created from an online resource (Create Runtime Geodatabase sample) and downloaded as an editable runtime Geodatabase, so that is not the issue. I am trying to use the 10.2.3 offline capabilities. I did notice as I've been working through this that I was using Feature instead of GeodatabaseFeature. Could this be where some of the issue stems from? Is my understanding correct in that a map.Feature is a graphic? But can also have geometry and attributes?? com.esri.core.map.Feature vs com.esri.core.Geodatabase.GeodatabaseFeature
... View more
06-05-2014
09:01 AM
|
0
|
0
|
720
|
|
POST
|
I am trying to create a point feature and add it to an offline runtime Geodatabase. I have followed the "Offline editor" sample to the best of my ability but am still having trouble figuring it out. The offline editor sample seemed pretty complex and does not seem to work all that well itself. My approach was to use the "Create Runtime Geodatabase" sample and add in a map touch listener that added a point on each tap to the wildfire.geodatabase. I've worked through what seems like should work but when I try to verify that I've added a feature by using the queries "gdbFeatureTable.getNumberOfFeatures()" and "gdbFeatureTable.getAddedFeaturesCount()" they never change. Do I need to do something else to do the GeodatabaseFeatureTable besides "addFeature(feature)" like .Save() or something? Will the feature be added if it is blank? Since I'm only using gdbFeatureTable.createNewFeature() instead of gdbFeatureTable.createFeatureWithTemplate(). Are there possibly requirements not being met by my blank feature that is then being tossed out on add? My goal is to just get something rolling and build up in complexity. Here is my code:
private void handleTap(final MotionEvent e) {
TextView pTextView1 = (TextView) findViewById(R.id.editText1);
localGdbFilePath = createGeodatabaseFilePath();
Geodatabase localGdb = null;
try {
localGdb = new Geodatabase(localGdbFilePath);
} catch (FileNotFoundException a) {
a.printStackTrace();
}
for (GeodatabaseFeatureTable gdbFeatureTable : localGdb.getGeodatabaseTables()) {
if (gdbFeatureTable.hasGeometry())
if (gdbFeatureTable.getGeometryType() == Geometry.Type.POINT ){
//Checking on status of table...
pTextView1.setText(gdbFeatureTable.getGeometryType() + " " + gdbFeatureTable.isEditable() + " " + gdbFeatureTable.getTableName() + " " + gdbFeatureTable.getEditableAttributeFields());
//Point point = map.toMapPoint(new Point(e.getX(), e.getY()));
Double X = mMapView.getCenter().getX();
Double Y = mMapView.getCenter().getY();
Point point = new Point(X,Y);
//not using the geometry at this point...
Feature pFeature2 = null;
try {
pFeature2 = gdbFeatureTable.createNewFeature();
} catch (TableException e1) {
e1.printStackTrace();
}
try {
gdbFeatureTable.addFeature(pFeature2);
} catch (TableException e1) {
e1.printStackTrace();
}
}
}
} Any insight is much appreciated, Thanks!
... View more
06-03-2014
03:09 PM
|
0
|
2
|
3765
|
|
POST
|
Thanks for the replies. They have definitely helped. A few questions and thoughts... So I am interested in the Python option. Are you saying that it is possible to access the IArcPadExchange through python, or at least run a fully custom checkout through python? I don't quite follow. That is very annoying that they have removed the IArcPadExchange from Arc10. I haven't really thought of using the ArcPad geoprocessing tools because they don't seem to offer the same flexability running a standard Check Out. As you mentioned it doesn't put the script files in the .axf. For a while I was using a work around by designating the script file path in the .apl's as some known path "\My Arcpad\Scripts\Mylayer.js" This works fine on a mobile device but this path doesn't exist on a desktop. So I then had two different configurations, One for Mobile device and one for a Desktop device. The only difference between the two was the script path in the .apl. I guess it would be easy enough to use a file path that exists on both windows mobile devices and desktop devices but either way the extra maintenance of a "disconnected" script file is painful. It seems like there should be a way to connect to an .axf file after is has been created and insert the script file into the "AXF_FILESTORE" table as binary. This is the way that it normally handles it. I am in the process of testing this. I just recently figured out how to connect to an SQL database so connecting to an SQL Compact Database should do just as smooth, then convert the script file to binary and insert into the "AXF_FILESTORE" Table.
... View more
01-26-2012
01:48 PM
|
0
|
0
|
578
|
|
POST
|
I have recently been trying to Migrate some VBA scripts developed in 9.3 that runs a Custom CheckOut procedure to an Add-in. I am working in Visual Studio 2010. Visual Studio does not recognize the ArcPad objects(and prompts to add library) as it does with other ESRI objects. When I try to manually load the ArcPad libraries/references it tells me that it can't find them, even though I am suppling the path to the library. Upon further research I have found that these objects may have been removed!? http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/type_changes_between_9_3_and_10/000100000408000000/ This thread also references the last link and seems to have the same problem. http://forums.arcgis.com/threads/452-Beta-10-Missing-IArcPadExtension?p=162595#post162595 A snippet of what I am trying to work with and convert: Dim pUID As New ESRI.ArcGIS.esriSystem.UID Dim pExtension As IExtension Dim ArcPadExchange As ArcPadExchange Dim pArcPadExchange As IArcPadExchange Dim pArcPadExchangeTrans As IArcPadExchangeTransaction2 Dim pArcPadExport As IArcPadExport2 pUID = New UID pUID.Value = "ArcPadToolsGen2.ArcPadExchange" pExtension = Application.FindExtensionByCLSID(pUID) ArcPadExchange = pExtension pArcPadExchange = ArcPadExchange pArcPadExchangeTrans = pArcPadExchange Dim pAPdefaults As IGetDataForArcPadUIDefaults3 'IGetDataForArcPadUIDefaults2 pAPdefaults = pArcPadExchange pAPdefaults.CopyoutFeatureType = esriAPToolsCopyoutAXF Have these objects been added back in or has ESRI Removed the ability to work with ArcPad objects. OR am I missing something?
... View more
01-11-2012
02:01 PM
|
0
|
5
|
2125
|
|
POST
|
Thanks! The ADO.Net worked great. It took me some time to figure out the connection string, but its working now.
... View more
01-11-2012
09:51 AM
|
0
|
0
|
408
|
|
POST
|
So What I'm trying to do is populate a listbox with all the attribute values from a feature layer. I had accomplished this before when this dataset was in a personal geodatabase but now that it is in an SDE database I cannot use the same objects. I am working in VisualStudio 2010 writing in VB.Net. The original business logic I am referencing was written in VBA for 9.3. I am now using Arc 10. The VB.net part for loading the values into the listbox will be simple as long as I have something to loop through that will return a value for a field. 1. How do I return a recordset from an SDE database? OR 2. Is there an easier way to do this? psudo code of what I'm trying to do: Dim pRecordset as recordset object pRecordset.MoveFirst() Loop pRecordset until End of File MyListbox.Add (pRecordset.Fields("myField").Value) pRecorset.MoveNext()
... View more
01-10-2012
11:27 AM
|
0
|
2
|
1679
|
|
POST
|
This would be a bit of a work around but have you thought about opening the .axf in ArcPad studio and exporting the shape file of interest and then load the shape file data directly to the database. You could then run ArcMap tools to fix the problem. -Forrest
... View more
11-10-2011
12:52 PM
|
0
|
0
|
1187
|
|
POST
|
There is no out of box way for arcpad to handle this situation. You will have to dive into code.
... View more
11-10-2011
12:44 PM
|
0
|
0
|
392
|
|
POST
|
They way you instanciate a related table as an arcpad object is throught the CreateAppObject("DataSource") method. Here is an example. JScript: var ds = Application.CreateAppObject("DataSource") ds.Open(Application.UserProperties("dbPath")) //Set User prop earlier as...Appliction.UserUserProperties("dbPath")=Map.Layers("MyLayer").DataSource.FilePath var strSQL = "SELECT * FROM [MY_TABLE]" var recs = ds.Execute(strSQL) if (recs.RecordCount >0){ recs.MoveFirst() while (!recs.EOF){ Mylistbox.addItem(recs.Fields("NAME").Value) recs.MoveNext() } } This would create a recordset object and loop through the entire recordset adding all the names to a listbox if you had a column called "NAME".
... View more
10-24-2011
03:19 PM
|
0
|
0
|
1076
|
|
POST
|
Not sure I fully understand what you need to have happened but here is what I am currently doing with what I think is a similar situation. Our crews use an automated checkout procedure that is written in VBA. The user will get all the data that is available on their replicated database. As for background data none is checked out. If your background data is static then you can create it once and place on all devices. The user will then have to add the .shp files to the map. This will eliminate the need to check it out constantly. I am looking toward converting my automated checkout code in VBA to either .NET or python so that it will continue to be supported by later versions of Arc. I am curious what your python automated checkout code looks like.
... View more
10-20-2011
03:55 PM
|
0
|
0
|
415
|
|
POST
|
This is very helpful, Thank you. The method previously described is basically how I handle things currently but do not use the .ToArray() method. Rather I keep the records in a recordset and utilize the MoveNext() Method. I have heard that using an Array is quicker than cycling through a recordset object. However my intention was to skip this process entirely by allowing Arc to handle it. This would eliminate seemingly redundant code since ArcPad already has a process for handling this. Furthermore it would make custom applets much more dynamic.
... View more
10-20-2011
03:42 PM
|
0
|
0
|
1076
|
| Title | Kudos | Posted |
|---|---|---|
| 3 | 03-02-2023 03:00 PM | |
| 1 | 05-27-2021 09:46 AM | |
| 2 | 05-25-2021 05:55 PM | |
| 1 | 04-25-2017 11:04 AM | |
| 2 | 10-31-2019 11:10 AM |
| Online Status |
Offline
|
| Date Last Visited |
Tuesday
|