Máme python skript, který importuje AutoCAD DWG soubory do SDE feature tříd. Tyto DWG soubory jsou vytvářeny různými třetími stranami a jsou nám zasílány k importu. Jedním z kroků v našem importním procesu je vytvoření PRJ souboru pro DWG. Většinou to funguje dobře, ale asi u 5 % DWG je problém při pokusu o vytvoření PRJ souboru. Používáme arcpy.DefineProjection_management k vytvoření PRJ a vždy se spustí, ale ne vždy vytvoří PRJ. Když ne, není vyhozena žádná chyba. Kód prostě tiše pokračuje bez vytvoření PRJ. Ví někdo, co by mohl být problém nebo má podobné potíže?
Verze Pythonu: 2.7 a 3.13.7
Verze Arcpy: 10.9.1 a 3.6.4
Verze SDE: 10.9.1
def project(strFullWorkingFilePath, dblScaleFactor):
try:
# Měřítkový faktor: násobí se s false northing a easting pro posunutí výkresu.
# Použijte datový typ Decimal místo float ve výpočtu prostorové reference.
sfi = Decimal(dblScaleFactor)
sf = Decimal(1.0)/Decimal(sfi)
fe_4204 = Decimal(1968500.0) * Decimal(sf)
fn_4204 = Decimal(13123333.33333333) * Decimal(sf)
# Vytvořte řetězec souřadnicového systému, který bude uložen v PRJ souboru CAD souboru.
Coordinate_System = "PROJCS['NAD_1983_StatePlane_Texas_South_Central_FIPS_4204_Feet',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting'," + str(fe_4204) + "],PARAMETER['False_Northing'," + str(fn_4204) + "],PARAMETER['Central_Meridian',-99.0],PARAMETER['Scale_Factor'," + str(sf) + "],PARAMETER['Standard_Parallel_1',28.38333333333333],PARAMETER['Standard_Parallel_2',30.28333333333333],PARAMETER['Latitude_Of_Origin',27.83333333333333],UNIT['Foot_US',0.3048006096012192]]"
# Nástroj: Define Projection vytvoří správný PRJ soubor vedle CAD souboru.
arcpy.DefineProjection_management(strFullWorkingFilePath, Coordinate_System)