Don't wanna be here? Send us removal request.
Text
Third Mars Craters Post
So the assignment this week was data management. I’m not sure this exactly qualifies, but it feels like it is in the spirit. I have been running a Python script to calculate the distance between every crater on Mars, and every other crater. There records for 384,279 craters. So calculating distance from every crater to every other crater means doing 384,279^2 calculations or 147,670,349,841 calculations. This takes a while on my lowly PC anyway.
dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin^2(dlat/2) + cos(lat1) * cos(lat2) * sin^2(dlon/2) c = 2 * arcsin(min(1,sqrt(a))) d = R * c
So this takes some doing too. While I should have captured the start and end times (next version), it seems like it was going to run for three or so days. Until my company decided to auto-reboot my PC!
So what do do? I had not built any restart capability into my script, so I loaded my partial results file into another dataframe. Then before doing a calculation I check for the CRATER_ID in the partial results dataframe and only make the distance calculations for that crater if it doesn’t exist. When done I will combine the partial datasets into one.
0 notes
Text
Second Mars Craters Post
First I found a couple of updates to the data set. http://craters.sjrdesign.net/#top This one seems to be the most recent, but it is lacking metadata on the fields. https://astrogeology.usgs.gov/search/map/Mars/Research/Craters/RobbinsCraterDatabase_20120821 is a couple of years older than the previous link, but it does have a link to metadata.
My first program follows:
import pandas # import numpy # import math # function to return number with thousand separator def formattedNumber(n): return ("{:,}".format(n)) # CRATER_ID,LATITUDE_CIRCLE_IMAGE,LONGITUDE_CIRCLE_IMAGE df = pandas.read_csv('Mars Craters IIb.csv', low_memory=False) TotalCraters = len(df) # print (TotalCraters) #number of observations (rows) # print (len(df.columns)) # number of variables (columns) df['LATITUDE_CIRCLE_IMAGE'] = pandas.to_numeric(df['LATITUDE_CIRCLE_IMAGE']) df['LONGITUDE_CIRCLE_IMAGE'] = pandas.to_numeric(df['LONGITUDE_CIRCLE_IMAGE']) NorthernHemisphere=df[(df['LATITUDE_CIRCLE_IMAGE']>=0)] NH = NorthernHemisphere.copy() SouthernHemisphere=df[(df['LATITUDE_CIRCLE_IMAGE']<0)] SH = SouthernHemisphere.copy() EasternHemisphere=df[(df['LONGITUDE_CIRCLE_IMAGE']>=0)] EH = EasternHemisphere.copy() WesternHemisphere=df[(df['LONGITUDE_CIRCLE_IMAGE']<0)] WH = WesternHemisphere.copy() print("Total Craters: %s" % (formattedNumber(TotalCraters))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Northern Hemisphere', formattedNumber(len(NH)), formattedNumber((len(NH) / TotalCraters) * 100))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Southern Hemisphere', formattedNumber(len(SH)), formattedNumber((len(SH) / TotalCraters) * 100))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Eastern Hemisphere', formattedNumber(len(EH)), formattedNumber((len(EH) / TotalCraters) * 100))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Western Hemisphere', formattedNumber(len(WH)), formattedNumber((len(WH) / TotalCraters) * 100))) QuadrantB=df[(df['LATITUDE_CIRCLE_IMAGE']>=0) & (df['LONGITUDE_CIRCLE_IMAGE']>=0)] QB = QuadrantB.copy() QuadrantD=df[(df['LATITUDE_CIRCLE_IMAGE']>=0) & (df['LONGITUDE_CIRCLE_IMAGE']<0)] QD = QuadrantD.copy() QuadrantA=df[(df['LATITUDE_CIRCLE_IMAGE']<0) & (df['LONGITUDE_CIRCLE_IMAGE']>=0)] QA = QuadrantA.copy() QuadrantC=df[(df['LATITUDE_CIRCLE_IMAGE']<0) & (df['LONGITUDE_CIRCLE_IMAGE']<0)] QC = QuadrantC.copy() print("Total Craters: %s" % (formattedNumber(TotalCraters))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Quadrant A', formattedNumber(len(QA)), formattedNumber((len(QA) / TotalCraters) * 100))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Quadrant B', formattedNumber(len(QB)), formattedNumber((len(QB) / TotalCraters) * 100))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Quadrant C', formattedNumber(len(QC)), formattedNumber((len(QC) / TotalCraters) * 100))) print("Number of craters in the %s:%s Percent of total:%s%%\n" % ('Quadrant D', formattedNumber(len(QD)), formattedNumber((len(QD) / TotalCraters) * 100)))
This program calculates hemisphere and quadrant information for each crater. The percentages for each. The output is below:
runfile('C:/src/py/MarsCraters/Mars Craters Geographic Distribution.py', wdir='C:/src/py/MarsCraters') Total Craters: 384,278 Number of craters in the Northern Hemisphere:150,913 Percent of total:39.27182924861688% Number of craters in the Southern Hemisphere:233,365 Percent of total:60.72817075138312% Number of craters in the Eastern Hemisphere:210,341 Percent of total:54.73667501131993% Number of craters in the Western Hemisphere:173,937 Percent of total:45.26332498868007% Total Craters: 384,278 Number of craters in the Quadrant A:150,913 Percent of total:39.27182924861688% Number of craters in the Quadrant B:150,913 Percent of total:39.27182924861688% Number of craters in the Quadrant C:150,913 Percent of total:39.27182924861688% Number of craters in the Quadrant D:150,913 Percent of total:39.27182924861688% runfile('C:/src/py/MarsCraters/Mars Craters Geographic Distribution.py', wdir='C:/src/py/MarsCraters') Total Craters: 384,278 Number of craters in the Northern Hemisphere:150,913 Percent of total:39.27182924861688% Number of craters in the Southern Hemisphere:233,365 Percent of total:60.72817075138312% Number of craters in the Eastern Hemisphere:210,341 Percent of total:54.73667501131993% Number of craters in the Western Hemisphere:173,937 Percent of total:45.26332498868007% Total Craters: 384,278 Number of craters in the Quadrant A:122,071 Percent of total:31.766325420659% Number of craters in the Quadrant B:88,270 Percent of total:22.970349590660927% Number of craters in the Quadrant C:111,294 Percent of total:28.961845330724113% Number of craters in the Quadrant D:62,643 Percent of total:16.30147965795596%
I created a subset of the whole dataset with just CRATER_ID, LATITUDE_CIRCLE_IMAGE, and LONGITUDE_CIRCLE_IMAGE. These are the only fields required to calculate the geographic values I am looking at.
I am also working on a python script to calculate distances between the craters in order to look for clusters of craters.
0 notes
Text
First Mars Craters Post
This is for a project I’m doing at work that is basically data analyst training through Coursera.
Data Analyst Mars Craters Research Topic
Craters on Mars will be classified by which one of four quadrants (NE, NW, SE, SW) the crater occurs. Further each quadrant will be analyzed for the number and size of the craters in the quadrant. The craters will be grouped by size into ten different groups and the frequency of each size group within the quadrant will be calculated. Analysis will be performed to see if a particular quadrant or hemisphere is more cratered than the rest.
As an additional topic the quadrants will be further divided into smaller sections and the analysis of crater size will again be performed for each of the smaller sections. The sections will be searched for clusters of craters.
Here is some similar research:
Distribution, classification, and ages of Martian impact crater lakesNA Cabrol, EA Grin - Icarus, 1999 - ElsevierPaleolakes in impact craters on Mars are characterized at global scale using the Viking Orbiter data. We identified 179 paleolakes in impact structures formed by the influx of water and sediment derived from valley networks and channels that can be classified into three … Cited by 297 Related articles All 6 versions [PDF] dejahvu.netCratering chronology and the evolution of MarsWK Hartmann, G Neukum - Chronology and evolution of Mars, 2001 - Springer… Hartmann (1984), Neukum and Ivanov (1994), and Hartmann and Gaskell (1997) have shown that craters reach a … result on saturation is also confirmed by Phobos (Figure 3a), which, orbiting above the Mars atmosphere, has no losses due to the Martian surface erosion … Cited by 1128 Related articles All 12 versions [PDF] ucf.eduMars/Moon cratering rate ratio estimatesBA Ivanov - Space Science Reviews, 2001 - Springer… compares SFD brunches with thesame steepness m. One cannot compare the number of craters on Mars … of uncertainty in these estimates is connected with possible modulation of the Mars crossers orbital evolution with the evolution of the eccentricity of the Martian orbit … Cited by 543 Related articles All 17 versions [PDF] psu.eduRedefinition of the crater-density and absolute-age boundaries for the chronostratigraphic system of MarsSC Werner, KL Tanaka - Icarus, 2011 - Elsevier… Table 2. Crater frequencies and their model absolute ages for lower boundaries of martian epochs at specific crater … The assignment of crater-density values to epoch boundaries for Mars relies on the caliber of the referents used and their ability to retain impact craters … Cited by 108 Related articles All 11 versions Martian planetwide crater distributions: Implications for geologic history and surface processesLA Soderblom, CD Condit, RA West, BM Herman… - Icarus, 1974 - ElsevierPopulation-density maps of craters in three size ranges (0.6 to 1.2 km, 4 to 10 km, and> 20 km in diameter) were compiled for most of Mars from Mariner 9 imagery. These data provide: historical records of the eolian processes (0.6 to 1.2 km craters); stratigraphic, relative, and … Cited by 222 Related articles All 6 versions [HTML] harvard.eduThe stratigraphy of MarsKL Tanaka - Journal of Geophysical Research: Solid Earth, 1986 - Wiley Online Library… Fig 2. Chart showing model chronologies for the moon and Mars … Inferred ages for Martian Hesperian and Amazonian epochs are based on crater- densities of series (Table … and Hartmann et aL [1981] (Model 2). Because of obliteration of smaller Noachian craters, these models … Cited by 628 Related articles All 9 versions [PDF] researchgate.netCrater size-frequency distributions and a revised Martian relative chronologyNG Barlow - Icarus, 1988 - ElsevierA revised Martian relative chronology is determined which dates geologic units with respect to the end of the period of heavy bombardment. This analysis differs from previous studies by using Viking 1: 2M photomosaics to map all 25,826 craters⩾ 8km diameter which … Cited by 192 Related articles All 8 versions
Codebook for the project:
CRATER_ID Unique Identifier Data Type 2I-6I Crater ID for internal sue, based upon the region of the planet (1/16ths), the “pass” under which the crate was identified, ad the order in which it was identified. CRATER_NAME Data Type S Name of crater. LATITUDE_CIRCLE_IMAGE Data Type D Latitude from the derived center of a non-linear least-squares circle fit to the vertices selected to manually identify the crater rim (units are decimal degrees North). LONGITUDE_CIRCLE_IMAGE Data Type D Longitude from the derived center of a non-linear least-squares circle fit to the vertices selected to manually identify the crater rim (units are decimal degrees East). DIAM_CIRCLE_IMAGE Data Type D Diameter from a non-linear least squares circle fit to the vertices selected to manually identify the crater rim (units are km). DEPTH_RIMFLOOR_TOPOG Data Type D Average elevation of each of the manually determined N points along (or inside) the crater rim(units are km) (1) Depth Rim -Points are selected as relative topographic highs under the assumption they are the least eroded so most original points along the rim (2) Depth Floor Points were chosen as the lowest elevation that did not include visible embedded craters MORPHOLOGY_EJECTA_1 Data Type S Ejecta morphology classified. Examples below. o If there are multiple values, separated by a /, then the order is the inner-most ejecta through the outer-most, or the top-most through the bottom-most MORPHOLOGY_EJECTA_2 Data Type S The morphology of the layer(s) itself/themselves. This classification system is unique to this work. MORPHOLOGY_EJECTA_3 Data Type S Overall texture and/or shape of some of the layer(s)/ejecta that are generally unique and deserve separate morphological classification. NUMBER_LAYERS Data Type I The maximum number of cohesive layers in any azimuthal direction that could be reliably identified.
1 note
·
View note