Jag skapar en modell som måste se till att alla inmatade datamängder hamnar i samma koordinatsystem (bland annat). Jag skulle ursprungligen batchprojektera alla datauppsättningar oavsett om de måste projiceras eller inte, men då är det frågan om att tilldela rätt geografisk omvandling. Sedan kom jag ihåg att all data som matas in i en datauppsättning måste vara samma koordinatsystem, så jag bestämde mig för att lägga alla data i ett.

Min fråga är: När en funktionsklass importeras till en funktionsdataset som är av ett annat koordinatsystem, projicerar den automatiskt data? Vad händer?

Jag testade detta själv på vägdata och det verkade projicera data, eftersom de stämde bra med mina andra data. Saken är att ingen transformation behövdes (och en omvandlingsmetod behövdes om jag hade projicerat det), så det verkar fiskigt att data bara projiceras automatiskt. Kanske gör det en bästa gissning?

Svar

Från hjälp på Om import av funktionsklasser :

Antag du vill importera en funktionsklass som finns i ett annat koordinatsystem. Du kanske till exempel vill importera en funktionsklass som använder koordinatsystemet Nordamerikanskt Datum (NAD) 1927 till en funktionsuppsättning som använder koordinatsystemet NAD 1983. För att importera funktionsklassen, använd projektverktyget för att samtidigt importera data och konvertera dem till det nya koordinatsystemet.

Om den funktionsklass som du importerar redan finns i koordinatsystemet vill du att den ska vara för geodatabasen, använd Feature Class To Feature Class eller Feature Class To Geodatabase-verktyg för att importera data. Funktionsklassen du skapar med dessa verktyg kan vara fristående eller importera till en befintlig funktionsdataset.

När du skapa en fristående funktionsklass, den nya funktionsklassen skapas med samma rumsliga referens som funktionsklassen du importerar.

Om du ” när du skapar en funktionsklass i en befintlig funktionsdataset kommer den nya funktionsklassen automatiskt att ta samma rumsliga referens som funktionsdataset.

Så detta antyder att det gör en " bästa gissning ". Jag rekommenderar starkt ange projektionsomvandlingsmetoden manuellt om du vill undvika projektionsfel. Se " Shiftens hämnd " för en utmärkt översikt över felen införda av felaktiga projektionstransformationer!

Svar

När FeatureClass importeras till en FeatureDataset projiceras den till koordinatsystemet eftersom alla FeatureClasses i en FeatureDataset måste ha samma rumsliga referens.

Om du är nyfiken på den exakta processen i termer av kod, tar importprocessen ISpatialReference-objektet från Destination FeatureDataset och när det slingrar genom varje enskild geometri i källan FeatureClass anropar den IGeometry :: Project och skickar det ISpatialReference-objektet som parameter.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *