Tuesday, November 25, 2014

Solution: IntelliJ not recognizing a particular file correctly, instead its stuck as a text file

4 Comments
I had mistakenly save my class as fileName.text file and tried to rename it with fileName .java but the IntelliJ couldn't recognize it and throws the error saying..
After spending long hours on internet, I found a solution and sharing/keeping here for future reference.

Step 1: Click "File"==> "Settings"
Step 2: Expand "Editor" & Click "File Types"
Step 3: You will see all file types on Right. Navigate to the "Text Files" and Click it
Step 4: You should able to see your file name on the bottom of Registered Patterns (lower box)
Step 5: Remove your file from the Registered Patterns. The problem should solved and let you to rename with fileName.java
Step 6: If not, delete the file from the project and create it again with name fileName



Get PDF fonts information line by line using PDFBox API

2 Comments
Sample code snippet on extracting font information line by line using PDFBox API in JAVA.

 public String[] getFontLineByLineFromPdf(String fileName)throws IOException  
   {  
     PDDocument doc= PDDocument.load(fileName);  
     PDFTextStripper stripper = new PDFTextStripper() {  
       String prevBaseFont = "";  
       protected void writeString(String text, List<TextPosition> textPositions) throws IOException  
       {  
         StringBuilder builder = new StringBuilder();  
         for (TextPosition position : textPositions)  
         {  
           String baseFont = position.getFont().getBaseFont();  
           if (baseFont != null && !baseFont.equals(prevBaseFont))  
           {  
             builder.append('[').append(baseFont).append(']');  
             prevBaseFont = baseFont;  
           }  
           builder.append(position.getCharacter());  
         }  
         writeString(builder.toString());  
       }  
     };  
     String content=stripper.getText(doc);  
     doc.close();  
     String pdfLinesWithFont[]= content.split("\\r?\\n");  
     return pdfLinesWithFont;  
   }  

Monday, November 17, 2014

Call for Proposals, Presentations and Workshops: Free and Open Source Software for Geospatial 2015, Burlington, CA

Be The First To Comment
FOSS4G North America will be hosted from March 9th to 12th, 2015 at the Hyatt Regency in Burlingame, California. This gorgeous venue is close to the San Francisco Airport and offers many quiet places to sit down and talk with friends and colleagues in addition to the great session rooms.
The deadline for the call for papers is today, Monday, November 17th.

Submit a presentation or workshop now.
Accepted speakers receive a free full access pass to the entire conference!

See which talks are already accepted.
FOSS4G NA 2015 is co-hosted with EclipseCon, and a PostgreSQL event.

Attend any talk or workshop for one low price.
FOSS4G North America is a collaborative event by OSGeo & LocationTech, organized by the Eclipse Foundation.

Register before December 31, 2014 and save!



Friday, November 7, 2014

Tips to share a leaflet map with multiple ROIs

Be The First To Comment
Do you have a Leaflet map? Yes. Can you panned and and zoomed to a particular event or ROI in the map? Yes. Then, how can you share that map zoomed or centered with ROI/events to your webpage or email as a link? One of the answers may be set the zoom level and set view near the ROI.  Alright, what will you do if you have a map with multiple ROI/events? Do you make multiple maps with multiple zoom level and view? You can, but probably not a good idea to do that. 

The solution comes here, leaflet-hash.js, solves your needs, it is a JavaScript library written by Michael Lawrence Evans, which appends the URL hashes to web pages automatically and the hash changes with Leaflet map on drag or zoom. The hash consists of map zoom level and latitude/longitude of the center of map viewport, everything you need to share the map with focused ROI as link in following simple steps:

Monday, October 20, 2014

jQuery mobile swipping the contents

Be The First To Comment
Snippets on jQuery mobile swipping the contents:

 //HTML  
 <div data-role="content" id="content1"></div>  
 <div data-role="content" id="content2"></div>  
 <div data-role="content" id="content3"></div> 
 
 //JQ script  
 $(document).one('pagebeforecreate',function(){  
 $("div[data-role='content']").bind('swipeleft', function(e){  
           var next=$(this).next("div[data-role='content']");  
           e.stopImmediatePropagation();  
           console.log(next);  
           return false;  
      }); 
 
 $("div[data-role='content']").bind('swiperight', function(e){  
      var perv=$(this).prev("div[data-role='content']");  
           e.stopImmediatePropagation();  
           console.log(perv);  
           return false;  
      });  
 )}  

