Beispiel #1
0
/* This function returns the name of the datum shift file which was/would be
   used to convert the supplied point. */
Const char *CSsourceRgf93ToNtf (struct csRgf93ToNtf_* __This,Const double* llRgf93)
{
	int status;
	const char *cp;
	struct csRgf93ToNtfEntry_* dtEntryPtr;
	struct csRgf93ToNtfTxt_ *txtDatumPtr;

	double lclLlNtf [3];

	cp = NULL;
	dtEntryPtr = CSselectRgf93ToNtf (__This,dtRgf93ToNtfTxt,llRgf93);
	if (dtEntryPtr != NULL)
	{
		cp = CSsourceRgf93ToNtfEntry (dtEntryPtr,llRgf93);
		txtDatumPtr = dtEntryPtr->pointers.txtDatumPtr;
		status = CScalcRgf93ToNtfTxt (txtDatumPtr,lclLlNtf,llRgf93);
		if (status == 0)
		{
			dtEntryPtr = CSselectRgf93ToNtf (__This,dtRgf93ToNtfC2,lclLlNtf);
			if (dtEntryPtr != NULL)
			{
				cp = dtEntryPtr->pointers.c2DatumPtr->gridPtr->sourceId;
			}
		}
	}
	else if (__This->fallback != NULL)
	{
		cp = CSsourceFallback (__This->fallback);
	}
	return cp;
}
Beispiel #2
0
Const char *CSsourceAts77ToCsrs (struct csAts77ToCsrs_* __This,Const double ll_77 [2])
{
	const char *cp;
	struct csAts77ToCsrsEntry_* dtEntryPtr;

	cp = NULL;
	if (__This->cachePtr != NULL)
	{
		cp = CSsourceLLGridCellCache (__This->cachePtr,ll_77);
	}
	if (cp == NULL)
	{
		dtEntryPtr = CSselectAts77ToCsrs (__This,ll_77);
		if (dtEntryPtr != NULL)
		{
			cp = CSsourceAts77ToCsrsEntry (dtEntryPtr,ll_77);
		}
	}
	if (cp == NULL && __This->fallback != NULL)
	{
		cp = CSsourceFallback (__This->fallback);
	}
	return cp;
}
Beispiel #3
0
Const char *CSsourceEd50ToEtrf89 (struct csEd50ToEtrf89_* __This,Const double ll_50 [2])
{
	const char *cp;
	struct csEd50ToEtrf89Entry_* dtEntryPtr;

	cp = NULL;
	if (__This->cachePtr != NULL)
	{
		cp = CSsourceLLGridCellCache (__This->cachePtr,ll_50);
	}
	if (cp == NULL)
	{
		dtEntryPtr = CSselectEd50ToEtrf89 (__This,ll_50);
		if (dtEntryPtr != NULL)
		{
			cp = CSsourceEd50ToEtrf89Entry (dtEntryPtr,ll_50);
		}
	}
	if (cp == NULL && __This->fallback != NULL)
	{
		cp = CSsourceFallback (__This->fallback);
	}
	return cp;
}