|
POST
|
Upon inserting a polygon (fgdb) into another polygon feature class (sde database), I've noticed that the inserted polygon has null for Shape.STArea() and Shape.STLength(). I thought these were supposed to be automatically calculated and updated upon inserting any shape using any method. Is that not the case? Do I need to take Shape_Area and Shape_Length, put them in my row, and then insert those values as Shape.STArea and Length? ArcMap 10.7
... View more
04-17-2020
02:02 PM
|
0
|
3
|
1436
|
|
POST
|
Anybody figure out why you can't use the basemap layer "Imagery Hybrid" in Collector? Whenever I try to download a map with this basemap, Collector on iOS crashes no matter what resolution you're trying to download. If I switch it to just the imagery basemap with no labels, it will download fine. Solution was found per this thread from 2018: https://community.esri.com/thread/213971-collector-crashes-in-ios
... View more
03-20-2020
08:04 AM
|
0
|
8
|
2572
|
|
POST
|
Yeah, I wasn't disabling first. That helps. Thanks!
... View more
03-02-2020
12:18 PM
|
0
|
0
|
2014
|
|
POST
|
When I open my enterprise geodatabase and delete a feature class that participates in archiving, it gets deleted as expected. Then when I refresh that database, the feature classes reappears as "FeatureClassName_H". I assume the underscore H means "History" and that layer does indeed contain all the points that were archived, even if they were deleted somewhere along the way in the original layer. So after deleting the archived feature class, the _H feature class appears and then I delete that one too. Is there a proper process I should be using, or this the correct way to go about it?
... View more
03-02-2020
06:34 AM
|
0
|
2
|
2123
|
|
POST
|
I have determined this is impossible and may actually be a terrible idea because you're messing with the archive table in an inorganic process. There is too much possibility for error and corruption in the archive.
... View more
03-02-2020
06:30 AM
|
0
|
0
|
1717
|
|
POST
|
I have a database trigger on a feature class where if a new feature is inserted, it will also copy that feature into a different feature class. Archiving is enabled on both, so there are GDB_ARCHIVE_OIDs (here forth GAO) associated with each record in the feature classes. The first feature class is smaller than the one it is copying to, so the OID (which becomes the GAO) is a lower number than the feature class it is being copied to. When I attempt to copy the feature to the larger feature class, the GAO prevents the feature being inserted because it's GAO is already in the second feature classes GAOs. How can I find the largest GAO in the second feature class to alter my insert statement to make sure I can insert the feature into the larger table? I was thinking that anytime a feature is inserted into the table, a GAO would automatically be generated so I wouldn't have to include the GAO in my SQL INSERT statement, but that does not appear to be true when using a database trigger to do this. It errors out saying the GAO field can't be null. Database trigger: USE [FocalAreasTest1]
GO
/****** Object: Trigger [dbo].[copy_point] Script Date: 2/24/2020 1:40:21 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[copy_point]
ON [FocalAreasTest1].[dbo].[MONITORINGPOINT_1]
AFTER INSERT, UPDATE
NOT FOR REPLICATION
AS DECLARE
@MPID uniqueidentifier,
@State nvarchar(2),
@Point nvarchar(100),
@StateObjectID int,
@Route nvarchar(10),
@x_coord numeric(38,8),
@y_coord numeric(38,8),
@notes nvarchar(150),
@RouteOrder smallint,
@Spring smallint,
@Fall smallint,
@DateAdded datetime2(7),
@DateModified datetime2(7),
@Archive int,
@FRID uniqueidentifier,
@long numeric(11,8),
@lat numeric(11,8),
@global uniqueidentifier,
@SHAPE geometry,
@GDB varbinary(max),
@from datetime2(7),
@to datetime2(7),
@OID int,
@StatePoint nvarchar(50)
IF EXISTS (Select * FROM DELETED)
BEGIN
--Do update stuff here
END
ELSE
BEGIN
DECLARE @GAO int
--This gets the largest GDB_ARCHIVE_OID from the larger
--feature class and adds one to it
Select @GAO = max(mp.GDB_ARCHIVE_OID) + 1
From CollectorSpatialData.dbo.MONITORINGPOINT mp
INSERT INTO CollectorSpatialData.dbo.MONITORINGPOINT (
MonitoringPointID,
StateID,
Point,
StateObjectID,
Route,
X_Coord,
Y_Coord,
Notes,
RouteOrder,
Spring,
Fall,
DateAdded,
DateModified,
GDB_ARCHIVE_OID,
FocalRefID,
long,
lat,
StatePoint,
GlobalID,
Shape,
GDB_GEOMATTR_DATA,
GDB_FROM_DATE,
GDB_TO_DATE,
OBJECTID)
SELECT
MonitoringPointID = i.MonitoringPointID,
StateID = i.StateID,
Point = i.Point,
StateObjectID = i.StateObjectID,
Route = i.Route,
X_coord = i.X_Coord,
Y_coord = i.Y_Coord,
Notes = i.Notes,
RouteOrder = i.RouteOrder,
Spring = i.Spring,
Fall = i.Fall,
DateAdded = i.DateAdded,
DateModified = i.DateModified,
GDB_ARCHIVE_OID = @GAO,
FocalRefID = i.FocalRefID,
long = i.long,
lat = i.lat,
StatePoint = i.StatePoint,
GlobalID = i.GlobalID,
Shape = i.Shape,
GDB_GEOMATTR_DATA = i.GDB_GEOMATTR_DATA,
GDB_FROM_DATE = i.GDB_FROM_DATE,
GDB_TO_DATE = i.GDB_TO_DATE,
OBJECTID = i.ObjectID
FROM inserted i
END This logic doesn't seem to work because it grabs the smaller feature classes' GAO instead of the larger one. It also does not add 1 to it. This is the error I get where the index it's talking about refers to the primary key GAO in the larger feature class (CollectorSpatialData.dbo.MonitoringPoint). The next GAO in the larger feature class should be 3506. Is what I'm trying to do impossible?
... View more
02-24-2020
11:39 AM
|
0
|
1
|
1798
|
|
POST
|
I swear I always figure out the answer to my questions minutes after I post them. So none of the stuff I was doing was reliable, obviously. Anybody else encountering this problem, here is hopefully the definitive answer: on the page where all your maps are listed, click the information (i in a circle) button on the map you're interested in refreshing. Then click the "Reload" button. That's the only way you can get it to refresh properly. Edit 4/23/2020: I'm not sure how I got the "Reload" button but I don't see it anymore... all I see is "Open." So this is no longer a solution.
... View more
11-25-2019
11:28 AM
|
0
|
0
|
1082
|
|
POST
|
I can't get the map to refresh in Collector except by what seems to be pure luck. I'm using iOS on the latest operating system. I'm using Collector Classic. I've tried these things: Set layer fresh in AGOL to one minute Exit the live map and pull down to get the little spinning wheel demonstrating it's refresh Sign out and sign back in (sometimes works) The only thing that works 100% of the time is downloading the map... but then to get updates after that, I have to delete the downloaded map and redownload... What is the trick I'm missing to this? I've seen a lot of questions posted about this over the past years but there seems to be no conclusive solution.
... View more
11-25-2019
11:12 AM
|
0
|
1
|
1120
|
|
POST
|
I found another workaround. In my case, I needed a field that was unique to the record I was trying to select and I can obtain that field using a search cursor (I'm already using an update cursor in my script though so I just grabbed it from that). GDB_ARCHIVE_OID is the only unique field for an archived record that is not a date. Since dates don't work, I had to go with this. This probably is not a solution for everyone though, so I am leaving this question unanswered.
... View more
11-18-2019
07:42 AM
|
0
|
0
|
2262
|
|
POST
|
I'm not sure what you mean. You could reformat the datetime into '%m/%d/%Y %I:%M:%S %p' if you wanted to. When you use a datetime field, it automatically formats it to 11/18/2010 H:M:S AM/PM. When it's in the actual database it is formatted as 2019-11-18 H:M:S - this is the one that should logically work. The only workaround I can find is by making another query layer and using a >= operator instead of an = operator. Not very helpful because I need to maintain my current query layer for iteration and if I create a new one on the same set of data, it erases my last query layer. You also cannot select a single record this way, even when using a combination of GDB_FROM_DATE >= and GDB_TO_DATE <= language. queryLyr = arcpy.MakeQueryLayer_management(collector_db_con, 'output', "select * from
COVEYOBSERVATIONTEST where GlobalID = '{0}' and GDB_TO_DATE >=
'{1}'".format(coveyObsvRow[0], toDate))
#toDate is a datetime object, not a string
... View more
11-18-2019
07:26 AM
|
0
|
1
|
2262
|
|
POST
|
Thanks for the suggestion but unfortunately that doesn't work either (and I put in the missing colon).
... View more
11-18-2019
06:58 AM
|
0
|
3
|
2262
|
|
POST
|
Has anybody encountered this problem? I have tried using both a datetime object and a string formatted object in the query and neither work in either python or ArcMap. I am trying to select a record by both its GlobalID and a specific time in the GDB_TO_DATE field on a query layer. Query: coveyObsvRow[0] = '{1309DFFD-04B3-4F13-9962-C1C378F1F228}'
toDate = fromDate.strftime('%Y-%m-%d %H:%M:%S')
query = "GlobalID = '{0}' and GDB_TO_DATE = '{1}'".format(coveyObsvRow[0], toDate)
#query prints as GlobalID = '{1309DFFD-04B3-4F13-9962-C1C378F1F228}' and GDB_TO_DATE = '2019-11-18 13:58:04' If I select by just using the GlobalID, I can return the records, so it's obviously a problem with the TO_DATE field, but I can't figure it out. I can see the record blatanly in the archive table: (1:58:04 is really stored as 13:58:04 in the database and you will see as much in the ArcMap select by attributes dialog)
... View more
11-18-2019
06:29 AM
|
0
|
6
|
2385
|
|
POST
|
Just tested this with someone and it is as I suspected, all they get is a message about not having permission and there's no way to request to join. That's really dumb, why should my content have to be public in order to allow requests for membership when a SPECIFIC LINK is given to a person. Think about facebook groups, subreddits, other public forums that can hide information and you can request to join. Why would ESRI not implement this feature? The whole point of a private group is for the content to be private, not the group itself. There is no reason for a group name to be hidden from search as long as the content is private.
... View more
11-08-2019
08:27 AM
|
0
|
0
|
1270
|
|
POST
|
I cannot do that. The members I am adding are outside of my organization. That checkbox grays out when you add members outside your org.
... View more
11-08-2019
07:26 AM
|
0
|
1
|
1270
|
|
POST
|
I have created a group and set it to private. If I share the group with someone via an invitation link, will they at least see a button to request membership? The information contained is not public information and I want to block people from seeing the content until they are approved for membership. I know you can invite members as a group owner, but when I do that often people have trouble finding the invitation in their email (often the problem is that the email is set to some default that the GIS employee has in there when the account is first created and then the person who's account it is never changes it).
... View more
11-08-2019
06:34 AM
|
0
|
4
|
1310
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 06-18-2020 10:31 AM | |
| 2 | 09-16-2025 02:17 PM | |
| 3 | 09-12-2025 09:26 AM | |
| 1 | 08-16-2023 05:11 PM | |
| 1 | 02-27-2024 06:48 AM |
| Online Status |
Offline
|
| Date Last Visited |
09-16-2025
02:16 PM
|