Thursday, September 18, 2014

How to display the MesoWest weather stations in Leaflet.js?

1 Comment
Snippet to display MesoWest weather stations in Leaflet.
 //Hold markers group  
 var mesoMarkersGroup=new L.LayerGroup();   
 //Get weather information from Mesowest for the state VA  
 $.getJSON('http://api.mesowest.net/stations?callback=?',  
      {  
           state:'va',                   
           latestobs:1,  
           token:'demoToken'  
      },   
      function (data)   
      {  //Loop through all the weather stations  
        for(var i=0;i<data.STATION.length;i++)  
           {  
            try{  
                 var stn = data.STATION[i];  
                 var dat = stn.OBSERVATIONS;  
                 var stnInfo =stn.NAME.toUpperCase();  
                 var elev=parseInt(stn.ELEVATION);            
                 stnInfo = "<b>Air Temp:&nbsp;</b>"+Math.round(dat.air_temp[1])+"&deg;F"+ "</br><b>Wind Speed:&nbsp;</b>"+Math.round(dat.wind_speed[1]* 1.150)+"MPH"+"</br>  
                 +<b>Wind Direction:&nbsp;</b>"+getCardinalDirection(Math.round(dat.wind_direction[1]))+"</br><b>Relative Humidity:&nbsp;</b>"+dat.relative_humidity[1]+"%"+"</br>  
                 +<b>Elevation:&nbsp;</b>"+elev+"&prime;";       
                 //Add stations into Leaflet markers group  
                 L.marker(L.latLng(stn.LATITUDE,stn.LONGITUDE),{title:stn.NAME.toUpperCase()}).bindPopup(stnInfo).addTo(mesoMarkersGroup);  
            }    
            catch(e)  
            {  
                alert("Error! "+ e);  
            }  
           }   
  })       
 .done(function()  
 {  
 })  
 .fail(function()  
 {       
      alert("Could not access the MesoWest!");  
 });  
 //Add markers group to the Map  
 map.addLayer(mesoMarkersGroup);  

Where are my streets Chrome? Google Maps bug on Chrome or vice-versa

Be The First To Comment
I was checking the route for nearest police station from my office around 3 PM MT using the Chrome. The  Google Map's street looks so funny and floppy. All the street lines and highways lines were wiped out. The interstate has some brown points, if you zoom in them the point looks like half circle. Which has the bug Google Maps or Chrome? Click on images for bigger picture !

(Missing roads)

                                                                 (Missing roads on zoom)

                                                                         (More zoom in...)
(Looks good in  the Firefox though)

Wednesday, September 17, 2014

The Manager's Guide to PostGIS - Paul Ramsey at FOOSS4G 2014 PDX

Be The First To Comment
Interesting talk by Paul Ramsey about the decision process to adopt PostGIS vs other spatial databases at FOOSS4G 2014 Portland, OR. Ramsey, "what do managers need to know before they can get comfortable with the idea of making the move."

Sunday, August 31, 2014

National Geodetic Survey plans to release future Geodetic Datums in 2022

Be The First To Comment
National Geodetic Survey (NGS) developed videos to give you a better understanding of NGS' plans to release new datums in 2022. If you use mapping products or other geo-spatial tools, these videos should also help you find out how you can prepare for the new datums. . It’s a number of years off - but the links explain the changes and provide some initial knowledge that may help you prepare for their advent…

This series of short videos, produced in collaboration between NOAA's National Geodetic Survey and The COMET Program, a part of UCAR's Community Programs, provides an introduction to geodetic datums for anyone who uses mapping products or other geo-spatial tools.

 In the first video, "What are Geodetic Datums?" (4:36), explains the basic concepts behind geodetic datums, where they are used, and why it is important to know about and use the correct datums.


Friday, August 29, 2014

Leaflet TypeError: t is null

2 Comments
There are may be several reasons for TypeError:t is null, but I solved my problem by changing-
 L.marker(LATITUDE,LONGITUDE).bindPopup("Info").addTo(map);  
 to  
 L.marker(L.latLng(LATITUDE,LONGITUDE)).bindPopup("Info").addTo(map);  

 

© 2011 GIS and Remote Sensing Tools, Tips and more .. ToS | Privacy Policy | Sitemap

About Me