Saturday, 22 August 2015

Generate Random Colors in Javascript

<html5>
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script type="text/javascript">
        var colorsList = new Array();
        function getRandomColor() {
            var letters = '0123456789ABCDEF'.split('');
            var color = '#';
            for (var i = 0; i < 6; i++) {
                color += letters[Math.floor(Math.random() * 16)];
            }
            return color;
        }
        function getRandomColorNotInList(colorsListToSkip) {
            do {
                color = getRandomColor();
            } while (jQuery.inArray(color, colorsListToSkip) != -1);
            return color;
        }

        $(document).ready(function () {
            for (i = 0; i < 1000; i++) {
                var color = getRandomColorNotInList(colorsList);
                colorsList.push(color);
            }
            colorsList.sort();
            var len = colorsList.length;
            console.info(" len = " + len);
            for (i = 0; i < len; i++) {
                $(document.body).append(''; width:200px; height:50px;  display:inline-block;">' + colorsList[i] + '
');               
            }
        });

    </script>

    <body>

    </body>

</html5>

Saturday, 1 August 2015

Oracle SQL cursor

declare cursor layersIDs is select TO_NUMBER(lay_id) as lay_id from layers order by lay_id; rec layersIDs%rowtype; begin for rec in layersIDs loop dbms_output.PUT_LINE (rec.lay_id); end loop; end;

Wednesday, 22 July 2015

IIS prevent sub application inherit parent web.config

Add all config sections between the following tag

<location path="."  allowOverride="false" inheritInChildApplications="false">

</location>

Except <configSections> and <runtime>


Example:
<location path="."  allowOverride="false" inheritInChildApplications="false">
<connectionStrings>
      <add name="SiteSqlServer" connectionString="Data Source=SQL;Initial Catalog=moheportal;User ID=mmmm;Password=pppp" providerName="System.Data.SqlClient" />
    </connectionStrings>
    <appSettings>


</location>

Friday, 10 July 2015

Clear SDE schema from unwanted Spatial Tables, Search in all fields in all oracle schemas

delete from column_registry
where OWNER in ('FLEET_V1','GIS_B','ATLAS_V1', 'GIS_V1', 'GIS','gis', 'GIS_CODING', 'GIS_TEST', 'GIS_C', 'gis_c', 'GIS_D', 'gis_d'  );

delete from column_registry
where OWNER ='GIS_V1' AND table_name = 'LT_STATIONS_GIS';
commit;

delete from GEOMETRY_COLUMNS
where F_TABLE_SCHEMA in ('FLEET_V1','GIS_B','ATLAS_V1', 'GIS_V1', 'GIS','gis', 'GIS_CODING', 'GIS_TEST', 'GIS_C', 'gis_c', 'GIS_D', 'gis_d'  );

delete from GEOMETRY_COLUMNS
where F_TABLE_SCHEMA ='GIS_V1' and f_table_name='LT_STATIONS_GIS';

delete from LAYERS
where OWNER in ('FLEET_V1','GIS_B','ATLAS_V1', 'GIS_V1', 'GIS','gis', 'GIS_CODING', 'GIS_TEST', 'GIS_C', 'gis_c', 'GIS_D', 'gis_d' );

delete from LAYERS
where OWNER ='GIS_V1' AND table_name = 'LT_STATIONS_GIS';

delete from GDB_ITEMS
where NAME like 'FLEET_V1%' or NAME like'GIS_B%' or NAME like'ATLAS_V1%' or  NAME like'GIS_V1%' or NAME like'GIS%' or NAME like'GIS_CODING%'
or NAME like'gis_c%' or NAME like'gis_d%' or NAME like'gis%' or NAME like'GIS_D%' ;

delete from GDB_ITEMS
where NAME ='GIS_V1.LT_STATIONS_GIS';

COMMIT;

DROP USER username CASCADE;


To search in all fields in oracle schemas 
DECLARE
  match_count integer;
  v_search_string varchar2(4000) := 'fff';
BEGIN  
  FOR t IN (SELECT owner, table_name, column_name FROM all_tab_columns) LOOP   
    EXECUTE IMMEDIATE    
      'SELECT COUNT(*) FROM '||t.owner || '.' || t.table_name||
      ' WHERE '||t.column_name||' = :1'   
       INTO match_count  
      USING v_search_string; 
    IF match_count > 0 THEN 
      dbms_output.put_line( t.owner || '.' || t.table_name ||' '||t.column_name||' '||match_count );
    END IF; 
  END LOOP;
END;

Wednesday, 8 July 2015

Clear SDE schema from tables of dropped schemas

delete from column_registry
where OWNER in ('FLEET_V1','GIS_B','ATLAS_V1', 'GIS_V1', 'GIS','gis', 'GIS_CODING', 'GIS_TEST', 'GIS_C', 'gis_c', 'GIS_D', 'gis_d'  );

delete from GEOMETRY_COLUMNS
where F_TABLE_SCHEMA in ('FLEET_V1','GIS_B','ATLAS_V1', 'GIS_V1', 'GIS','gis', 'GIS_CODING', 'GIS_TEST', 'GIS_C', 'gis_c', 'GIS_D', 'gis_d'  );

delete from LAYERS
where OWNER in ('FLEET_V1','GIS_B','ATLAS_V1', 'GIS_V1', 'GIS','gis', 'GIS_CODING', 'GIS_TEST', 'GIS_C', 'gis_c', 'GIS_D', 'gis_d' );

delete from GDB_ITEMS
where NAME like 'FLEET_V1%' or NAME like'GIS_B%' or NAME like'ATLAS_V1%' or  NAME like'GIS_V1%' or NAME like'GIS%' or NAME like'GIS_CODING%'
or NAME like'gis_c%' or NAME like'gis_d%' or NAME like'gis%' or NAME like'GIS_D%' ;

COMMIT;

DROP USER gis_d CASCADE;
DROP USER gis_c CASCADE;
DROP USER gis_test CASCADE;
DROP USER gis CASCADE;


DECLARE
  match_count integer;
  v_search_string varchar2(4000) := 'fff';
BEGIN  
  FOR t IN (SELECT owner, table_name, column_name FROM all_tab_columns) LOOP   
    EXECUTE IMMEDIATE    
      'SELECT COUNT(*) FROM '||t.owner || '.' || t.table_name||
      ' WHERE '||t.column_name||' = :1'   
       INTO match_count  
      USING v_search_string; 
    IF match_count > 0 THEN 
      dbms_output.put_line( t.owner || '.' || t.table_name ||' '||t.column_name||' '||match_count );
    END IF; 
  END LOOP;
END;

Saturday, 6 June 2015

How to get style from oracle mapviewer

Use the following to get an image of the style


http://url:port/mapviewer/omserver?w=13&h=19&sty=M.HE_SCHOOLS_GIS&ds=DataSourceName

Sunday, 10 May 2015

CSharp Read Resource File as Json

protected void Page_Load(object sender, EventArgs e)
        {
          mapResFileName = "MapResources.en-US.resx";
            if (m_UserLanguage == "ar")
            {
                mapResFileName = "MapResources.resx";
            }
            ClientScript.RegisterStartupScript(this.GetType(), "localizedString", getReourseFileAsJSON(mapResFileName), true);
        }





        public string getReourseFileAsJSON(String resourceFileName)
        {           
            try
            {
                string mapResString = "localizedString={'userLang':'" + m_UserLanguage + "',";
                ResXResourceReader rsxr = new ResXResourceReader(
                String.Format("{0}{1}\\{2}", System.AppDomain.CurrentDomain.BaseDirectory.ToString(), "App_GlobalResources", resourceFileName));
                foreach (DictionaryEntry d in rsxr)
                {
                    mapResString += "'" + d.Key.ToString() + "':'" + d.Value.ToString() + "',";
                }
                mapResString += "};";
                return mapResString;
            }
            catch (Exception exc)
            {
                return "File Not Found";
            }
            

        }